public void ChangeState(NFAnimaStateType eState, int index, NFStateData data = null) { if (mCurrentState == eState) { return; } if (mCurrentState != NFAnimaStateType.NONE && mStateDictionary.ContainsKey(mCurrentState)) { mStateDictionary[mCurrentState].Exit(this.gameObject); } if (mStateDictionary.ContainsKey(eState)) { mLastState = mCurrentState; mCurrentState = eState; mStateDictionary[mCurrentState].xStateData = data; mStateDictionary[mCurrentState].Enter(this.gameObject, index); } else { Debug.LogError("ChangeState to " + mCurrentState + " from " + mLastState); } }
public NFFallState(GameObject gameObject, NFAnimaStateType eState, NFAnimaStateMachine xStateMachine, float fHeartBeatTime, float fExitTime, bool input = false) : base(gameObject, eState, xStateMachine, fHeartBeatTime, fExitTime, input) { xHeroMotor = gameObject.GetComponent <NFHeroMotor>(); mLoginModule = NFPluginManager.Instance().FindModule <NFLoginModule>(); mSceneModule = NFPluginManager.Instance().FindModule <NFSceneModule>(); }
private void Update() { if (mxBodyIdent && mxBodyIdent.GetObjectID() != mLoginModule.mRoleID) { NFHeroSyncBuffer.Keyframe keyframe = mxSyncBuffer.NextKeyframe(); if (keyframe != null) { NFAnimaStateType type = (NFrame.NFAnimaStateType)keyframe.status; switch (type) { case NFAnimaStateType.Run: case NFAnimaStateType.Idle: if (keyframe.Position != Vector3.zero) { mxHeroMotor.MoveTo(keyframe.Position, MeetGoalCallBack); } break; case NFAnimaStateType.Stun: mAnimatStateController.PlayAnimaState(NFAnimaStateType.Stun, 0); break; default: break; } } } }
/// <summary> /// 非预览播放状态下,通过滑杆来播放当前动画帧 /// </summary> private void manualUpdate(NFAnimaStateType stateType, float time) { if (mAnimator != null && stateType != NFAnimaStateType.NONE) { mAnimator.PlayInFixedTime(stateType.ToString(), -1, time); mAnimator.Update(0f); } }
public NFNormalSkill5(GameObject gameObject, NFAnimaStateType eState, NFAnimaStateMachine xStateMachine, float fHeartBeatTime, float fExitTime, bool input = false) : base(gameObject, eState, xStateMachine, fHeartBeatTime, fExitTime, input) { xBodyIdent = gameObject.GetComponent <NFBodyIdent>(); xInput = gameObject.GetComponent <NFHeroInput>(); xHeroMotor = gameObject.GetComponent <NFHeroMotor>(); xHeroSync = gameObject.GetComponent <NFHeroSync>(); }
public void OnDamageEvent(GameObject self, GameObject target, NFAnimaStateType eAnimaType, int index) { //Debug.Log("On Damage " + self.ToString() + " " + target.ToString() + " " + index.ToString()); for (int i = 0; i < OnDamageAnimaList.Count; ++i) { OnDamageAnimaList[i](self, target, eAnimaType, index); } }
public NFIdleState(GameObject gameObject, NFAnimaStateType eState, NFAnimaStateMachine xStateMachine, float fHeartBeatTime, float fExitTime, bool input = false) : base(gameObject, eState, xStateMachine, fHeartBeatTime, fExitTime, input) { NFIPluginManager pluginManager = NFRoot.Instance().GetPluginManager(); mKernelModule = pluginManager.FindModule <NFIKernelModule>(); mLoginModule = NFRoot.Instance().GetPluginManager().FindModule <NFLoginModule>(); mSceneModule = NFRoot.Instance().GetPluginManager().FindModule <NFSceneModule>(); }
public void OnBulletTouchPositionEvent(GameObject self, Vector3 position, NFAnimaStateType eAnimaType, int index) { Debug.Log("TouchPosition " + index); for (int i = 0; i < OnBulletTouchPositionList.Count; ++i) { OnBulletTouchPositionList[i](self, position, eAnimaType, index); } }
public void OnBulletTouchTargetEvent(GameObject self, GameObject target, NFAnimaStateType eAnimaType, int index) { Debug.Log("TouchTarget " + index); for (int i = 0; i < OnBulletTouchTargetAnimaList.Count; ++i) { OnBulletTouchTargetAnimaList[i](self, target, eAnimaType, index); } }
public void OnEndAnimaEvent(GameObject self, NFAnimaStateType eAnimaType, int index) { //Debug.Log("End Anima " + eAnimaType.ToString() + " " + index.ToString()); for (int i = 0; i < OnEndAnimaList.Count; ++i) { OnEndAnimaList[i](self, eAnimaType, index); } }
public void InputStateData(NFAnimaStateType eNewState, NFAnimaStateType eLastState, float fSpeed, int nTime, Vector3 vNowPos, Vector3 vTargetPos, Vector3 vMoveDirection) { if (IsMainRole()) { return; } //Debug.Log ("In SyncData: " + id.ToString() + eNewState.ToString() + " TargetPos: " + vTargetPos.x + "," + vTargetPos.y+ "," + vTargetPos.z ); NFStateData data = new NFStateData(); data.vTargetPos = vTargetPos; data.fSpeed = fSpeed; data.xMoveDirection = vMoveDirection; }
public NFIState(GameObject gameObject, NFAnimaStateType eState, NFAnimaStateMachine xStateMachine, float fHeartBeatTime, float fExitTime, bool input) { mGameObject = gameObject; meState = eState; mfExitTime = fExitTime; mfHeartBeatTime = fHeartBeatTime; mStateMachine = xStateMachine; mfEnterTime = Time.time; mbInput = input; mAnimatStateController = gameObject.GetComponent <NFAnimatStateController>(); mRenderObject = gameObject.GetComponent <NFBodyIdent>().xRenderObject.gameObject; mHeroMotor = gameObject.GetComponent <NFHeroMotor>(); mHeroInput = gameObject.GetComponent <NFHeroInput>(); }
private void FixedUpdate() { if (mxBodyIdent && mxBodyIdent.GetObjectID() != mLoginModule.mRoleID) { NFHeroSyncBuffer.Keyframe keyframe; if (mxSyncBuffer.Size() > 1) { keyframe = mxSyncBuffer.LastKeyframe(); mxHeroMotor.walkSpeed *= mxSyncBuffer.Size(); mxHeroMotor.runSpeed *= mxSyncBuffer.Size(); } else { keyframe = mxSyncBuffer.NextKeyframe(); mxHeroMotor.walkSpeed = mKernelModule.QueryPropertyInt(mLoginModule.mRoleID, NFrame.Player.MOVE_SPEED) / 100; mxHeroMotor.runSpeed = mKernelModule.QueryPropertyInt(mLoginModule.mRoleID, NFrame.Player.MOVE_SPEED) / 100; } if (keyframe != null) { NFAnimaStateType type = (NFrame.NFAnimaStateType)keyframe.status; switch (type) { case NFAnimaStateType.Run: case NFAnimaStateType.Idle: if (keyframe.Position != Vector3.zero) { mxHeroMotor.MoveTo(keyframe.Position, true, MeetGoalCallBack); } break; case NFAnimaStateType.Stun: mAnimatStateController.PlayAnimaState(NFAnimaStateType.Stun, 0); break; default: break; } } } }
private void Update() { if (mxBodyIdent && mxBodyIdent.GetObjectID() != mLoginModule.mRoleID) { NFHeroSyncBuffer.Keyframe keyframe = mxSyncBuffer.NextKeyframe(); if (keyframe != null) { NFAnimaStateType type = (NFrame.NFAnimaStateType)keyframe.status; switch (type) { case NFAnimaStateType.Run: case NFAnimaStateType.Idle: mxHeroMotor.MoveTo(keyframe.Position); break; default: break; } } } }
public int PlayAnimaState(NFAnimaStateType eAnimaType, Vector3 v) { if (meLastPlayID == eAnimaType) { return(-1); } mxAnimationEvent.OnEndAnimaEvent(this.gameObject, meLastPlayID, mnSkillIndex); mnSkillIndex++; mxAnimationEvent.OnStartAnimaEvent(this.gameObject, eAnimaType, mnSkillIndex); for (int i = 0; i < mxSkillData.AnimationSkillList.Count; ++i) { AnimationSkillStruct xAnimationSkillStruct = mxSkillData.AnimationSkillList [i]; if (xAnimationSkillStruct.Type == eAnimaType) { if (xAnimationSkillStruct.AnimationClip != null) { mAnimator.Play(eAnimaType.ToString(), 0); } else { UnityEditor.EditorUtility.DisplayDialog("Warning", "The AnimationClip is null!", "OK", "Cancel"); } foreach (EffectStruct es in xAnimationSkillStruct.EffectStructList) { if (es.Effect != null) { es.index = mnSkillIndex; StartCoroutine(WaitPlayEffect(es)); } } foreach (AudioStruct es in xAnimationSkillStruct.AudioStructList) { if (es.Audio != null) { es.index = mnSkillIndex; StartCoroutine(WaitPlayAudio(es)); } } foreach (BulletStruct es in xAnimationSkillStruct.BulletStructList) { if (es.Bullet != null) { es.index = mnSkillIndex; StartCoroutine(WaitPlayBullet(es, v)); } } foreach (MovementStruct es in xAnimationSkillStruct.MovementStructList) { es.index = mnSkillIndex; StartCoroutine(WaitPlayMovement(es)); } if (xAnimationSkillStruct.BulletStructList.Count <= 0) { foreach (DamageStruct es in xAnimationSkillStruct.DamageStructList) { es.index = mnSkillIndex; StartCoroutine(WaitPlayDamage(es)); } } foreach (CameraStruct es in xAnimationSkillStruct.CameraStructList) { es.index = mnSkillIndex; StartCoroutine(WaitPlayCamera(es)); } meLastPlayID = eAnimaType; //get time if (eAnimaType != NFAnimaStateType.Idle) { StartCoroutine(WaitPlayNextAnim(xAnimationSkillStruct.fTime, xAnimationSkillStruct.NextType)); } } } return(mnSkillIndex); }
public void OnBulletTouchTargetDelegation(GameObject self, GameObject target, NFAnimaStateType eAnimaType, int index) { //show damage Debug.Log("show damage --- " + target.name + " " + eAnimaType.ToString() + " " + index.ToString()); }
public void OnEndAnimaEvent(GameObject self, NFAnimaStateType eAnimaType, int index) { Debug.Log("End Anima " + eAnimaType.ToString() + " " + index.ToString()); }
private void FixedUpdate() { ReportPos(); if (mxBodyIdent && mxBodyIdent.GetObjectID() != mLoginModule.mRoleID) { NFHeroSyncBuffer.Keyframe keyframe; if (mxSyncBuffer.Size() > 1) { keyframe = mxSyncBuffer.LastKeyframe(); } else { keyframe = mxSyncBuffer.NextKeyframe(); } if (keyframe != null) { mxHeroMotor.walkSpeed = moveSpeed; mxHeroMotor.runSpeed = moveSpeed; float dis = Vector3.Distance(keyframe.Position, mxHeroMotor.transform.position); if (dis > 1f) { mxHeroMotor.walkSpeed = dis / SYNC_TIME; mxHeroMotor.runSpeed = dis / SYNC_TIME; } lastInterpolationTime = keyframe.InterpolationTime; NFAnimaStateType stateType = (NFrame.NFAnimaStateType)keyframe.status; switch (stateType) { case NFAnimaStateType.Run: if (keyframe.Position != Vector3.zero) { mxHeroMotor.MoveTo(keyframe.Position, true, MeetGoalCallBack); } break; case NFAnimaStateType.Idle: if (UnityEngine.Vector3.Distance(keyframe.Position, mxHeroMotor.transform.position) > 0.1f) { mxHeroMotor.MoveTo(keyframe.Position, true, MeetGoalCallBack); } else { mxHeroMotor.Stop(); } break; case NFAnimaStateType.Stun: mAnimatStateController.PlayAnimaState(NFAnimaStateType.Stun, 0); break; case NFAnimaStateType.NONE: mxHeroMotor.transform.position = keyframe.Position; break; default: break; } } } }
public void OnBulletTouchPositionDelegation(GameObject self, Vector3 position, NFAnimaStateType eAnimaType, int index) { //show damage Debug.Log("show damage --- " + position.ToString() + " " + eAnimaType.ToString() + " " + index.ToString()); }
//the use should pass a position when the bullet need a pos public int PlayAnimaState(NFAnimaStateType eAnimaType) { return(PlayAnimaState(eAnimaType, Vector3.zero)); }
public void AddState(NFAnimaStateType eState, NFIState xState) { mStateDictionary[eState] = xState; }
public NFIState GetState(NFAnimaStateType eState) { return(mStateDictionary[eState]); }
public NFDeadState(GameObject gameObject, NFAnimaStateType eState, NFAnimaStateMachine xStateMachine, float fHeartBeatTime, float fExitTime, bool input = false) : base(gameObject, eState, xStateMachine, fHeartBeatTime, fExitTime, input) { mUIModule = NFRoot.Instance().GetPluginManager().FindModule <NFUIModule>(); }
public void OutputStateData(NFAnimaStateType eNewState, float fSpeed, Vector3 vNowPos, Vector3 vTargetPos, Vector3 vMoveDirection) { }
public NFDashForwardState(GameObject gameObject, NFAnimaStateType eState, NFAnimaStateMachine xStateMachine, float fHeartBeatTime, float fExitTime, bool input = false) : base(gameObject, eState, xStateMachine, fHeartBeatTime, fExitTime, input) { xHeroMotor = gameObject.GetComponent <NFHeroMotor>(); }
public void OnDamageDelegation(GameObject self, GameObject target, NFAnimaStateType eAnimaType, int index) { //float damage = Random.Range(900000f, 1100000f); //NFPrefabManager.Instance.textManager.Add(damage.ToStringScientific(), target.transform); Debug.Log("show damage --- " + target.ToString() + " " + eAnimaType.ToString() + " " + index.ToString()); }
public void OnStartAnimaDelegation(GameObject self, NFAnimaStateType eAnimaType, int index) { ChangeState(eAnimaType, index); }
IEnumerator WaitPlayNextAnim(float time, NFAnimaStateType nextType) { yield return(new WaitForSeconds(time)); PlayAnimaState(nextType); }
public NFBlockState(GameObject gameObject, NFAnimaStateType eState, NFAnimaStateMachine xStateMachine, float fHeartBeatTime, float fExitTime, bool input = false) : base(gameObject, eState, xStateMachine, fHeartBeatTime, fExitTime, input) { }
public void OnEndAnimaDelegation(GameObject self, NFAnimaStateType eAnimaType, int index) { }