动态变量,难以在标题中解释,抱歉

时间:2015-04-07 10:01:00

标签: c# unity3d

我想知道我怎么能得到一个字符串变量(CurrentWeapon),像一个类引用一样工作(不知道我怎么解释,因为我很像菜鸟,你可能理解)从中获取不同的类变量不同的类别取决于我选择的武器。以下脚本是我已存储武器的所有属性和统计数据的类。

 public class Stats_SMG : MonoBehaviour {
     public static string Name = "SMG";
     public static int Damage = 20;
     public static float FireRate = 0.3f;
     public static int Magazine = 25;
     public static int ReserveMagazines = 2;
 }

以下脚本是我如何“动态”访问我的武器统计类(假设我有多个上面的脚本,不同的名称和属性,以区别武器等)

public class Shooting : MonoBehaviour {

 Stats_SMG smg;
 Stats_AssaultRifle ar;

 public string CurrentWeapon;


 void Start() {
     CurrentWeapon = smg;
     Debug.Log (CurrentWeapon.Damage);
 }

以上只是我必须(希望)向您解释我所遇到的问题的快速示例。对不起,如果任何句子或单词拼写错误或奇怪,因为英语不是我的第一语言。

1 个答案:

答案 0 :(得分:1)

我要做的就是我的武器会分配带有统计数据的脚本来执行:

public class Shooting : MonoBehaviour {

public Weapon currentWeapon;


void Start() {
    currentWeapon = smg; // Get somehow the currentWeapon object
    WeaponStats stats = currentWeapon.GetComponent<WeaponStats>();
    Debug.Log (stats.Damage);
}