Example #1
0
        public void NewPlayer(byte id, string nick, string userId, ulong pkey, bool invertedTable, bool spectator)
        {
            WriteReplayAction(id);
            var p = Player.FindIncludingSpectators(id);

            if (p == null)
            {
                var player = new Player(Program.GameEngine.Definition, nick, userId, id, pkey, spectator, false, Program.GameEngine.IsReplay);
                Program.GameMess.System("{0} has joined the game", player);
                player.UpdateSettings(invertedTable, spectator, false);
                if (Program.InPreGame == false)
                {
                    GameStateReq(player);
                    if (player.Spectator == false)
                    {
                        Program.GameEngine.EventProxy.OnPlayerConnect_3_1_0_1(player);
                        Program.GameEngine.EventProxy.OnPlayerConnected_3_1_0_2(player);
                    }
                }
                else
                {
                    if (Octgn.Core.Prefs.SoundOption == Core.Prefs.SoundType.DingDong)
                    {
                        Sounds.PlaySound(Properties.Resources.userjoinsroom, false);
                    }
                    else if (Octgn.Core.Prefs.SoundOption == Core.Prefs.SoundType.KnockKnock)
                    {
                        Sounds.PlaySound(Properties.Resources.knockknock, false);
                    }
                }
            }
            else
            {
                if (p.Spectator == false && Program.InPreGame == false)
                {
                    Program.GameEngine.EventProxy.OnPlayerConnect_3_1_0_1(p);
                    Program.GameEngine.EventProxy.OnPlayerConnected_3_1_0_2(p);
                }
            }
        }