我最近有一篇关于序列化问题的帖子,我认为事实证明我确实知道如何序列化,但我正在尝试序列化的信息存在无关的问题。
public GuardA () { //I have also tried void Awake() and void Start() to no avail
profile = new StandardPlayerParadigm ();
job = new Mercenary ();
type = new GuardPrototype ();
//decl the stats
profile.Name = "Guard A";
profile.stdType = type.stdType; //Which child of StandardType?
profile.Profession = job.Job; //Class
profile.ProfessionDescription = job.JobDescription; //ClassDescription
profile.Level = 1;
profile.Health = type.Health;
profile.Mana = type.Mana;
profile.TP = type.TP;
profile.Attack = type.Attack;
profile.Defense = type.Defense;
profile.MagicAttack = type.MagicAttack;
profile.MagicDefense = type.MagicDefense;
profile.Critical = type.Critical;
profile.Dexterity = type.Dexterity;
profile.HitRate = type.HitRate;
}
具体来说,以上。
这是在this gist找到的更大Guard.cs代码的一部分。
它与所有从父类继承信息的3个脚本进行交互,但您需要知道的只是一个控件统计信息并且应该分配它们,另一个应该给出专业名称和它的描述。
StandardPlayerParadigm是应该合并角色应该使用的所有变量的脚本。因此,当试图将变量OF赋值为一个值时,我正在尝试使用Mercenary职业和GuardPrototype来做到这一点。
但是在检查员中,Unity告诉我这一切都没有通过,一切都是空值或0适用。
我知道信息在那里,因为当将Mercenary变量和GuardPrototype变量设为public而不是private时,Inspector会显示我想要的值。
所以TL; DR,我的值没有分配给我想要的变量。
为什么不分配这个?为了做到这一点,我需要做些什么,是否有任何我应该知道的关于这种事情的事情(例如,像我一样容易陷入困境,或者我只是做了一个哑巴)?< / p>
如果我需要澄清,请告诉我。