예제 #1
0
        private static void WaitForStartingInfo()
        {
            bool CanStart = false;
            NetIncomingMessage inc;

            while (!CanStart)
            {
                if ((inc = Client.ReadMessage()) != null)
                {
                    switch (inc.MessageType)
                    {
                        case NetIncomingMessageType.Data:

                            if (inc.ReadByte() == (byte)PacketTypes.WORLDSTATE)
                            {
                                GameStateList.Clear();
                                int count = 0;
                                count = inc.ReadInt32();
                                for (int i = 0; i < count; i++)
                                {
                                    Character ch = new Character();
                                    inc.ReadAllProperties(ch);
                                    GameStateList.Add(ch);
                                }
                                CanStart = true;
                            }
                            break;

                        default:
                            //Console.WriteLine(inc.ReadString() + " Strange message");
                            break;
                    }
                }
            }
        }
예제 #2
0
 private static void CheckServerMessages()
 {
     NetIncomingMessage inc;
     while ((inc = Client.ReadMessage()) != null)
     {
         if (inc.MessageType == NetIncomingMessageType.Data)
         {
             if (inc.ReadByte() == (byte)PacketTypes.WORLDSTATE)
             {
                 //Console.WriteLine("World State uppaus");
                 GameStateList.Clear();
                 int jii = 0;
                 jii = inc.ReadInt32();
                 for (int i = 0; i < jii; i++)
                 {
                     Character ch = new Character();
                     inc.ReadAllProperties(ch);
                     GameStateList.Add(ch);
                 }
             }
         }
     }
 }