예제 #1
0
        public void ChangeRole(DNMPlayer player)
        {
            CheckState(new DNMState[] { DNMState.Offline, DNMState.Host });
            CheckGameState(GameState.NoGame);

            int currentRole = player.GetRole();

            int newRole;

            if (currentRole == DNM.SpecRole)
            {
                newRole = DNM.FirstPlayerRole;
            }
            else
            {
                newRole = currentRole + 1;
                if (newRole > levelData.MaxPlayers)
                {
                    // no spec role in offline mode
                    newRole = state == DNMState.Offline ? DNM.FirstPlayerRole : DNM.SpecRole;
                }
            }

            if (newRole != currentRole)
            {
                player.SetRole(newRole);
            }
            else
            {
                Log.Warn("No role to change?");
            }
        }
예제 #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);
        }
예제 #3
0
 public void AddPlayer(DNMPlayer player)
 {
     players.Add(player);
 }