public override void DoBeforeLeaving() { Vector3 _Temporary_LeavePoint = this.m_MonsterBehaviour.ThisTransform.position; float distance = Vector3.Distance(_Temporary_EnterPoint, _Temporary_LeavePoint); //TraceUtil.Log("击退结算 : " + distance); if (!DoNotSendBeatEnd) { if (GameManager.Instance.CurrentGameMode == GameMode.SINGLE_PLAYER) { SMsgBeatBackContextNum_CS sMsgBeatBackContextNum_CS = new SMsgBeatBackContextNum_CS(); sMsgBeatBackContextNum_CS.byContextNum = 1; sMsgBeatBackContextNum_CS.list = new System.Collections.Generic.List <SMsgFightBeatBack_CS>(); SMsgFightBeatBack_CS sMsgFightBeatBack_CS = new SMsgFightBeatBack_CS(); sMsgFightBeatBack_CS.uidFighter = m_MonsterBehaviour.RoleDataModel.SMsg_Header.uidEntity; sMsgFightBeatBack_CS.byType = 0; sMsgFightBeatBack_CS.hitedPosX = m_MonsterBehaviour.ThisTransform.position.x * 10.0f; sMsgFightBeatBack_CS.hitedPosY = -m_MonsterBehaviour.ThisTransform.position.z * 10.0f; sMsgBeatBackContextNum_CS.list.Add(sMsgFightBeatBack_CS); NetServiceManager.Instance.BattleService.SendFightBeatBackCS(sMsgBeatBackContextNum_CS); } } base.DoBeforeLeaving(); }
private void BeatBack(long uid, Vector3 pos, Vector3 dir) { SMsgBattleBeatBack_SC sMsgBattleBeatBack_SC = new SMsgBattleBeatBack_SC(); sMsgBattleBeatBack_SC.uidFighter = uid; sMsgBattleBeatBack_SC.PosX = pos.x * 10.0f; sMsgBattleBeatBack_SC.PosY = -pos.z * 10.0f; sMsgBattleBeatBack_SC.DirX = dir.x; sMsgBattleBeatBack_SC.DirY = -dir.z; sMsgBattleBeatBack_SC.speed = (int)(m_impactData.m_beatBackSpeed * 10.0f); sMsgBattleBeatBack_SC.Accelerated = (int)(m_impactData.m_beatBackAcceleration * 10.0f); sMsgBattleBeatBack_SC.time = (int)(m_impactData.m_beatBackDuration); RaiseEvent(EventTypeEnum.BeatBack.ToString(), sMsgBattleBeatBack_SC); //send to server SMsgFightBeatBack_CS sMsgFightBeatBack_CS = new SMsgFightBeatBack_CS(); sMsgFightBeatBack_CS.uidFighter = uid; sMsgFightBeatBack_CS.byType = 1; sMsgFightBeatBack_CS.hitedPosX = pos.x * 10.0f; sMsgFightBeatBack_CS.hitedPosY = -pos.z * 10.0f; //NetServiceManager.Instance.BattleService.SendFightBeatBackCS(sMsgFightBeatBack_CS); beatBackList.Add(sMsgFightBeatBack_CS); }
public override void DoBeforeLeaving() { if (GameManager.Instance.CurrentGameMode == GameMode.SINGLE_PLAYER) { SMsgBeatBackContextNum_CS sMsgBeatBackContextNum_CS = new SMsgBeatBackContextNum_CS(); sMsgBeatBackContextNum_CS.byContextNum = 1; sMsgBeatBackContextNum_CS.list = new List <SMsgFightBeatBack_CS>(); SMsgFightBeatBack_CS sMsgFightBeatBack_CS = new SMsgFightBeatBack_CS(); sMsgFightBeatBack_CS.uidFighter = m_PlayerBehaviour.RoleDataModel.SMsg_Header.uidEntity; sMsgFightBeatBack_CS.byType = 0; sMsgFightBeatBack_CS.hitedPosX = m_PlayerBehaviour.ThisTransform.position.x * 10.0f; sMsgFightBeatBack_CS.hitedPosY = -m_PlayerBehaviour.ThisTransform.position.z * 10.0f; sMsgBeatBackContextNum_CS.list.Add(sMsgFightBeatBack_CS); NetServiceManager.Instance.BattleService.SendFightBeatBackCS(sMsgBeatBackContextNum_CS); } base.DoBeforeLeaving(); }