DestroyPlayerObjects() public static method

Destroy all GameObjects/PhotonViews of this player. can only be called on the local player. The only exception is the master client which call call this for all players.
public static DestroyPlayerObjects ( PhotonPlayer destroyPlayer ) : void
destroyPlayer PhotonPlayer
return void
コード例 #1
0
ファイル: RoomScript.cs プロジェクト: karak23/Projects
 public void LeaveRoom()
 {
     PhotonNetwork.DestroyPlayerObjects(PhotonNetwork.player);
     PhotonNetwork.room.IsOpen = false;
     PhotonNetwork.player.SetScore(0);
     PhotonNetwork.LeaveRoom();
 }
コード例 #2
0
 public void leaveRoom()
 {
     canGame.SetActive(false);
     PhotonNetwork.DestroyPlayerObjects(PhotonNetwork.player);
     PhotonNetwork.LeaveRoom();
     canRef.SetActive(true);
 }
コード例 #3
0
ファイル: Netman.cs プロジェクト: Saduras/RocketFight
    /**
     * If player leave the match, remove all objects owned by this player
     */
    public virtual void OnPhotonPlayerDisconnected(PhotonPlayer player)
    {
        if (PhotonNetwork.isMasterClient)
        {
            PhotonNetwork.DestroyPlayerObjects(player);
        }
        match.ReloadPlayerList();

        if (match.IsRunning())
        {
            PhotonNetwork.Disconnect();
            // activate label if it is inactive
            if (!label.gameObject.activeSelf)
            {
                label.gameObject.SetActive(true);
            }

            // update text
            label.text = "Match closed,\n because player disconnected!";
            // init fade via TweenColor
            label.color = Color.white;
            TweenColor.Begin(label.gameObject, 1.5f, new Color(1, 1, 1, 0));

            uimenu.ChanceState(UIMenu.UIState.MAINMENU);
        }
    }
コード例 #4
0
 public override void OnDisconnected(DisconnectCause cause)
 {
     _connecting    = false;
     _connectStatus = "Disconnected: " + cause;
     PhotonNetwork.DestroyPlayerObjects(_playerPrefab.GetComponent <PhotonView>().ViewID, _playerPrefab);
     base.OnDisconnected(cause);
 }
コード例 #5
0
 public void Quit()
 {
     PhotonNetwork.DestroyPlayerObjects(PhotonNetwork.LocalPlayer.ActorNumber);
     PhotonNetwork.Disconnect();
     InGameMenu.SetActive(false);
     Application.Quit();
 }
コード例 #6
0
        /// <summary>
        /// Called when a remote player left the room.
        /// See the official Photon docs for more details.
        /// </summary>
        public override void OnPlayerLeftRoom(Photon.Realtime.Player player)
        {
            //only let the master client handle this connection
            if (!PhotonNetwork.IsMasterClient)
            {
                return;
            }

            //get player-controlled game object from disconnected player
            GameObject targetPlayer = GetPlayerGameObject(player);

            //process any collectibles assigned to that player
            if (targetPlayer != null)
            {
                Collectible[] collectibles = targetPlayer.GetComponentsInChildren <Collectible>(true);
                for (int i = 0; i < collectibles.Length; i++)
                {
                    //let the player drop the Collectible
                    PhotonNetwork.RemoveRPCs(collectibles[i].spawner.photonView);
                    collectibles[i].spawner.photonView.RPC("Drop", RpcTarget.AllBuffered, targetPlayer.transform.position);
                }
            }

            //clean up instances after processing leaving player
            PhotonNetwork.DestroyPlayerObjects(player);
            //decrease the team fill for the team of the leaving player and update room properties
            PhotonNetwork.CurrentRoom.AddSize(player.GetTeam(), -1);
        }
