Пример #1
0
        public bool AddPlayerToPlayerManager(int photonPlayerID, int index)
        {
            bool succes = false;

            // find player in connected clinets list and write playerInfo to the list of playerinfo's
            PhotonPlayer[] players = PhotonNetwork.playerList;
            for (int i = 0; i < players.Length; i++)
            {
                if (players[i].ID == photonPlayerID)
                {
                    PhotonPlayer photonPlayer = players[i];
                    PlayerInfo   pInfo        = new PlayerInfo();

                    pInfo.PhotonPlayer = photonPlayer;
                    pInfo.PlayerObject = null;
                    pInfo.SlotID       = index;

                    // add playerInfo to players List
                    m_PlayerInfoList[index] = (pInfo);

                    // Assign player to Scoreboard slot
                    ScoreBoard.GetInstance().AssignPlayerToSlot(photonPlayer, index);

                    // Log message to players
                    string coloredPlayerName = ColorUtility.ColorRichtText(m_SlotColorList[index], photonPlayer.name);
                    EventLog.GetInstance().LogMessage("<b>" + coloredPlayerName + "</b> has connected!");

                    succes = true;
                }
            }


            return(succes);
        }
Пример #2
0
        public void Kill()
        {
            Debug.Log("Destroying player object of player: " + Photonplayer);

            OnDeath.Invoke();

            // add desintegration to my own Mesh
            //gameObject.AddComponent<Obliterate_Object>();
            if (Prefab_FX_DeathEffect != null)
            {
                GameObject deathEffect = Instantiate(Prefab_FX_DeathEffect);
                deathEffect.transform.position = transform.position;
            }

            // announce player death
            if (photonView.isMine)
            {
                PhotonNetwork.Destroy(gameObject);
            }
            // TODO: Move camera to countdown position

            // Log player death
            string deathMessage = "";


            int playerSlot = PlayerManager.GetInstance().GetPlayerSlot(Photonplayer);

            string playerName = "";

            if (playerSlot < 0)
            {
                playerName = "debugplayer";
            }
            else
            {
                playerName = Photonplayer.name;
            }


            //Color playerColor = PlayerManager.GetInstance().GetPlayerSlotColor(playerSlot);
            deathMessage = "<b>" + ColorUtility.ColorRichtText(PlayerColor, playerName) + "</b>" + " was vaporized!";

            EventLog.GetInstance().LogMessage(deathMessage);
        }