internal void Init(SceneContextInfo context, int id, int objId, float faceDir) { m_SceneContext = context; m_CurTotalTime = 0; m_Id = id; m_LastTime = TimeUtility.GetLocalMilliseconds(); m_FaceDir = faceDir; m_ObjId = objId; CharacterInfo info = m_SceneContext.GetCharacterInfoById(m_ObjId); if (null != info) { float curFaceDir = info.GetMovementStateInfo().GetFaceDir(); m_DeltaDir = ((faceDir + c_2PI) - curFaceDir) % c_2PI; if (m_DeltaDir > c_PI) { m_DeltaDir -= c_2PI; m_TotalTime = -m_DeltaDir * c_TimePerRadian; } else { m_TotalTime = m_DeltaDir * c_TimePerRadian; } } else { m_TotalTime = 0; m_DeltaDir = 0; } //LogSystem.Debug("FaceController {0}, obj:{1}, faceDir:{2} deltaDir:{3} totalTime:{4} isTerminated:{5}", id, objId, faceDir, m_DeltaDir, m_TotalTime, m_IsTerminated); }
public void SetSceneContext(SceneContextInfo context) { m_SceneContext = context; }