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>(); }
void Start() { mAnima = GetComponent <NFAnimatStateController>(); mBodyIdent = GetComponent <NFBodyIdent>(); mAnimaStateMachine = GetComponent <NFAnimaStateMachine>(); mHeroInput = GetComponent <NFHeroInput>(); mHeroSync = GetComponent <NFHeroSync>(); mxGUID = mBodyIdent.GetObjectID(); moveDirection = new Vector3(); mKernelModule.RegisterPropertyCallback(mxGUID, NFrame.Player.MOVE_SPEED, PropertyEventHandler); }
private void EGMI_ACK_MOVE_IMMUNE(int id, MemoryStream stream) { Debug.Log("EGMI_ACK_MOVE_IMMUNE " + Time.time); NFMsg.MsgBase xMsg = NFMsg.MsgBase.Parser.ParseFrom(stream); NFMsg.ReqAckPlayerPosSync xData = NFMsg.ReqAckPlayerPosSync.Parser.ParseFrom(xMsg.MsgData); if (xData.SyncUnit.Count <= 0) { return; } for (int i = 0; i < xData.SyncUnit.Count; ++i) { NFMsg.PosSyncUnit posSync = xData.SyncUnit[i]; NFGUID xMover = mHelpModule.PBToNF(posSync.Mover); if (xMover.IsNull()) { return; } GameObject xGameObject = mSceneModule.GetObject(xMover); if (!xGameObject) { return; } NFHeroSync xHeroSync = xGameObject.GetComponent <NFHeroSync>(); if (!xHeroSync) { return; } //TODO //GC---------- /* * UnityEngine.Vector3 v = new UnityEngine.Vector3(); * v.x = vector.X; * v.y = vector.Y; * v.z = vector.Z; */ //xHeroSync.AddSyncData(v); //float fSpeed = mKernelModule.QueryPropertyInt(xMover, NFrame.NPC.MOVE_SPEED) / 100.0f; //fSpeed *= 1.5f; //mSceneModule.MoveImmuneBySpeed(PBToNF(xData.mover), new Vector3(xData.target_pos[0].x, xData.target_pos[0].y, xData.target_pos[0].z), fSpeed, true); } }
public override void Enter(GameObject gameObject, int index) { xBodyIdent = gameObject.GetComponent <NFBodyIdent>(); xHeroMotor = gameObject.GetComponent <NFHeroMotor>(); xHeroSync = gameObject.GetComponent <NFHeroSync>(); base.Enter(gameObject, index); if (mStateMachine.IsMainRole()) { //xHeroSync.SendSyncMessage(); } //看是否还按住移动选项,如果按住,则继续walk if (!xHeroMotor.isOnGround) { mAnimatStateController.PlayAnimaState(NFAnimaStateType.Fall, -1); } }
private void EGMI_ACK_POS_SYNC(int id, MemoryStream stream) { NFMsg.MsgBase xMsg = NFMsg.MsgBase.Parser.ParseFrom(stream); NFMsg.ReqAckPlayerPosSync xData = NFMsg.ReqAckPlayerPosSync.Parser.ParseFrom(xMsg.MsgData); NFGUID xMover = mHelpModule.PBToNF(xData.Mover); if (xMover.IsNull()) { Debug.LogError("xMover " + Time.time); return; } if (xMover == mLoginModule.mRoleID) { return; } GameObject xGameObject = mSceneModule.GetObject(xMover); if (!xGameObject) { Debug.LogError("xGameObject " + Time.time); return; } NFHeroSync xHeroSync = xGameObject.GetComponent <NFHeroSync>(); if (!xHeroSync) { Debug.LogError("xHeroSync " + Time.time); return; } xHeroSync.AddSyncData(xData); }
private void EGMI_ACK_SKILL_OBJECTX(int id, MemoryStream stream) { NFMsg.MsgBase xMsg = NFMsg.MsgBase.Parser.ParseFrom(stream); NFMsg.ReqAckUseSkill xData = NFMsg.ReqAckUseSkill.Parser.ParseFrom(xMsg.MsgData); NFGUID xUser = mHelpModule.PBToNF(xData.User); GameObject xGameObject = mSceneModule.GetObject(xUser); if (xGameObject) { NFHeroSync xHeroSync = xGameObject.GetComponent <NFHeroSync>(); if (!xHeroSync) { Debug.LogError("xHeroSync " + Time.time); return; } //xHeroSync.Clear(); //NFHeroSkill xHeroSkill = xGameObject.GetComponent<NFHeroSkill>(); //xHeroSkill.AckSkill(xUser, xData.UseIndex, xData.SkillId.ToStringUtf8(), xData.EffectData.ToList<NFMsg.EffectData>()); } }
////////////////////////////////// /// private void EGMI_ACK_MOVE(int id, MemoryStream stream) { Debug.Log("Move " + Time.time); NFMsg.MsgBase xMsg = NFMsg.MsgBase.Parser.ParseFrom(stream); NFMsg.ReqAckPlayerPosSync xData = NFMsg.ReqAckPlayerPosSync.Parser.ParseFrom(xMsg.MsgData); if (xData.SyncUnit.Count <= 0) { return; } for (int i = 0; i < xData.SyncUnit.Count; ++i) { NFMsg.PosSyncUnit syncUnit = xData.SyncUnit[i]; NFGUID xMover = mHelpModule.PBToNF(syncUnit.Mover); if (xMover.IsNull()) { Debug.LogError("xMover " + Time.time); return; } if (xMover == mLoginModule.mRoleID && syncUnit.Type == PosSyncUnit.Types.EMoveType.EmtWalk) { //平常自己行走不需要同步 return; } GameObject xGameObject = mSceneModule.GetObject(xMover); if (!xGameObject) { Debug.LogError("xGameObject " + Time.time); return; } NFHeroMotor xHeroMotor = xGameObject.GetComponent <NFHeroMotor>(); if (!xHeroMotor) { Debug.LogError("xHeroSync " + Time.time); return; } NFHeroSync xHeroSync = xGameObject.GetComponent <NFHeroSync>(); if (!xHeroSync) { Debug.LogError("xHeroSync " + Time.time); return; } UnityEngine.Vector3 v = new UnityEngine.Vector3(); v.x = syncUnit.Pos.X; v.y = syncUnit.Pos.Y; v.z = syncUnit.Pos.Z; if (syncUnit.Type == PosSyncUnit.Types.EMoveType.EmtWalk) { xHeroSync.AddSyncData(xData.Sequence, syncUnit); } else if (syncUnit.Type == PosSyncUnit.Types.EMoveType.EetSpeedy) { xHeroMotor.MoveToImmune(v, 0.1f); } else if (syncUnit.Type == PosSyncUnit.Types.EMoveType.EetTeleport) { xHeroMotor.MoveToImmune(v, 0.001f); } } }