コード例 #7
0
    //when other players leave the room
    public override void OnPlayerLeftRoom(Player otherPlayer)
    {
        Debug.Log("Other player leave");

        //if main client leaves room, clear the name in player room
        if (otherPlayer.IsMasterClient)
        {
            Debug.Log("Master client leave");
            PhotonNetwork.SetMasterClient(PhotonNetwork.PlayerList[0]);
        }


        base.OnPlayerLeftRoom(otherPlayer);


        //destroy other player object if current is master client
        if (PhotonNetwork.IsMasterClient)
        {
            PhotonNetwork.DestroyPlayerObjects(otherPlayer);
        }

        PrintRemainingPlayerNo();
        PrintPlayerNames();

        PhotonNetwork.CurrentRoom.IsOpen = true;  //reopen the room
        startButton.interactable         = false; //host can't start the game
    }
コード例 #8
0
        public override void OnPlayerLeftRoom(Photon.Realtime.Player otherPlayer)
        {
            base.OnPlayerLeftRoom(otherPlayer);
            CharacterScript otherScript = (otherPlayer.TagObject as GameObject).GetComponent <CharacterScript>();

            PhotonNetwork.DestroyPlayerObjects(otherPlayer);
        }
コード例 #9
0
    void EndGame()
    {
        //add jsonobject over stats and send to node server

        PhotonNetwork.DestroyPlayerObjects(PhotonNetwork.player);
        PhotonNetwork.LeaveRoom();
    }
コード例 #10
0
        void OnCollisionEnter2D(Collision2D collision)
        {
            // Only handle collisions with local player
            if (!photonView.isMine)
            {
                return;
            }

            // Make sure collision is with core part
            if (!GetComponent <PolygonCollider2D>().IsTouching(collision.collider))
            {
                return;
            }

            string collisionObjTag = collision.collider.gameObject.tag;

            // Check if collision was with a triangle part
            if (collisionObjTag == "Triangle" || collisionObjTag == "EnemyAttackingPart")
            {
                // Game over! Save player's highest score, destroy all objects owned by this player, and disconnect
                float highestScore = scoreboard.GetLocalPlayerHighestScore();
                PlayerPrefs.SetFloat("highestScore", highestScore);
                PhotonNetwork.DestroyPlayerObjects(PhotonNetwork.player.ID);
                gameManager.isGameOver = true;
                PhotonNetwork.Disconnect();
            }
        }
コード例 #11
0
    public IEnumerator gameStart()
    {
        if (selfPlayer != null)
        {
            PhotonNetwork.DestroyPlayerObjects(selfPlayer);
        }

        createObject(getIndexByID(selfRole.id), roleList.Count);

        propCount        = 0;
        lastFallDownTime = DateTime.Now;
        selfFreezeTime   = DateTime.Now;

        diskObject.transform.rotation = Quaternion.Euler(0, 0, 0);
        diskObject.transform.position = new Vector3(0, 1, 0);

        GameObject cd = GameObject.Find("cdCanvas/cd");

        cd.transform.localScale = new Vector3(1, 1, 1);
        for (int i = 3; i > 0; i--)
        {
            cd.transform.Find("Text").GetComponent <Text>().text = i + "";
            yield return(new WaitForSeconds(1f));
        }
        cd.transform.localScale = new Vector3(0, 0, 0);

        gameState = GameState.GameStart;
        //gameScore = GAME_SCORE;
        //timeLeft = TOTAL_GAME_TIME;
        createTitleName();
        initKillList();
        Invoke("TimeSchedule", 1.0f);
    }
コード例 #12
0
 public void OnPointerDown(PointerEventData data)
 {
     PhotonNetwork.DestroyPlayerObjects(PhotonNetwork.player);
     PhotonNetwork.LeaveRoom();
     PhotonNetwork.Disconnect();
     SceneManager.LoadScene("room_test");
 }
コード例 #13
0
ファイル: Game.cs プロジェクト: patel22p/dorumon
 public void OnPhotonPlayerDisconnected(PhotonPlayer player)
 {
     print("Disconnected" + player.name);
     RemovePlayerView(player.ID);
     RpcKillText(player.name + " disconnected");
     PhotonNetwork.DestroyPlayerObjects(player);
 }
