Пример #1
0
    public void OnGetRooms(RoomInfo[] infos)
    {
        if (infos == null)
        {
            return;
        }
        ClearItems();
        _itemVOs.Clear();

        for (int i = 0, length = infos.Length; i < length; i++)
        {
            var    c  = infos[i];
            RoomVO vo = new RoomVO();
            vo.name0 = string.Format("{0}({1}, {2})", c._roomName, c._ip, c._mode == 0 ? "计数" : "计时");
            Debug.Log("OnGetRooms name=" + vo.name0);
            vo.onClick0 = OnSelectRoom;
            _itemVOs.Add(vo);

            var item = GameObject.Instantiate(_itemPrefab);
            item.transform.SetParent(_content);
            item.gameObject.SetActive(true);
            item.transform.localScale = Vector3.one;
            item._info = c;
            item._vo   = vo;
            item.Show();
            _items.Add(item);
        }
    }
Пример #2
0
    public void resetDataForNewRoom()
    {
        roomVO     = new RoomVO();
        playerList = null;
        gamingData = null;

        gameStatus = GameStatus.UNDEFINED;
    }
Пример #3
0
 private void SetRoomInfo(RoomVO room)
 {
     if (room != null)
     {
         (RI_RoomIdText.text, RI_RoomNameText.text, RI_RoomModeText.text, RI_RoomMapText.text) = (room.RoomID, room.RoomName, room.RoomMode.ToString(), room.RoomMap.ToString());
     }
     else
     {
         (RI_RoomIdText.text, RI_RoomNameText.text, RI_RoomModeText.text, RI_RoomMapText.text) = ("---", "---", "---", "---");
     }
 }
Пример #4
0
 private void createRoom(RoomVO roomVO, int roomCardNum)
 {
     if (GlobalData.getInstance().myAvatarVO.account.roomcard >= roomCardNum)
     {
         roomVO.roundNumber = roomCardNum * 8;
         GameManager.getInstance().Server.requset(APIS.CREATEROOM_REQUEST, JsonMapper.ToJson(roomVO));
     }
     else
     {
         TipsManager.getInstance().setTips("你的房卡数量不足,不能创建房间");
     }
 }
Пример #5
0
    /**
     * 重新初始化数据
     */
    public void reinitData()
    {
        roomVO           = new RoomVO();
        myAvatarVO       = null;
        playerList       = null;
        remainRoundCount = 0;
        gameStatus       = GameStatus.UNDEFINED;
        gamingData       = null;

        lotteryDatas   = null;
        isOverByPlayer = false;
    }
Пример #6
0
    /**
     * 创建转转麻将房间
     */
    public void createZhuanzhuanRoom()
    {
        int roomCardNum = costRoomCardNum(huashuiRoomCards);

        bool isZimo = false;      //自摸

        if (zhuanzhuanGameRule [0].isOn)
        {
            isZimo = true;
        }

        bool hasHong = false;      //红中赖子

        if (zhuanzhuanGameRule [2].isOn)
        {
            hasHong = true;
        }

        bool isSevenDoube = false;       //七小对

        if (zhuanzhuanGameRule [3].isOn)
        {
            isSevenDoube = true;
        }


        int maCount = 0;

        for (int i = 0; i < zhuanzhuanZhuama.Count; i++)
        {
            if (zhuanzhuanZhuama [i].isOn)
            {
                maCount = 2 * (i + 1);
                break;
            }
        }
        roomVO          = new RoomVO();
        roomVO.roomType = GameType.ZHUAN_ZHUAN;

        roomVO.ma          = maCount;
        roomVO.ziMo        = isZimo?1:0;
        roomVO.hong        = hasHong;
        roomVO.sevenDouble = isSevenDoube;

        createRoom(roomVO, roomCardNum);
    }
Пример #7
0
        public void InitRoomInfo(RoomVO room)
        {
            SetRoomInfo(room);

            switch (room.RoomMode)
            {
            case RoomMode.SingleMode:
                UpdatePlayerList(room.PlayerList);
                break;

            case RoomMode.TeamMode:
                break;

            default:
                break;
            }
        }
Пример #8
0
    /**
     * 创建划水麻将房间
     */
    public void createHuashuiRoom()
    {
        int roomCardNum = costRoomCardNum(huashuiRoomCards);

        bool isFengpai = false;       //七小对

        if (huashuiGameRule [0].isOn)
        {
            isFengpai = true;
        }

        bool isZimo = false;      //自摸

        if (huashuiGameRule [1].isOn)
        {
            isZimo = true;
        }


        int maCount = 0;

        for (int i = 0; i < huashuixiayu.Count; i++)
        {
            if (huashuixiayu [i].isOn)
            {
                maCount = 2 * (i + 1);
                break;
            }
        }

        roomVO          = new RoomVO();
        roomVO.roomType = GameType.HUA_SHUI;

        roomVO.xiaYu       = maCount;
        roomVO.ziMo        = isZimo?1:0;
        roomVO.addWordCard = isFengpai;
        roomVO.sevenDouble = true;

        createRoom(roomVO, roomCardNum);
    }
Пример #9
0
    /**
     * 创建鸡平胡房间
     */
    public void createJiPingHuRoom()
    {
        int roomCardNum = costRoomCardNum(huashuiRoomCards);

        //抓码
        int maCount = 0;

        for (int i = 0; i < jiPingHuZhuama.Count; i++)
        {
            if (jiPingHuZhuama [i].isOn)
            {
                maCount = (int)Math.Pow(2, i);
                break;
            }
        }

        roomVO          = new RoomVO();
        roomVO.roomType = GameType.JI_PING_HU;

        roomVO.magnification = maCount;

        createRoom(roomVO, roomCardNum);
    }
Пример #10
0
 private void HandleInitRoom(RoomVO room)
 {
     _viewComponent.InitRoomInfo(room);
     _viewComponent.AddMessageItem("系统", $"欢迎{PlayerManager.Instance.LocalPlayer.UserName}加入房间!");
 }