using UnityEngine; /////////////////////////////////////////////////////////////////////////// // // Class CECHPWorkSpell // /////////////////////////////////////////////////////////////////////////// public class CECHPWorkSpell : CECHPWork { public static class Spell_magic_state { public const int ST_INCANT = 0, ST_SPELL = 1; } public CECHPWorkSpell(CECHPWorkMan pWorkMan) : base(Host_work_ID.WORK_SPELLOBJECT, pWorkMan) { m_dwMask = Work_mask.MASK_SPELLOBJECT; m_dwTransMask = Work_mask.MASK_STAND | Work_mask.MASK_MOVETOPOS | Work_mask.MASK_TRACEOBJECT; Reset(); } public CECHPWorkSpell(int iWorkID, CECHPWorkMan pWorkMan) : base(iWorkID, pWorkMan) { } protected CECSkill m_pSkill; // Skill object protected CECCounter m_OverTimeCnt; // Over time counter protected int m_iState; protected int m_idTarget; // Target id // On first tick protected virtual void OnFirstTick() { //m_pHost.m_iMoveMode = CECHostPlayer::MOVE_STAND; } // Prepare cast public void PrepareCast(int idTarget, CECSkill pSkill, int iIncantTime) { } // Change state public void ChangeState(int iState) { } // Get state public int GetState() { return m_iState; } public CECSkill GetSkill() { return m_pSkill; } // Tick routine public virtual bool Tick(uint dwDeltaTime) { return false; } // Reset work public virtual void Reset() { } // Copy work data public virtual bool CopyData(CECHPWork pWork) { return false; } // Cancel work public virtual void Cancel() { } }