コード例 #14
0
    void KillPlayerMax()
    {
        int max            = 0;
        int IdPlayerToKill = 0;

        foreach (string key in PlayerVotesMap.Keys)
        {
            Debug.Log(string.Format("{0}: {1}", key, PlayerVotesMap[key]));
        }
        foreach (DictionaryEntry entry in PlayerVotesMap)
        {
            if (max < int.Parse(entry.Value.ToString()))
            {
                max            = int.Parse(entry.Value.ToString());
                IdPlayerToKill = int.Parse(entry.Key.ToString());
            }
        }
        Debug.Log(" gonna kill" + IdPlayerToKill);
        if ((IdPlayerToKill != ProtectedBySalvator) || ((IdPlayerToKill != Tokill) && (iskill == false)))
        {
            foreach (var item in PhotonNetwork.playerList)
            {
                if (item.ID == IdPlayerToKill)
                {
                    Debug.Log("before kill" + PhotonNetwork.playerList.Length);
                    PhotonNetwork.DestroyPlayerObjects(item);
                    PhotonNetwork.CloseConnection(item);
                    //  PhotonNetwork.Disconnect();
                }
            }
        }
        countVotes = 0;
        votedenuit = true;
    }
コード例 #15
0
ファイル: Tank.cs プロジェクト: SilverJun/WorldTank.io
    void FixedUpdate()
    {
        if (!_photonView.isMine)
        {
            //transform.position = _curPos;
            //transform.rotation = _curQuat;
            return;
        }

        if (_isDie)
        {
            UIManager.OpenUI <RespawnUI>("Prefabs/RespawnUI");
            PhotonNetwork.DestroyPlayerObjects(PhotonNetwork.player);
        }

        _camera.transform.position =
            new Vector3(transform.position.x, transform.position.y, _camera.transform.position.z);

        LookBarrelMouse();
        MoveTank();

        // Left Mouse Click
        if (!_isShoot && Input.GetMouseButtonDown(0))
        {
            // 총알이랑 바렐이랑 보고있는 방향이 달라서 차이값만큼 보정
            _fireEffect.SetActive(true);
            _audio.Play();

            PhotonNetwork.Instantiate("Prefabs/Bullet", _firePos.position,
                                      Quaternion.Euler(0.0f, 0.0f, _barrel.transform.eulerAngles.z - 90.0f), 0);
            _isShoot = true;
            StartCoroutine(_fireEffectDisable());
            StartCoroutine(_reloadBullet()); // 재장전
        }
    }
コード例 #16
0
 public void MainMenuLoad()
 {
     GameManager.instance.InGame = false;
     GameManager.instance.ClearMatchSettings();
     PhotonNetwork.DestroyPlayerObjects(PhotonNetwork.LocalPlayer.ActorNumber);
     PhotonNetwork.Disconnect();
     SceneManager.LoadScene(0);
 }
コード例 #17
0
    /*public void SnakeDead()
     * {
     *  Score.Remove(playerName);
     *  PhotonNetwork.LeaveRoom();
     * }*/

    void OnPhotonPlayerDisconnected(PhotonPlayer otherPlayer)
    {
        if (PhotonNetwork.isMasterClient)
        {
            PhotonNetwork.DestroyPlayerObjects(otherPlayer);
            Score.Remove(playerName);
        }
    }
コード例 #18
0
 public void LeaveRoom()
 {
     Cursor.visible   = true;
     Cursor.lockState = CursorLockMode.None;
     PhotonNetwork.DestroyPlayerObjects(pV.Owner);
     PhotonNetwork.LeaveRoom();
     PhotonNetwork.LoadLevel(0);
 }
コード例 #19
0
 public void LeaveRoom()
 {
     if (PhotonNetwork.InRoom)
     {
         PhotonNetwork.DestroyPlayerObjects(PhotonNetwork.LocalPlayer);
         PhotonNetwork.LeaveRoom();
     }
 }
コード例 #20
0
ファイル: QuitGame.cs プロジェクト: Cc618/Deadly-Science
        public void Quitgame()
        {
            PhotonNetwork.DestroyPlayerObjects(PhotonNetwork.LocalPlayer);
            // Avoid pause when returning to game
            Game.EscapeMenuOpen = false;

            PhotonNetwork.LeaveRoom();
            Application.Quit();
        }
