public void Enter(CSkill pSkill) { m_pSkill = pSkill; if (pSkill.GetProto().ActID > 0 && m_CtrlSkelton != null) { ACTID eActID = (ACTID)pSkill.GetProto().ActID; m_CtrlSkelton.PlayTrack(eActID); } }
//-------------------------------------------------------------------------------- // 播放某个动作 事件 //-------------------------------------------------------------------------------- public IEnumerator ANIMEVENT_PLAYANIMATION(string path) { ACTID tempACTID = m_CtrlSkelton.m_nCurPlayActID; yield return(new WaitForSeconds(float.Parse(path.Split(',')[1]))); if (tempACTID == m_CtrlSkelton.m_nCurPlayActID) { m_CtrlSkelton.PlayTrack((ACTID)int.Parse(path.Split(',')[0])); } }
//-------------------------------------------------------------------------------- // 切换到空闲状态 //-------------------------------------------------------------------------------- public IEnumerator ANIMEVENT_CHANGETOIDEL(float time) { ACTID tempACTID = m_CtrlSkelton.m_nCurPlayActID; yield return(new WaitForSeconds(time)); if (tempACTID == m_CtrlSkelton.m_nCurPlayActID) { m_LocalFSM.Change2IdleBeHavior( ); } CFightTeamMgr.Instance.m_bActIsInCD = false; }
//-------------------------------------------------------------------------------- // 根据序号来播放动作 //-------------------------------------------------------------------------------- public void PlayTrack(ACTID _AnimNum) { m_nCurPlayActID = _AnimNum; string szTrack = m_mapName2ID [m_nCurPlayActID]; GetComponent <Animation>()[szTrack].speed = 1; GetComponent <Animation>().Play(szTrack); if (m_RunSpeed != 1 && m_nCurPlayActID == ACTID.ACT_Run) { GetComponent <Animation>()[szTrack].speed = m_RunSpeed; } }
//-------------------------------------------------------------------------------- // 初始化 //-------------------------------------------------------------------------------- IEnumerator Start() { m_mapActName = new string[] { "Run", "Idel", "ClimbUp", "Attack01", "Attack02", "Attack03", "Skill01", "Spurt", "Show", "Damage01", "Damage02", "Damage03", "Damage04", "Damage06", "Damage07", "Damage99" }; m_mapActID = new ACTID[] { ACTID.ACT_Run, ACTID.ACT_Idel, ACTID.ACT_ClimbUp, ACTID.ACT_DoubleHit01, ACTID.ACT_DoubleHit02, ACTID.ACT_DoubleHit03, ACTID.ACT_Skill01, ACTID.ACT_Skill02, ACTID.ACT_Skill03, ACTID.ACT_Damage01, ACTID.ACT_Damage02, ACTID.ACT_Damage03, ACTID.ACT_Damage04, ACTID.ACT_Damage05, ACTID.ACT_Damage06, ACTID.ACT_Dead }; m_mapName2ID = new Dictionary <ACTID, string>(); for (int i = 0; i < m_mapActName.Length; i++) { m_mapName2ID.Add(m_mapActID[i], m_mapActName[i]); } yield return(new WaitForSeconds(0.1f)); m_nCurPlayActID = ACTID.ACT_Idel; }