/// <summary> /// 20141011 动态阻挡传送结算 /// </summary> /// <param name="sMsgFightTeleport_CSC"></param> public void BeTeleport(SMsgFightTeleport_CSC sMsgFightTeleport_CSC) { // 传送前先打断目标所有动作,将其置为站立状态,无视霸体和无敌 m_FSMSystem.PerformTransition(Transition.MonsterToIdle); ThisTransform.position = new Vector3(0.1f * sMsgFightTeleport_CSC.ptPosX, ThisTransform.position.y, -0.1f * sMsgFightTeleport_CSC.ptPosY); var euler = new Vector3(0.1f * sMsgFightTeleport_CSC.ptDirectX, 0, -0.1f * sMsgFightTeleport_CSC.ptDirectY); ThisTransform.rotation = Quaternion.Euler(euler); }
CommandCallbackType ReceiveFightTeleport(byte[] dataBuffer, int socketID) { //场景加载完成前不处理战斗结果消息(组队) if (!GameManager.Instance.CreateEntityIM) { return(CommandCallbackType.Continue); } SMsgFightTeleport_CSC sMsgFightTeleport_CSC = SMsgFightTeleport_CSC.ParseResultPackage(dataBuffer); RaiseEvent(EventTypeEnum.Teleport.ToString(), sMsgFightTeleport_CSC); return(CommandCallbackType.Continue); }
private void Teleport(long uid, Vector3 pos, Vector3 dir) { SMsgFightTeleport_CSC sMsgFightTeleport_CSC = new SMsgFightTeleport_CSC(); sMsgFightTeleport_CSC.uidFighter = uid; sMsgFightTeleport_CSC.ptPosX = pos.x * 10.0f; sMsgFightTeleport_CSC.ptPosY = pos.z * 10.0f; sMsgFightTeleport_CSC.ptDirectX = dir.x; sMsgFightTeleport_CSC.ptDirectY = dir.z; RaiseEvent(EventTypeEnum.Teleport.ToString(), sMsgFightTeleport_CSC); NetServiceManager.Instance.BattleService.SendFightTeleportCS(sMsgFightTeleport_CSC); }
public void SendFightTeleportCS(SMsgFightTeleport_CSC sMsgFightTeleport_CSC) { this.Request(sMsgFightTeleport_CSC.GeneratePackage()); }