Example #1
0
    public void ChangeAction(int nSetID, float fSpeed, bool bLoop, float fFuseParam)
    {
        string lpszCharActionName = "";

        if (GetRenderInterface() != null)
        {
            lpszCharActionName = GetCharActionNameByActionSetID(nSetID);
            if (lpszCharActionName == null || lpszCharActionName.Length == 0)
            {
                return;
            }
        }

        m_nCurrentAnimationIndex = nSetID;

        if (GetRenderInterface() != null)
        {
            GetRenderInterface().EnterSkill(true, lpszCharActionName, bLoop, fFuseParam);
            GetRenderInterface().ChangeActionRate(fSpeed);
        }

        int i;

        for (i = 0; i < m_nPassengerCount; i++)
        {
            if (m_abPassengerAttacheds[i])
            {
                CObject_Character pObj = CObjectManager.Instance.FindServerObject((int)m_anPassengerIDs[i]) as CObject_Character;
                if (pObj != null && pObj.GetRenderInterface() != null)
                {
                    //pObj->Bus_ChangeAction(nSetID, fSpeed, bLoop, fFuseParam);
                    pObj.ChangeAction(nSetID, fSpeed, bLoop, fFuseParam);
                }
            }
        }
    }