//------------------------------------------------------------------------------------------------------- protected void updateInfo(bool enable = true) { if (mPlayer == null) { return; } mState = new List <PLAYER_STATE>(mPlayer.getStateMachine().getStateList().Keys); mActiveComponentList.Clear(); Dictionary <string, GameComponent> allComponent = mPlayer.getAllComponent(); foreach (var item in allComponent) { if (item.Value.isActive()) { mActiveComponentList.Add(item.Value.getType().ToString()); } } mCenterOfMass = mPlayer.getRigidBody().centerOfMass; mSpeed = mCharacterData.mSpeed; mCircle = mCharacterData.mCircle; mCurWayPoint = mCharacterData.mCurWayPoint; mRunDistance = mCharacterData.mRunDistance; mTotalDistance = mCharacterData.mTotalDistance; mProcessKey = mPlayer.getProcessKey(); mProcessTurn = mPlayer.getProcessTurn(); mProcessExternalSpeed = mPlayer.getProcessExternalSpeed(); CharacterSpeedHardware hardwareSpeed = mPlayer.getFirstActiveComponent <CharacterSpeedHardware>(); if (hardwareSpeed != null) { mTargetSpeed = hardwareSpeed.getTargetSpeed(); } mActivedAnimationStateList.Clear(); mAllAnimationStateList.Clear(); if (enable) { foreach (var item in mAnimation) { AnimationState state = item as AnimationState; string info = "|" + state.name + "| |"; info += (state.enabled ? "enabled" : "disabled") + "| |"; info += "len:" + StringUtility.floatToString(state.length, 2) + "| |"; info += "spd:" + StringUtility.floatToString(state.speed, 2) + "| |"; info += "time:" + StringUtility.floatToString(state.time, 2) + "| |"; info += "weight:" + StringUtility.floatToString(state.weight, 2) + "| |"; info += state.wrapMode + "|"; mAllAnimationStateList.Add(info); if (state.enabled) { mActivedAnimationStateList.Add(info); } } } }