Esempio n. 1
0
        /*public override void LateJoinGame(NetworkReader messageReader)
         * {
         *  // TODO
         * }*/

        protected override void OnStartTurn(TBPlayer player)
        {
            if (tt != TurnType.None)
            {
                Log.Warn("Unexpected TurnType {0} (A)", tt);
            }

            int role = player.GetRole();

            var turtles      = Match.GetTurtlesForRole(role);
            var aliveTurtles = turtles.FindAll(t => !t.dead);

            if (/*turtles == null || */ aliveTurtles.Count == 0)
            {
                Log.Warn("No alive turtles with role {0}", role);
                tt        = TurnType.Wait;
                turnEnded = false;
                StartCoroutine(EndTurnDelayed());
                return;
            }

            tt = TurnType.Keyboard;

            targetTurtle = GetNextTurtle(aliveTurtles);

            targetTurtle.SetPlaying(true);
        }
Esempio n. 2
0
        void Awake()
        {
            DNMPlayer dnmPlayer = GetComponent <DNMPlayer>();

            if (dnmPlayer == null)
            {
                Log.Warn("Component DNMPlayer not found!");
                return;
            }

            dnmPlayer.AddListener(this);

            TBPlayer tbPlayer = GetComponent <TBPlayer>();

            if (tbPlayer == null)
            {
                Log.Warn("Component TBPlayer not found!");
                return;
            }

            tbPlayer.AddListener(this);
        }
        private void OnPlayerDisconnected(BasePlayer player)
        {
            if (UseTB)
            {
                CuiHelper.DestroyUi(player, UIMain);
                CuiHelper.DestroyUi(player, UIScoreboard);

                TBPlayer tbPlayer = player.GetComponent <TBPlayer>();
                if (tbPlayer != null)
                {
                    DCPlayers.Add(player.userID, new PlayerData {
                        kills = tbPlayer.kills, team = tbPlayer.team
                    });
                    DCTimers.Add(player.userID, timer.Once(configData.Options.RemoveSleeper_Timer * 60, () => { DCPlayers.Remove(player.userID); DCTimers[player.userID].Destroy(); DCTimers.Remove(player.userID); }));

                    if (TBPlayers.Contains(tbPlayer))
                    {
                        TBPlayers.Remove(tbPlayer);
                    }
                    UnityEngine.Object.Destroy(tbPlayer);
                }
            }
        }
Esempio n. 4
0
 protected override void OnEndTurn(TBPlayer player)
 {
     SendToServer(MsgType.ClientUpdate, Match.GetState());
 }