Beispiel #1
0
    IEnumerator OtherPlayerView()
    {
        yield return(new WaitForSeconds(0.1f));//다른 start보다 먼저 실행되는거 방지

        while (true)
        {
            Player[] players = PhotonNetwork.PlayerList;
            foreach (GameObject otherPlayer in otherPlayerGameObjects)
            {
                Destroy(otherPlayer);
            }
            otherPlayerGameObjects.Clear();


            int locateIndex = 0;
            for (int i = 0; i < players.Length; i++)
            {
                if (players[i].ActorNumber == photonPlayer.GetActorNumber())//나 자신은 표현하지 않음
                {
                    continue;
                }
                GameObject newOtherPlayer = Instantiate(otherPlayerView,
                                                        (Vector2)Camera.main.ScreenToWorldPoint(new Vector2(Camera.main.scaledPixelWidth / players.Length * (locateIndex + 1), 540)) + new Vector2(0, 3),
                                                        Quaternion.identity);
                locateIndex++;
                Text[] texts = newOtherPlayer.GetComponentsInChildren <Text>();
                texts[0].text = "ID:" + players[i].ActorNumber;
                otherPlayerGameObjects.Add(newOtherPlayer);
            }
            int pastPlayerNum = players.Length;
            yield return(new WaitUntil(() => pastPlayerNum + 1 == PhotonNetwork.PlayerList.Length));

            yield return(new WaitWhile(() => gameState.GetGameState() != GameState.BeforeGame));
        }
    }