Ejemplo n.º 1
0
    public override void OnReceivedRoomListUpdate()
    {
        foreach (GameObject obj in GameObject.FindGameObjectsWithTag("GameRoomCell"))
        {
            Destroy(obj);
        }

        scrollContent.GetComponent <RectTransform>().sizeDelta = Vector2.zero;

        foreach (RoomInfo room in PhotonNetwork.GetRoomList())
        {
            GameObject gameRoomCellObject = Instantiate(gameRoomCellPrefab);
            gameRoomCellObject.transform.SetParent(scrollContent.transform, false);

            GameRoomInfo gameRoomInfo = new GameRoomInfo(room.Name, room.PlayerCount, room.MaxPlayers);
            GameRoomCell gameRoomCell = gameRoomCellObject.GetComponent <GameRoomCell>();
            gameRoomCell.SetRoomInfo(gameRoomInfo);

            //셀 선택 동작
            gameRoomCellObject.GetComponent <Button>().onClick.AddListener(
                delegate
            {
                Interactable(false);            //룸 셀 클랙 시 상호작용 불가능하게.
                PhotonNetwork.JoinRoom(gameRoomInfo.roomName);
            });

            scrollContent.GetComponent <RectTransform>().sizeDelta += new Vector2(0, 70);
        }
    }
Ejemplo n.º 2
0
    //방 정보 변경 감지 + 방 목록 확인 가능 함수
    public override void OnReceivedRoomListUpdate()
    {
        foreach (GameObject obj in GameObject.FindGameObjectsWithTag("GameRoomCell"))
        {
            Destroy(obj);
        }

        scrollContent.GetComponent <RectTransform>().sizeDelta = Vector2.zero;
        int rowCount = 0;

        foreach (RoomInfo room in PhotonNetwork.GetRoomList())
        {
            GameObject gameRoomCellObject = Instantiate(gameRoomCellPrefab);
            gameRoomCellObject.transform.SetParent(scrollContent.transform, false);

            //게임정보를 담은 구조체로 객체 생성
            GameRoomInfo gameRoomInfo = new GameRoomInfo(room.Name, room.PlayerCount, room.MaxPlayers);
            GameRoomCell gameRoomCell = gameRoomCellObject.GetComponent <GameRoomCell>();
            gameRoomCell.SetRoomInfo(gameRoomInfo);

            //셀 선택 동작
            //OnClick 이벤트가 실행되면(AddListener가 주시하다가) 델리게이트 무명함수를 실행
            gameRoomCellObject.GetComponent <Button>().onClick.AddListener(delegate { PhotonNetwork.JoinRoom(gameRoomInfo.roomName); });

            scrollContent.GetComponent <RectTransform>().sizeDelta += new Vector2(0, 80);
        }

        //base.OnReceivedRoomListUpdate();
    }