public void Simulate(uint tickIndex) { if (_client.IsConnected) { bool up = Input.GetKey(KeyCode.W); bool right = Input.GetKey(KeyCode.D); bool down = Input.GetKey(KeyCode.S); bool left = Input.GetKey(KeyCode.A); bool space = Input.GetKeyDown(KeyCode.Space); if (up || right || down || left || space) { Vector3 input = GetMovement(up, right, down, left); HandleInputHistory(input); var inputMessage = new PlayerInputMessage(_client.LocalPlayerId, input, space); _client.SendMessage(inputMessage); if (_localPlayer == null) { _localPlayer = _playerRegistry.GetControlledPlayerById(_client.LocalPlayerId); } _localPlayer.BufferInput(new InputData(input, tickIndex)); } else { HandleInputHistory(Vector3.zero); } } }
public ControlledPlayer RegisterPlayer(ControlledPlayer player, int id) { Players.Add(player); ControlledPlayers.Add(player); player.PlayerId = id; return(player); }
public override void Handle(PlayerInputMessage message) { ControlledPlayer player = _playerRegistry.GetControlledPlayerById(message.PlayerId); player.BufferInput(new InputData(message.movement, message.TickIndex)); if (message.kick) { _ballKick.EnqueueInput(new BallKick.InputData(message.TickIndex, player.transform)); } }
public void Simulate(uint tickIndex) { if (_client.IsConnected) { if (_localPlayer == null) { _localPlayer = _playerRegistry.GetControlledPlayerById(_client.LocalPlayerId); } SavePositionHistory(_localPlayer.transform.position); } }
/// <summary> /// Adds a Player from an IController to the match. /// </summary> /// <param name="controller"></param> /// <returns></returns> public Player PlayerCreate(ControllerSkeleton skeleton) { ControlledPlayer newPlayer = new ControlledPlayer(this, skeleton.GetAttribute <NameAttribute>().Name, skeleton.CreateInstance()); // newPlayer.OnEvent += ApplyEvent; PlayerAdd(newPlayer); // foreach (Ship ship in newPlayer.Ships) // { // ship.OnEvent += ApplyEvent; // } newPlayer.Controller.Player = newPlayer; return(newPlayer); }
public override void Handle(HandshakeMessage message) { string clientId = message.Sender.ToString(); if (!_server.HasClient(clientId)) { ControlledPlayer player = _spawner.SpawnControlledPlayer(_playerRegistry.GetNextTeamAssignment()); _playerRegistry.RegisterPlayer(player, clientId); _server.RegisterClient(clientId, message.Sender); } else { Debug.LogWarning("Client with this id is already connected."); } var serverPlayer = _playerRegistry.GetControlledPlayerByClientId(clientId); var spawnMessage = new SpawnPlayerMessage(clientId, serverPlayer.PlayerId, serverPlayer.Team); _server.SendMessage(spawnMessage, message.Sender); }
// Start is called before the first frame update void Start() { player = ControlledPlayer.Instance; ShipCount.text = "Fleet Count: " + player.Fleet.Ships.Count.ToString(); }
public override void Awake() { base.Awake(); Instance = this; }
// Start is called before the first frame update void Start() { player = ControlledPlayer.Instance; MetalAmount.text = player.Resources[Resource.ResourceKind.metal].amount.ToString(); FuelAmount.text = player.Resources[Resource.ResourceKind.fuel].amount.ToString(); }
public void RegisterPlayer(ControlledPlayer player, string clientId) { RegisterPlayer(player as Player); ControlledPlayers.Add(player); player.ClientId = clientId; }