public TDCCreature(TDCBaseController ctrl, TDCBaseData data)
        : base(ctrl, data)
    {
        m_Controller = ctrl as TDCCreatureController;
        m_Data = data as TDCCreatureData;

        m_SkillSlotComponent = new TDCSkillSlotComponent(this);
        m_SkillSlotComponent.CreateActiveSkillSlot(m_Data.ActiveSkill);
    }
 public override void SetData(TDCBaseData data)
 {
     base.SetData (data);
     m_Data = data as TDCCreatureData;
 }
 public static TDCCreatureData Clone(TDCCreatureData instance)
 {
     var tmp = new TDCCreatureData ();
     tmp.ID = instance.ID;
     tmp.Name = instance.Name;
     tmp.GameType = instance.GameType;
     tmp.CreatureType = instance.CreatureType;
     tmp.Description = instance.Description;
     tmp.ModelPath = instance.ModelPath;
     tmp.FSMPath = instance.FSMPath;
     tmp.Damage = instance.Damage;
     tmp.MoveSpeed = instance.MoveSpeed;
     tmp.CurrentHP = instance.CurrentHP;
     tmp.MaxHP = instance.MaxHP;
     tmp.CurrentHeatPoint = instance.CurrentHeatPoint;
     tmp.MaxHeatPoint = instance.MaxHeatPoint;
     tmp.DetectRange = instance.DetectRange;
     tmp.AttackRange = instance.AttackRange;
     tmp.ActiveSkill = instance.ActiveSkill;
     tmp.PassiveSkill = instance.PassiveSkill;
     tmp.TypeEnemies = instance.TypeEnemies;
     tmp.TypeFoods = instance.TypeFoods;
     tmp.Inventory = instance.Inventory;
     tmp.Icon = instance.Icon;
     tmp.IsShine = instance.IsShine;
     return tmp;
 }