public TDCSkillSlot(TDCEnum.EGameType skillType, TDCEntity owner)
 {
     m_GameManager = TDCGameManager.GetInstance();
     m_SkillData = m_GameManager.GetSkillData(skillType);
     m_SkillType = skillType;
     m_Owner = owner;
     m_TimeDelay = 0f;
     for (int i = 0; i < m_SkillData.TriggerEnvent.Length; i++)
     {
         m_Owner.AddEventListener(m_SkillData.TriggerEnvent[i], ActiveSkill);
     }
 }
 public static TDCSkillData Clone(TDCSkillData instance)
 {
     var tmp = new TDCSkillData();
     tmp.ID = instance.ID;
     tmp.Name = instance.Name;
     tmp.Description = instance.Description;
     tmp.Icon = instance.Icon;
     tmp.GameType = instance.GameType;
     tmp.SkillLevel = instance.SkillLevel;
     tmp.SkillType = instance.SkillType;
     tmp.CostHealthPoint = instance.CostHealthPoint;
     tmp.CostHeatPoint = instance.CostHeatPoint;
     tmp.CostSanityPoint = instance.CostHeatPoint;
     tmp.CostHungerPoint = instance.CostHungerPoint;
     tmp.TimeDelay = instance.TimeDelay;
     tmp.TimeEffect = instance.TimeEffect;
     tmp.EffectPerTime = instance.EffectPerTime;
     tmp.EffectRadius = instance.EffectRadius;
     tmp.EffectRange = instance.EffectRange;
     tmp.FSMPath = instance.FSMPath;
     tmp.EffectPath = instance.EffectPath;
     tmp.ModelPath = instance.ModelPath;
     tmp.AttachOwner = instance.AttachOwner;
     tmp.AttachEnemy = instance.AttachEnemy;
     tmp.TriggerEnvent = instance.TriggerEnvent;
     return tmp;
 }
 public TDCSkill(TDCBaseController ctrl, TDCBaseData data)
     : base(ctrl, data)
 {
     m_Controller = ctrl as TDCSkillController;
     m_Data = data as TDCSkillData;
 }
 public override void SetData(TDCBaseData data)
 {
     base.SetData (data);
     m_Data = data as TDCSkillData;
 }