public override void OnInspectorGUI()
 {
     base.OnInspectorGUI();
     if (GUILayout.Button("Reset name."))
     {
         SO_BattleUnitAttribute instance = (SO_BattleUnitAttribute)target;
         instance.battleUnitName = instance.name;
     }
 }
        public BattleUnit Create(SO_BattleUnitAttribute battleUnitAttribute)
        {
            BattleUnit battleUnit = Create();

            battleUnit.battleUnitAttribute   = GameObject.Instantiate <SO_BattleUnitAttribute>(battleUnitAttribute);
            battleUnit.battleBehaviourSystem = GameObject.Instantiate <BattleBehaviourSystem.BattleBehaviourSystem>(battleUnitAttribute.battleBehaviourSystem);
            battleUnit.battleUnitAttribute.RandomAttributes();
            battleUnit.battleUnitAttribute.Reset();

            return(battleUnit);
        }
        public BattleUnit CreateUnit(SO_BattleUnitAttribute battleUnitAttribute)
        {
            BattleUnit data = null;
            int        id   = 0;

            base.Create(out data, out id);
            if (data != null)
            {
                data.battleUnitID = id;
                //设置属性
                data.battleUnitAttribute = GameObject.Instantiate <SO_BattleUnitAttribute>(battleUnitAttribute);;
            }

            return(data);
        }
        public BattleUnit Create(SO_BattleUnitAttribute battleUnitAttribute)
        {
            BattleUnit battleUnit = Create();

            battleUnit.battleUnitAttribute = GameObject.Instantiate <SO_BattleUnitAttribute>(battleUnitAttribute);
            battleUnit.battleUnitAttribute.hostBattleUnit = battleUnit;
            if (!battleUnit.battleUnitAttribute.manualOperation)
            {
                battleUnit.battleBehaviourSystem = GameObject.Instantiate <BattleBehaviourSystem.BattleBehaviourSystem>(battleUnitAttribute.battleBehaviourSystem);
            }
            battleUnit.battleUnitAttribute.RandomAttributes();
            battleUnit.battleUnitAttribute.Reset();

            return(battleUnit);
        }