Exemplo n.º 1
0
        /// <summary>
        ///     Called when the domain is unloaded.
        /// </summary>
        /// <param name="sender">
        ///     The sender.
        /// </param>
        /// <param name="e">
        ///     The <see cref="EventArgs" /> instance containing the event data.
        /// </param>
        private static void CurrentDomainDomainUnload(object sender, EventArgs e)
        {
            var gameEndPacket = new GameEndPacket(client.CreateMessage());

            gameEndPacket.Send(client);

            client.Shutdown(string.Empty);
        }
Exemplo n.º 2
0
        /// <summary>
        ///     Called when the Game ends.
        /// </summary>
        /// <param name="args">
        ///     The <see cref="GameEndEventArgs" /> instance containing the event data.
        /// </param>
        private static void Game_OnEnd(GameEndEventArgs args)
        {
            var gameEndPacket = new GameEndPacket(client.CreateMessage());

            gameEndPacket.Send(client);

            client.Shutdown(string.Empty);
        }
Exemplo n.º 3
0
    public void OnReceiveGameEndPacket(PacketId id, byte[] data)
    {
        GameEndPacket packet     = new GameEndPacket(data);
        GameEndData   packetData = packet.GetPacket();

        //상대방이 게임을 종료했을 시 -> 게임 승리로 간주
        if (packetData.request == GamePacketId.OpponentEnd)
        {
            networkManager.transportTCP.Disconnect();
            MatchingManager.instance.MatchState = MatchingManager.MatchingState.Nothing;
            SceneManager.LoadScene("Lobby");
        }
    }
Exemplo n.º 4
0
        private void BroadcastGameEndPacket(Player deadPlayer)
        {
            var contents = string.Format("Player \"{0}\" won!", players.FirstOrDefault(p => !ReferenceEquals(deadPlayer, p)).client.Name);

            var packet = new GameEndPacket();

            packet.contents = contents;

            for (var i = 0; i < players.Count; i++)
            {
                players[i].client.Send(packet);
            }

            Ended?.Invoke(this);
        }
Exemplo n.º 5
0
 private void HandleGameEndPacket(GameEndPacket p)
 {
     SwitchScene <MultiplayerGameOverScene>();
 }