Esempio n. 1
0
        //connectionID = new Player ID | packetID = Spawnpoint | item.Key = all excisting players
        public static void InstantiatePlayer(int connectionID)
        {
            foreach (var item in client)
            {
                if (client.Count == 1)
                {
                    DataSender.SendSpawnLocation(item.Key, connectionID, client[connectionID].packetID);
                    item.Value.OnServerAlready = true;
                }

                else if (item.Value.OnServerAlready == false)
                {
                    //one player to much
                    foreach (var excPlayer in client)
                    {
                        DataSender.SendSpawnLocation(connectionID, excPlayer.Key, excPlayer.Value.packetID);
                        item.Value.OnServerAlready = true;
                    }
                }

                else if (item.Key != connectionID && item.Value.OnServerAlready == true)
                {
                    DataSender.SendSpawnLocation(item.Key, connectionID, client[connectionID].packetID);
                }
            }
        }
Esempio n. 2
0
 public static void SendLocationOfClients(int connectionID, string msg)
 {
     foreach (var item in client)
     {
         if (item.Key != connectionID && item.Value.OnServerAlready == true)
         {
             DataSender.SendLocationClient(item.Key, msg);
         }
     }
 }
Esempio n. 3
0
 public static void SpawnRocket(int connectionID, string msg)
 {
     //Send every Client that one Client has spawned a rocket
     foreach (var item in client)
     {
         if (item.Key != connectionID)
         {
             DataSender.SendRocketHasBeenSpawned(item.Key, msg);
         }
     }
 }
Esempio n. 4
0
        public static void GivePlayerDamage(int connectionID, string msg)

        {
            string[] splitedData = msg.Split(':');
            string   username    = splitedData[0];

            foreach (var item in client)
            {
                if (item.Value.username == username)
                {
                    DataSender.SendPlayerDamage(item.Key, msg);
                }
            }
        }
Esempio n. 5
0
        public static void DisconnectClient(int connectionID, string msg)
        {
            string[] splitedData = msg.Split(':');
            string   username    = splitedData[0];

            client.Remove(connectionID);


            //Send every remaining client a message, that one client has disconnected
            foreach (var item in client)
            {
                DataSender.SendClientDisconnect(item.Key, msg);
            }
        }
Esempio n. 6
0
 public static void DestroyPlayer(int connectionID, string msg)
 {
     //Send every Client that one Client died
     foreach (var item in client)
     {
         if (item.Key == connectionID)
         {
             item.Value.OnServerAlready = false;
         }
         if (item.Key != connectionID)
         {
             DataSender.SendPlayerDied(item.Key, msg);
         }
     }
 }
Esempio n. 7
0
        //If a Client wants to connect, it gets his own socket
        //The Client gets a first Welcome Message to check on both sides if the connecting is working
        public static void CreateNewConnetion(TcpClient tempClient)
        {
            Client newClient = new Client();

            newClient.socket       = tempClient;
            newClient.connectionID = ((IPEndPoint)tempClient.Client.RemoteEndPoint).Port;
            newClient.Start();
            client.Add(newClient.connectionID, newClient);

            DataSender.SendWelcomeMessage(newClient.connectionID);

            /*
             * if (client.Count >= 2)
             * {
             *  serverMessage = newClient.connectionID + ":Server is full";
             * }
             *
             * else
             * {
             *
             *
             * }
             */
        }