private void handleRequest(NetIncomingMessage im) { var packageType = (PacketType)im.ReadByte(); switch (packageType) { case PacketType.NewPlayer: Console.WriteLine("New player!"); var newPlayer = new NewPlayerPacketIO().ReadResponse(im); OnPlayerAdded?.Invoke(newPlayer.Player); break; case PacketType.AllPlayers: var data = new AllPlayersPacketIO().ReadResponse(im); foreach (var player in data.Players) { Players[player.Id] = player; } break; case PacketType.CreateProjectile: Console.WriteLine("projectile response"); var respo = new CreateProjectilePacketIO().ReadResponse(im); Console.WriteLine($"with id {respo.ProjectileData.Id}"); OnCreateProjectile?.Invoke(respo.ProjectileData); break; } }
public void Shoot() { if (CanShoot) { OnCreateProjectile?.Invoke(this, WorldSize); m_CannotShootLeftTime = ProjectileStats.Cooldown; if (IsPlayer) { UIController.ShowReloadBar(true); } } }