示例#1
0
 public static void HandlePacketClientStatus(Client client, ClientStatusPacket packet)
 {
     Console.WriteLine("Status arrived {0}", packet.Status);
     if (packet.Status == 0 && IsAuthenticated(client))
     {
         Task.Factory.StartNew(client.SendLoginSequence);
     }
 }
示例#2
0
        public static void ReadClientStatus(Client client, PacketReader reader)
        {
            ClientStatusPacket csp = new ClientStatusPacket();

            csp.Read(reader);

            if (!reader.Failed)
            {
                Client.HandlePacketClientStatus(client, csp);
            }
        }
示例#3
0
        public void Respawn()
        {
            ClientStatusPacket csp = new ClientStatusPacket(ClientStatusPacket.Status.PerformRespawn);
            var foundObjects       = FindObjectsOfType <ServerConnection>();

            foreach (var o in foundObjects)
            {
                csp.Send(o);
            }
            SceneManager.UnloadSceneAsync("DeathScene");
        }
示例#4
0
        public override async void OnPacket(UpdateHealthPacket health)
        {
            if (health.Health <= 0)
            {
                var clientStatus = new ClientStatusPacket
                {
                    ActionID = ClientStatusActions.PerformPespawn
                };

                await agent.Send(clientStatus);
            }
        }