Esempio n. 1
0
        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;
            }
        }
Esempio n. 2
0
        public void Shoot()
        {
            if (CanShoot)
            {
                OnCreateProjectile?.Invoke(this, WorldSize);

                m_CannotShootLeftTime = ProjectileStats.Cooldown;

                if (IsPlayer)
                {
                    UIController.ShowReloadBar(true);
                }
            }
        }