private void PlayerGameStateUpdate(PlayerStateUpdate state) { Logger.Debug("Sending Radio Update to Server"); var sideInfo = _clientStateSingleton.PlayerGameState; if (state.CoalitionOnly) { SendToServer(new NetworkMessage { Client = new SRClient { Coalition = sideInfo.coalition, Name = _clientStateSingleton.LastSeenName, ClientGuid = _guid }, MsgType = NetworkMessage.MessageType.UPDATE }); } else { SendToServer(new NetworkMessage { Client = new SRClient { Coalition = sideInfo.coalition, Name = _clientStateSingleton.LastSeenName, ClientGuid = _guid, GameState = _clientStateSingleton.PlayerGameState }, MsgType = NetworkMessage.MessageType.RADIO_UPDATE }); } }
public TestPeer(Socket s) : base(s) { m_rand = new Random(s.GetHashCode()); m_position = GetRandomTarget(); m_psu = new PlayerStateUpdate() { Rot = 0, Time = Environment.TickCount, VelX = 0, VelY = 0, X = Compression.PositionToUShort(m_position.X), Y = Compression.PositionToUShort(m_position.Y) }; }
private void Handle_PlayerStateUpdate(PlayerStateUpdate psu) { if (m_lastAbility.State == AbilityState.Casting && (psu.X != m_compressedX || psu.Y != m_compressedY)) { StopCasting(); } Rotation = psu.Rot; Position = new Vector2(Compression.UShortToPosition(psu.X), Compression.UShortToPosition(psu.Y)); Velocity = new Vector2(Compression.ShortToVelocity(psu.VelX), Compression.ShortToVelocity(psu.VelY)); TimeOnClient = psu.Time; TargetID = psu.TargetID; m_compressedVelX = psu.VelX; m_compressedVelY = psu.VelY; m_compressedX = psu.X; m_compressedY = psu.Y; }