コード例 #21
0
 public void PlayerDisconnect(Player p)
 {
     if (!_view.IsMine)
     {
         return;
     }
     players.Remove(p);
     PhotonNetwork.DestroyPlayerObjects(p);
 }
コード例 #22
0
 public void MeninggalkanRoom()
 {
     if (PhotonNetwork.connected)
     {
         PhotonNetwork.LeaveRoom();
         PhotonNetwork.LeaveLobby();
         PhotonNetwork.DestroyPlayerObjects(PhotonNetwork.player.ID);
     }
 }
コード例 #23
0
 public void ReturnToMainMenu()
 {
     if (PlayerPrefs.GetString(Globals.GamePrefs.GameMode.ToString()).Equals(Globals.GameMode.MultiPlayer.ToString()))
     {
         PhotonNetwork.DestroyPlayerObjects(PhotonNetwork.player);
         Debug.Log("leaving the room");
     }
     Application.LoadLevel(0);
 }
コード例 #24
0
 public void RestartGame()
 {
     if (PhotonNetwork.inRoom)
     {
         PhotonNetwork.DestroyPlayerObjects(PhotonNetwork.player);
         PhotonNetwork.LeaveRoom();
     }
     SceneManager.LoadScene("StartMenu");
 }
コード例 #25
0
 public void DisconnectGame()
 {
     PhotonNetwork.DestroyPlayerObjects(PhotonNetwork.player);
     PhotonNetwork.LeaveRoom();
     this.createRoomWindow.gameObject.SetActive(false);
     this.playerHUD.gameObject.SetActive(false);
     this.champTeamSelectWindow.gameObject.SetActive(false);
     this.lobbyWindow.gameObject.SetActive(true);
 }
コード例 #26
0
        private void LoadPickedMap()
        {
            PhotonNetwork.LocalPlayer.ResetProperties();
            PhotonNetwork.DestroyPlayerObjects(PhotonNetwork.LocalPlayer);

            var mapName = PhotonNetwork.CurrentRoom.GetMap();
            var map     = SceneContainerDatabase.GetContainerWithMapName(mapName);

            LoadingScreen.LoadScene(map.SceneIndex);
        }
コード例 #27
0
        /// <summary>
        /// Called at the end of a match.
        /// Destroys Player Objects and starts end timer
        /// </summary>
        private void OnMatchEnd()
        {
            PhotonNetwork.DestroyPlayerObjects(PhotonNetwork.LocalPlayer);
            m_matchStarted = false;
            m_timer.Stop();

            m_matchRespawn.StopSpawn();

            OnMatchEnded?.Invoke();
            m_nextRound.StartTimer();
        }
コード例 #28
0
        /// <summary>
        /// Called when the local player left the room. We need to load the launcher scene.
        /// </summary>
        public override void OnLeftRoom()
        {
            PhotonNetwork.LoadLevel("01 - Lobby");

            if (debug)
            {
                Debug.Log("MUVRTK_GameManager: OnLeftRoom() called by PUN. Now this client is in the lobby.");
            }

            PhotonNetwork.DestroyPlayerObjects(PhotonNetwork.LocalPlayer);
        }
コード例 #29
0
ファイル: PvpManager.cs プロジェクト: LonelyElf/Devout
 void clearRound()
 {
     //destroy all views that this client owns
     foreach (var p in PhotonNetwork.playerList)
     {
         if ((bool)p.CustomProperties [RoomLevelHelper.CUSTOM_PLAYER_PROPERTY_IN_GAME_SCENE])
         {
             PhotonNetwork.DestroyPlayerObjects(p);
         }
     }
 }
コード例 #30
0
    // methods

    /// <summary>
    /// Awake
    /// </summary>
    public void Awake()
    {
        PhotonNetwork.DestroyPlayerObjects(PhotonNetwork.player.ID);

        // in case we started this demo with the wrong scene being active, simply load the menu scene
        if (!PhotonNetwork.connected)
        {
            SceneManager.LoadScene("MainMenu");
            return;
        }
    }