Example #1
0
        public void StopPlayingVoice()
        {
            MahjongCommonMethod    mc   = MahjongCommonMethod.Instance;//开静音
            PlayerPlayingPanelData pppd = GameData.Instance.PlayerPlayingPanelData;

            if (VoiceFlag == 1)
            {
                int err = m_voiceengine.StopPlayFile();
                if (err != 0)
                {
                    ErroOccur(err, null);
                }
            }
            else
            {
                YunVaImSDK.instance.RecordStopPlayRequest();
            }
            UIMainView.Instance.PlayerPlayingPanel._playingHead[pppd.GetOtherPlayerShowPos(pppd.GetOtherPlayerPos(voices[0].iUserId)) - 1].GetChild(4).GetComponent <Animator>().SetBool("isPlayOthers", false);
            isPlayingState = false; //关闭播放状态
                                    // mc.isMusicShut = false;
            if (voices.Count > 0)
            {
                voices.RemoveAt(0);
            }
            // SystemMgr.Instance.BgmSystem.UpdateVolume();
        }
Example #2
0
        /// <summary>
        /// 设置语音
        /// </summary>
        void HandleSetVoice()
        {
            MahjongCommonMethod uipd = MahjongCommonMethod.Instance;

            if (uipd.isOpenVoicePlay)
            {
                uipd.isOpenVoicePlay = false;
            }
            else
            {
                uipd.isOpenVoicePlay = true;
            }
        }
Example #3
0
        /// <summary>
        /// 处理设置音效
        /// </summary>
        void HandleSetMusicEffect()
        {
            MahjongCommonMethod uipd = MahjongCommonMethod.Instance;

            if (uipd.isEfectShut)
            {
                uipd.isEfectShut = false;
            }
            else
            {
                uipd.isEfectShut = true;
            }
            SystemMgr.Instance.AudioSystem.UpdateVolume();
        }
Example #4
0
        /// <summary>
        /// 处理设置音乐
        /// </summary>
        void HandleSetMusic()
        {
            MahjongCommonMethod com = MahjongCommonMethod.Instance;

            if (com.isMusicShut)
            {
                com.isMusicShut = false;
                // AudioListener.pause=false ;
            }
            else
            {
                com.isMusicShut = true;
                // AudioListener.pause  = true ;
            }
            SystemMgr.Instance.BgmSystem.UpdateVolume();
        }
Example #5
0
        /// <summary>
        /// 产生房间对应的预置体
        /// </summary>
        /// <param name="status">1表示已创建未开始房间,2表示已开始的房间</param>
        /// <param name="rule">房间的规则参数</param>
        /// <param name="time">房间创建时间</param>
        void SpwanRoomMessagePanel()
        {
            int status = 0;

            if (roomInfo.cOpenRoomStatus < 3)
            {
                status = 1;
            }
            else
            {
                status = 2;
            }
            //已创建未开始房间
            if (status == 1)
            {
                for (int i = 0; i < ShareWx.Length; i++)
                {
                    ShareWx[i].SetActive(true);
                }
                //设置间距
                ShareWx[2].GetComponent <GridLayoutGroup>().spacing = new Vector2(0, -20f);
                ShareWx[2].GetComponent <GridLayoutGroup>().transform.localPosition = new Vector3(-75f, 8f, 0);
                int num = 0;   //在线玩家个数
                for (int i = 0; i < roomInfo.iuserId.Length; i++)
                {
                    if (roomInfo.iuserId[i] != 0)
                    {
                        Debug.LogError("num:" + num);
                        num++;
                    }
                }
                RoomMessage[3].text = num + "/4";
                //处理房间的颜色状态
                for (int i = 0; i < 4; i++)
                {
                    if (i == roomInfo.byColorFlag - 1)
                    {
                        RoomSignColor[i].gameObject.SetActive(true);
                    }
                    else
                    {
                        RoomSignColor[i].gameObject.SetActive(false);
                    }
                }
            }

            //已开始的房间
            if (status == 2)
            {
                ShareWx[0].SetActive(false);
                ShareWx[1].SetActive(false);
                ShareWx[2].SetActive(true);
                //设置房间信息的间距位置
                ShareWx[2].GetComponent <GridLayoutGroup>().spacing = new Vector2(0, 10f);
                ShareWx[2].GetComponent <GridLayoutGroup>().transform.localPosition = new Vector3(-75f, -32f, 0);
                RoomMessage[3].text = "游戏中";
            }

            StringBuilder text = new StringBuilder();


            string name = MahjongCommonMethod.Instance._dicMethodConfig[roomInfo.iPlayingMethod].METHOD_NAME;

            text.Append(name);
            MahjongCommonMethod mcm = MahjongCommonMethod.Instance;

            mcm.ShowParamOfOpenRoom(ref text, roomInfo.caOpenRoomParam, 1, MahjongCommonMethod.Instance.iPlayingMethod);
            //text.Append(mcm.ReadInt32toInt4(roomInfo.caOpenRoomParam[1], 0) * 10 + mcm.ReadInt32toInt4(roomInfo.caOpenRoomParam[0], 0));
            //int rowNum = 2;
            //text.Append(mcm.ReadColumnValue(roomInfo.caOpenRoomParam, rowNum, 4) > 0 ? "局 " : "圈 ");

            #region oldCode
            //switch (roomInfo.iPlayingMethod)
            //{
            //    case 1:
            //    case 2:
            //    case 4:
            //    case 5:
            //    case 8:
            //    case 9:
            //    case 11:
            //    case 12:
            //    case 13:
            //    case 14:
            //        text.Append(roomInfo.caOpenRoomParam[0]);
            //        text.Append("圈");
            //        break;
            //    case 7:
            //    case 10:
            //        if(roomInfo.caOpenRoomParam[0]==1)
            //        {
            //            text.Append("8局");
            //        }
            //        else if(roomInfo.caOpenRoomParam[0] == 2)
            //        {
            //            text.Append("16局");
            //        }
            //        else if (roomInfo.caOpenRoomParam[0] == 3)
            //        {
            //            text.Append("24局");
            //        }
            //        break;
            //    case 3:
            //    case 6:
            //        text.Append(roomInfo.caOpenRoomParam[0] * 10);
            //        text.Append("分");
            //        break;
            //    default:
            //        text.Append("获取数据错误");
            //        break;
            //}
            #endregion

            RoomMessage[0].text = string.Format("{0:d6}", roomInfo.roomNum);
            RoomMessage[1].text = text.ToString();
            RoomMessage[2].text = MahjongCommonMethod.Instance.UnixTimeStampToDateTime(roomInfo.iOpenRoomTime, 0).ToString("yyyy-MM-dd  HH:mm");
        }
Example #6
0
        /// <summary>
        /// 处理点击邀请按钮
        /// </summary>
        public void HandleBtnShareWx()
        {
            // Debug.LogError("+++RoomId :" +Convert.ToInt32( RoomMessage[0].text));
            string url = SDKManager.WXInviteUrl + Convert.ToInt32(RoomMessage[0].text);
            // Debug.LogError("分享链接" + url);
            string city;

            try
            {
                city = MahjongLobby_AH.GameData.Instance.SelectAreaPanelData.listCityMessage[MahjongLobby_AH.GameData.Instance.PlayerNodeDef.iCityId].cityName;
            }
            catch (System.Exception)
            {
                city = "双喜";
            }
            StringBuilder title = new StringBuilder();
            // Debug.LogError("玩法Num" + MahjongCommonMethod.Instance.iPlayingMethod);
            MahjongCommonMethod mcm = MahjongCommonMethod.Instance;

            if (MahjongLobby_AH.SDKManager.Instance.CheckStatus == 1)
            {
                title.AppendFormat("代开房间:{0}麻将->{1}<-房号:{2} 点击进入房间", city, "推倒胡", Convert.ToInt32(RoomMessage[0].text).ToString("d6"));
            }
            else
            {
                title.AppendFormat("代开房间:{0}麻将->{1}<-房号:{2} 点击进入房间", city, mcm._dicMethodConfig[roomInfo.iPlayingMethod].METHOD_NAME, Convert.ToInt32(RoomMessage[0].text).ToString("d6"));
            }
            StringBuilder discription = new StringBuilder("玩法:");

            mcm.ShowParamOfOpenRoom(ref discription, roomInfo.caOpenRoomParam, 0, MahjongCommonMethod.Instance.iPlayingMethod);

            #region 代替换
            //switch (roomInfo.iPlayingMethod)
            //{
            //    case 1:
            //        if (roomInfo.caOpenRoomParam[0] == 1) discription.Append("1圈 ");
            //        else if (roomInfo.caOpenRoomParam[0] == 2) discription.Append("2圈 ");
            //        else discription.Append("3圈 ");

            //        if (roomInfo.caOpenRoomParam[1] == 0) discription.Append("");
            //        else discription.Append("明杠收三家 ");

            //        if (roomInfo.caOpenRoomParam[2] == 0) discription.Append("");
            //        else if (roomInfo.caOpenRoomParam[2] == 1) discription.Append("可胡七对 ");

            //        if (roomInfo.caOpenRoomParam[3] == 0) discription.Append("");
            //        else if (roomInfo.caOpenRoomParam[3] == 1) discription.Append("十三不靠 ");

            //        if (roomInfo.caOpenRoomParam[4] == 0) discription.Append("");
            //        else if (roomInfo.caOpenRoomParam[4] == 1) discription.Append("四杠荒庄 ");

            //        if (roomInfo.caOpenRoomParam[5] == 0) discription.Append("");
            //        else if (roomInfo.caOpenRoomParam[5] == 1) discription.Append("前台 ");
            //        else discription.Append("后和 ");

            //        if (roomInfo.caOpenRoomParam[6] == 0) discription.Append("");
            //        else if (roomInfo.caOpenRoomParam[6] == 1) discription.Append("一炮单响 ");
            //        else discription.Append("一炮多响 ");
            //        break;
            //    case 2:
            //        if (roomInfo.caOpenRoomParam[0] == 1) discription.Append("1圈 ");
            //        else if (roomInfo.caOpenRoomParam[0] == 2) discription.Append("2圈 ");
            //        else discription.Append("3圈 ");

            //        if (roomInfo.caOpenRoomParam[1] == 0) discription.Append("");
            //        else discription.Append("明杠收三家 ");

            //        if (roomInfo.caOpenRoomParam[2] == 0) discription.Append("");
            //        else if (roomInfo.caOpenRoomParam[2] == 1) discription.Append("可胡七对 ");

            //        if (roomInfo.caOpenRoomParam[3] == 0) discription.Append("");
            //        else if (roomInfo.caOpenRoomParam[3] == 1) discription.Append("带字牌 ");

            //        if (roomInfo.caOpenRoomParam[4] == 0) discription.Append("");
            //        else if (roomInfo.caOpenRoomParam[4] == 1) discription.Append("前台 ");
            //        else discription.Append("后和 ");

            //        if (roomInfo.caOpenRoomParam[5] == 0) discription.Append("");
            //        else if (roomInfo.caOpenRoomParam[5] == 1) discription.Append("一炮单响 ");
            //        else discription.Append("一炮多响 ");
            //        break;
            //    case 3:
            //        if (roomInfo.caOpenRoomParam[0] == 1) discription.Append("10分 ");
            //        else if (roomInfo.caOpenRoomParam[0] == 2) discription.Append("20分 ");

            //        if (roomInfo.caOpenRoomParam[1] == 0) discription.Append("");
            //        else discription.Append("明杠收三家 ");

            //        if (roomInfo.caOpenRoomParam[2] == 0) discription.Append("");
            //        else if (roomInfo.caOpenRoomParam[2] == 1) discription.Append("可胡七对 ");

            //        if (roomInfo.caOpenRoomParam[3] == 0) discription.Append("");
            //        else if (roomInfo.caOpenRoomParam[3] == 1) discription.Append("带字牌 ");

            //        if (roomInfo.caOpenRoomParam[4] == 0) discription.Append("");
            //        else if (roomInfo.caOpenRoomParam[4] == 1) discription.Append("前台 ");
            //        else discription.Append("后和 ");
            //        break;
            //    case 4:
            //        if (roomInfo.caOpenRoomParam[0] == 1) discription.Append("1圈 ");
            //        else if (roomInfo.caOpenRoomParam[0] == 2) discription.Append("2圈 ");
            //        else discription.Append("3圈 ");

            //        if (roomInfo.caOpenRoomParam[1] == 0) discription.Append("");
            //        else if (roomInfo.caOpenRoomParam[1] == 1) discription.Append("带字牌 ");

            //        if (roomInfo.caOpenRoomParam[2] == 0) discription.Append("");
            //        else if (roomInfo.caOpenRoomParam[2] == 1) discription.Append("可胡七对 ");

            //        if (roomInfo.caOpenRoomParam[3] == 0) discription.Append("");
            //        else if (roomInfo.caOpenRoomParam[3] == 1) discription.Append("前台 ");
            //        else discription.Append("后和 ");
            //        break;
            //    case 5:
            //        if (roomInfo.caOpenRoomParam[0] == 1) discription.Append("1圈 ");
            //        else if (roomInfo.caOpenRoomParam[0] == 2) discription.Append("2圈 ");
            //        else discription.Append("3圈 ");

            //        if (roomInfo.caOpenRoomParam[1] == 0) discription.Append("");
            //        else if (roomInfo.caOpenRoomParam[1] == 1) discription.Append("带字牌 ");

            //        if (roomInfo.caOpenRoomParam[2] == 0) discription.Append("");
            //        else if (roomInfo.caOpenRoomParam[2] == 1) discription.Append("可胡七对 ");

            //        if (roomInfo.caOpenRoomParam[3] == 0) discription.Append("");
            //        else if (roomInfo.caOpenRoomParam[3] == 1) discription.Append("前台 ");
            //        else discription.Append("后和 ");
            //        break;
            //    case 6:
            //        if (roomInfo.caOpenRoomParam[0] == 1) discription.Append("30分 ");
            //        else if (roomInfo.caOpenRoomParam[0] == 2) discription.Append("60分 ");
            //        else discription.Append("90分 ");
            //        break;
            //    case 7:
            //        if (roomInfo.caOpenRoomParam[0] == 1) discription.Append("8局 ");
            //        else if (roomInfo.caOpenRoomParam[0] == 2) discription.Append("16局 ");
            //        else discription.Append("24局 ");

            //        if (roomInfo.caOpenRoomParam[1] == 0) discription.Append("");
            //        else if (roomInfo.caOpenRoomParam[1] == 1) discription.Append("自摸翻倍 ");

            //        if (roomInfo.caOpenRoomParam[2] == 0) discription.Append("");
            //        else if (roomInfo.caOpenRoomParam[2] == 1) discription.Append("带字牌 ");
            //        break;
            //    case 8:
            //        if (roomInfo.caOpenRoomParam[0] == 1) discription.Append("1圈 ");
            //        else if (roomInfo.caOpenRoomParam[0] == 2) discription.Append("2圈 ");
            //        else discription.Append("3圈 ");

            //        if (roomInfo.caOpenRoomParam[3] == 0) discription.Append("");
            //        else discription.Append("明杠收三家 ");

            //        if (roomInfo.caOpenRoomParam[1] == 0) discription.Append("");
            //        else if (roomInfo.caOpenRoomParam[1] == 1) discription.Append("可胡七对 ");

            //        if (roomInfo.caOpenRoomParam[2] == 0) discription.Append("");
            //        else if (roomInfo.caOpenRoomParam[2] == 1) discription.Append("十三不靠 ");

            //        if (roomInfo.caOpenRoomParam[5] == 0) discription.Append("");
            //        else if (roomInfo.caOpenRoomParam[5] == 1) discription.Append("前台 ");
            //        else discription.Append("后和 ");

            //        if (roomInfo.caOpenRoomParam[4] == 0) discription.Append("");
            //        else if (roomInfo.caOpenRoomParam[4] == 1) discription.Append("四杠荒庄 ");

            //        break;
            //    case 9:

            //        if (roomInfo.caOpenRoomParam[0] == 1) discription.Append("1圈 ");
            //        else if (roomInfo.caOpenRoomParam[0] == 2) discription.Append("2圈 ");
            //        else discription.Append("3圈 ");

            //        if (roomInfo.caOpenRoomParam[1] == 0) discription.Append("");
            //        else if (roomInfo.caOpenRoomParam[1] == 1) discription.Append("带字牌 ");

            //        if (roomInfo.caOpenRoomParam[2] == 0) discription.Append("");
            //        else if (roomInfo.caOpenRoomParam[2] == 1) discription.Append("可胡七对 ");

            //        if (roomInfo.caOpenRoomParam[3] == 0) discription.Append("一人付 ");
            //        else if (roomInfo.caOpenRoomParam[3] == 1) discription.Append("多人付 ");
            //        break;
            //    case 10:
            //        if (roomInfo.caOpenRoomParam[0] == 1) discription.Append("8局 ");
            //        else if (roomInfo.caOpenRoomParam[0] == 2) discription.Append("16局 ");
            //        else discription.Append("24局 ");

            //        if (roomInfo.caOpenRoomParam[1] == 0) discription.Append("");
            //        else if (roomInfo.caOpenRoomParam[1] == 1) discription.Append("带字牌 ");

            //        if (roomInfo.caOpenRoomParam[2] == 0) discription.Append("");
            //        else if (roomInfo.caOpenRoomParam[2] == 1) discription.Append("可胡七对 ");

            //        if (roomInfo.caOpenRoomParam[3] == 0) discription.Append("一炮单响 ");
            //        else if (roomInfo.caOpenRoomParam[3] == 1) discription.Append("一炮多响 ");
            //        break;
            //    case 11:
            //        if (roomInfo.caOpenRoomParam[0] == 1) discription.Append("1圈 ");
            //        else if (roomInfo.caOpenRoomParam[0] == 2) discription.Append("2圈 ");
            //        else discription.Append("3圈 ");

            //        if (roomInfo.caOpenRoomParam[1] == 0) discription.Append("");
            //        else discription.Append("带字牌 ");

            //        if (roomInfo.caOpenRoomParam[2] == 0) discription.Append("");
            //        else if (roomInfo.caOpenRoomParam[2] == 1) discription.Append("可胡七对 ");

            //        if (roomInfo.caOpenRoomParam[3] == 0) discription.Append("");
            //        else if (roomInfo.caOpenRoomParam[3] == 1) discription.Append("明杠收三家 ");

            //        if (roomInfo.caOpenRoomParam[4] == 0) discription.Append("");
            //        else if (roomInfo.caOpenRoomParam[4] == 1) discription.Append("前台 ");
            //        else if (roomInfo.caOpenRoomParam[4] == 2) discription.Append("后和 ");
            //        else discription.Append("前台加后和");

            //        if (roomInfo.caOpenRoomParam[5] == 0) discription.Append("");
            //        else if (roomInfo.caOpenRoomParam[5] == 1) discription.Append("坐庄 ");

            //        if (roomInfo.caOpenRoomParam[6] == 0) discription.Append("");
            //        else if (roomInfo.caOpenRoomParam[6] == 1) discription.Append("能跑能下 ");

            //        if (roomInfo.caOpenRoomParam[7] == 0) discription.Append("");
            //        else if (roomInfo.caOpenRoomParam[7] == 1) discription.Append("放几出几 ");
            //        break;
            //    case 12:
            //        if (roomInfo.caOpenRoomParam[0] == 1) discription.Append("1圈 ");
            //        else if (roomInfo.caOpenRoomParam[0] == 2) discription.Append("2圈 ");
            //        else discription.Append("3圈 ");

            //        if (roomInfo.caOpenRoomParam[1] == 0) discription.Append("");
            //        else discription.Append("带字牌 ");
            //        break;
            //    case 13:
            //        if (roomInfo.caOpenRoomParam[0] == 1) discription.Append("1圈 ");
            //        else if (roomInfo.caOpenRoomParam[0] == 2) discription.Append("2圈 ");
            //        else discription.Append("3圈 ");

            //        if (roomInfo.caOpenRoomParam[1] == 0) discription.Append("");
            //        else discription.Append("带字牌 ");

            //        if (roomInfo.caOpenRoomParam[2] == 0) discription.Append("");
            //        else if (roomInfo.caOpenRoomParam[2] == 1) discription.Append("前台 ");
            //        else if (roomInfo.caOpenRoomParam[2] == 2) discription.Append("后和 ");
            //        else discription.Append("前台加后和");

            //        if (roomInfo.caOpenRoomParam[3] == 0) discription.Append("");
            //        else discription.Append("翻" + roomInfo.caOpenRoomParam[3] + "倍 ");

            //        if (roomInfo.caOpenRoomParam[4] == 0) discription.Append("");
            //        else if (roomInfo.caOpenRoomParam[4] == 1) discription.Append("可胡七对 ");

            //        break;
            //    case 14:
            //        if (roomInfo.caOpenRoomParam[0] == 1) discription.Append("1圈 ");
            //        else if (roomInfo.caOpenRoomParam[0] == 2) discription.Append("2圈 ");
            //        else discription.Append("3圈 ");

            //        if (roomInfo.caOpenRoomParam[1] == 0) discription.Append("");
            //        else discription.Append("十三幺 ");

            //        if (roomInfo.caOpenRoomParam[2] == 0) discription.Append("");
            //        else if (roomInfo.caOpenRoomParam[2] == 1) discription.Append("可胡七对 ");
            //        break;
            //    case 15:
            //        if (roomInfo.caOpenRoomParam[0] == 0) discription.Append("1圈 ");
            //        else if (roomInfo.caOpenRoomParam[0] == 1) discription.Append("2圈 ");
            //        else discription.Append("3圈 ");

            //        if (roomInfo.caOpenRoomParam[1] == 0) discription.Append("不带字牌 ");
            //        else discription.Append("带字牌 ");

            //        if (roomInfo.caOpenRoomParam[2] == 0) discription.Append("轮庄 ");
            //        else if (roomInfo.caOpenRoomParam[2] == 1) discription.Append("连庄 ");
            //        break;
            //    case 16:
            //        if (roomInfo.caOpenRoomParam[0] == 0) discription.Append("1圈 ");
            //        else if (roomInfo.caOpenRoomParam[0] == 1) discription.Append("2圈 ");
            //        else discription.Append("3圈 ");

            //        if (roomInfo.caOpenRoomParam[1] == 0) discription.Append("不带字牌 ");
            //        else discription.Append("带字牌 ");

            //        if (roomInfo.caOpenRoomParam[2] == 0) discription.Append("被杠者支付 ");
            //        else if (roomInfo.caOpenRoomParam[2] == 1) discription.Append("三家都支付 ");

            //        if (roomInfo.caOpenRoomParam[3] == 0) discription.Append("");
            //        else if (roomInfo.caOpenRoomParam[3] == 1) discription.Append("点炮三分 ");

            //        if (roomInfo.caOpenRoomParam[4] == 0) discription.Append("");
            //        else if (roomInfo.caOpenRoomParam[4] == 1) discription.Append("一炮多响 ");

            //        if (roomInfo.caOpenRoomParam[5] == 0) discription.Append("");
            //        else if (roomInfo.caOpenRoomParam[5] == 1) discription.Append("前抬 ");

            //        if (roomInfo.caOpenRoomParam[6] == 0) discription.Append("");
            //        else if (roomInfo.caOpenRoomParam[6] == 1) discription.Append("后和 ");
            //        break;
            //    case 17:
            //        if (roomInfo.caOpenRoomParam[0] >= 3)
            //        {
            //            if (roomInfo.caOpenRoomParam[0] == 3) discription.Append("4局 ");
            //            else if (roomInfo.caOpenRoomParam[0] == 4) discription.Append("8局 ");
            //            else discription.Append("12局 ");
            //        }
            //        else
            //        {
            //            if (roomInfo.caOpenRoomParam[0] == 0) discription.Append("1圈 ");
            //            else if (roomInfo.caOpenRoomParam[0] == 1) discription.Append("2圈 ");
            //            else discription.Append("3圈 ");
            //        }
            //        if (roomInfo.caOpenRoomParam[1] == 0) discription.Append("");
            //        else discription.Append("带庄 ");

            //        if (roomInfo.caOpenRoomParam[2] == 0) discription.Append("");
            //        else if (roomInfo.caOpenRoomParam[2] == 1) discription.Append("带字牌 ");

            //        if (roomInfo.caOpenRoomParam[3] == 0) discription.Append("");
            //        else if (roomInfo.caOpenRoomParam[3] == 1) discription.Append("明杠收3家 ");

            //        if (roomInfo.caOpenRoomParam[4] == 0) discription.Append("");
            //        else if (roomInfo.caOpenRoomParam[4] == 1) discription.Append("点炮三分 ");

            //        if (roomInfo.caOpenRoomParam[5] == 0) discription.Append("");
            //        else if (roomInfo.caOpenRoomParam[5] == 1) discription.Append("一炮多响 ");

            //        if (roomInfo.caOpenRoomParam[6] == 0) discription.Append("");
            //        else if (roomInfo.caOpenRoomParam[6] == 1) discription.Append("前抬 ");

            //        if (roomInfo.caOpenRoomParam[7] == 0) discription.Append("");
            //        else if (roomInfo.caOpenRoomParam[7] == 1) discription.Append("后和 ");

            //        if (roomInfo.caOpenRoomParam[8] == 0) discription.Append("");
            //        else if (roomInfo.caOpenRoomParam[8] == 1) discription.Append("抢庄 ");

            //        if (roomInfo.caOpenRoomParam[9] == 0) discription.Append("");
            //        else if (roomInfo.caOpenRoomParam[9] == 1) discription.Append("杠随胡走 ");

            //        if (roomInfo.caOpenRoomParam[10] == 0) discription.Append("");
            //        else if (roomInfo.caOpenRoomParam[10] == 1) discription.Append("仅自摸 ");
            //        break;
            //    default:
            //        break;
            //}
            #endregion

            MahjongLobby_AH.SDKManager.Instance.HandleShareWX(url, title.ToString(), discription.ToString(), 0, 0, 0, "");
        }
        /// <summary>
        /// 更新面板
        /// </summary>
        public void UpdateShow()
        {
            GameData          gd   = GameData.Instance;
            UserInfoPanelData uipd = gd.UserInfoPanelData;

            if (uipd.isPanelShow)
            {
                gameObject.SetActive(true);

                if (SDKManager.Instance.IOSCheckStaus == 1 || SDKManager.Instance.CheckStatus == 1)
                {
                    ParlorMessage.SetActive(false);
                }
                else
                {
                    ParlorMessage.SetActive(true);
                }

                if (gd.PlayerNodeDef.iPlayCardAcc != 0)
                {
                    PlayerNode[0].text = (gd.PlayerNodeDef.iPlayCardTimeAcc / gd.PlayerNodeDef.iPlayCardAcc).ToString("0") + "秒/平均";
                }
                else
                {
                    PlayerNode[0].text = "0秒/平均";
                }

                // Debug.LogError("游戏局数:" + gd.PlayerNodeDef.iGameNumAcc + ",掉线次数:" + gd.PlayerNodeDef.iDisconnectAcc);

                if (gd.PlayerNodeDef.iGameNumAcc != 0)
                {
                    PlayerNode[1].text = ((gd.PlayerNodeDef.iDisconnectAcc / (float)gd.PlayerNodeDef.iGameNumAcc) * 100f).ToString("0.00") + "%";
                }
                else
                {
                    PlayerNode[1].text = "0%";
                }
                //声音关闭按钮显示
                Button[] gomusic = _Music.GetComponentsInChildren <Button>(true);
                gomusic[0].gameObject.SetActive(MahjongCommonMethod.Instance.isMusicShut);
                gomusic[1].gameObject.SetActive(!MahjongCommonMethod.Instance.isMusicShut);
                Button[] goeffect = _Effect.GetComponentsInChildren <Button>(true);
                goeffect[0].gameObject.SetActive(MahjongCommonMethod.Instance.isEfectShut);
                goeffect[1].gameObject.SetActive(!MahjongCommonMethod.Instance.isEfectShut);
                _sliderM.value     = MahjongCommonMethod.Instance.MusicVolume * 0.01f;
                _sliderE.value     = MahjongCommonMethod.Instance.EffectValume * 0.01f;
                PlayerNode[2].text = gd.PlayerNodeDef.iCompliment.ToString();
                PlayerNode[3].text = MahjongCommonMethod.PlayerIp;
                PlayerNode[4].text = gd.PlayerNodeDef.iUserId.ToString();
                PlayerNode[5].text = gd.PlayerNodeDef.szNickname;
                MahjongCommonMethod com = MahjongCommonMethod.Instance;
                com.GetPlayerAvatar(headImage, gd.PlayerNodeDef.szHeadimgurl);
                if (uipd.SettingPanelShow)
                {
                    SettingPanel.SetActive(true);
                }
                else
                {
                    SettingPanel.SetActive(false);
                }

                //处理麻将馆信息
                PlayerNodeDef pnd = GameData.Instance.PlayerNodeDef;
                if (pnd.iMyParlorId > 0)
                {
                    ParlorIdentity.text  = "麻将馆老板";
                    JoinParlorTitle.text = "创建的麻将馆:";
                }
                else
                {
                    ParlorIdentity.text  = "麻将馆会员";
                    JoinParlorTitle.text = "加入的麻将馆:";
                }
                ParlorShowPanelData pspd = GameData.Instance.ParlorShowPanelData;
                int parlorCount          = 0;
                for (int i = 0; i < pspd.parlorInfoDef.Length; i++)
                {
                    if (pspd.parlorInfoDef[i] != null && pspd.parlorInfoDef[i].iParlorId > 0)
                    {
                        parlorCount++;
                        Parlor[i].SetActive(true);
                        Parlor[i].transform.GetChild(1).GetComponent <Text>().text = pspd.parlorInfoDef[i].szParlorName;
                    }
                    else
                    {
                        Parlor[i].SetActive(false);
                    }
                }

                if (parlorCount == 0)
                {
                    NoneParlor.SetActive(true);
                }
                else
                {
                    NoneParlor.SetActive(false);
                }


                ParlorCount[0].text = pnd.iLeaveParlorAcc + "次";

                if (pnd.iMyParlorId > 0)
                {
                    ParlorCount[1].text = (pnd.iCreatParlorAcc + 1) + "次";
                }
                else
                {
                    ParlorCount[1].text = (pnd.iCreatParlorAcc) + "次";
                }
                ParlorCount[2].text = pnd.iKickParlorAcc + "次";
                ParlorCount[3].text = pnd.iDismissParlorAcc + "次";
            }
            else
            {
                GameData.Instance.isShowQuitPanel = true;
                gameObject.SetActive(false);
            }
        }
Example #8
0
        /// <summary>
        /// 产生玩法数量的预置体
        /// </summary>
        /// <param name="index">玩法id</param>
        /// <param name="ChoiceIndex">玩家选择的下标</param>
        void SpwanPayNum(int index)
        {
            int ChoiceIndex = -1;

            MahjongCommonMethod    mcm  = MahjongCommonMethod.Instance;
            PlayerPlayingPanelData pppd = GameData.Instance.PlayerPlayingPanelData;


            //玩法局或圈的数量
            int[] sum = new int[5];
            //玩法数量对应支付的房卡数量
            int[] pay = new int[5];

            //获取对应的游戏局或者圈的数量
            if (mcm._dicMethodConfig[index].sum.Contains("|"))
            {
                string[] str_0 = mcm._dicMethodConfig[index].sum.Split('|')[0].Split('_');
                string[] str_1 = mcm._dicMethodConfig[index].sum.Split('|')[1].Split('_');
                for (int i = 0; i < 3; i++)
                {
                    sum[i] = Convert.ToInt16(str_0[i]);
                }

                for (int i = 0; i < 2; i++)
                {
                    sum[i + 3] = Convert.ToInt16(str_1[i]);
                }
            }
            else
            {
                string[] str_0 = mcm._dicMethodConfig[index].sum.Split('_');
                for (int i = 0; i < 3; i++)
                {
                    if (i < str_0.Length)
                    {
                        sum[i] = Convert.ToInt16(str_0[i]);
                    }
                    else
                    {
                        sum[i] = 0;
                    }
                }
                sum[3] = 0;
                sum[4] = 0;
            }


            //获取玩家对应的支付数量
            if (mcm._dicMethodConfig[index].pay.Contains("|"))
            {
                string[] str_0 = mcm._dicMethodConfig[index].pay.Split('|')[0].Split('_');
                string[] str_1 = mcm._dicMethodConfig[index].pay.Split('|')[1].Split('_');
                for (int i = 0; i < 3; i++)
                {
                    pay[i] = Convert.ToInt16(str_0[i]);
                }

                for (int i = 0; i < 2; i++)
                {
                    pay[i + 3] = Convert.ToInt16(str_1[i]);
                }
            }
            else
            {
                string[] str_0 = mcm._dicMethodConfig[index].pay.Split('_');
                for (int i = 0; i < 3; i++)
                {
                    if (i < str_0.Length)
                    {
                        pay[i] = Convert.ToInt16(str_0[i]);
                    }
                    else
                    {
                        pay[i] = 0;
                    }
                }
                pay[3] = 0;
                pay[4] = 0;
            }

            //if (index == 17)
            //{
            //    sum[3] = 4; pay[3] = pay[0];
            //    sum[4] = 8; pay[4] = pay[1];
            //    sum[5] = 12; pay[5] = pay[2];
            //}

            //int addChoiceIndex = 0;
            if (index == 17)
            {
                if (pppd.playingMethodConf.byBillingMode == 2)
                {
                    sum[0] = 4;
                    sum[1] = 8;
                    sum[2] = 12;
                    //addChoiceIndex = 3;
                }
            }
            int count = 0;

            //根据付费数量,判断出玩家的信息
            for (int i = 0; i < 5; i++)
            {
                if (index == 2 && pppd.playingMethodConf.byBillingPrice == pay[i] && pppd.playingMethodConf.byBillingMode == 2)
                {
                    ChoiceIndex = i;
                    //pppd.playingMethodConf.byBillingMode = 1;
                }
                else if (pppd.playingMethodConf.byBillingNumber == sum[i] && pppd.playingMethodConf.byBillingPrice == pay[i])
                {
                    ChoiceIndex = i;
                }
            }

            MahjongLobby_AH.Data.CreatRoomMessagePanelData cd = MahjongLobby_AH.GameData.Instance.CreatRoomMessagePanelData;
            if (MahjongCommonMethod.Instance.ReadColumnValue(cd.roomMessage_, 2, 39) <= 1)
            {
                for (int pay_index = 0; pay_index < pay.Length; pay_index++)
                {
                    if (pay[pay_index] != 0)
                    {
                        pay[pay_index] = pay[pay_index] / 4;
                        Debug.LogError(pay[pay_index]);
                    }
                }
            }

            //删除自己的之前的房间规则信息
            CreatRoomChoiceMethod[] method = PayNumParent.Find("GameNumbers").GetComponentsInChildren <CreatRoomChoiceMethod>();
            if (method.Length > 0)
            {
                for (int i = 0; i < method.Length; i++)
                {
                    Destroy(method[i].gameObject);
                }
            }

            //产生对应的玩法数据
            for (int i = 0; i < sum.Length; i++)
            {
                if (sum[i] == 0)
                {
                    continue;
                }

                GameObject go = Instantiate(Resources.Load <GameObject>("Lobby/PlayerMethodPanel/CreatRoomChoiceMethod"));
                go.name = "CreatRoomChoiceMethod";
                go.transform.SetParent(PayNumParent.Find("GameNumbers"));
                go.transform.localPosition = new Vector3(go.transform.localPosition.x, go.transform.localPosition.y, 0);
                go.transform.localScale    = Vector3.one;
                if (i == ChoiceIndex)
                {
                    go.transform.GetComponent <Toggle>().isOn = true;
                }
                else
                {
                    go.transform.GetComponent <Toggle>().isOn = false;
                }

                go.transform.GetComponent <Toggle>().interactable = false;
                CreatRoomChoiceMethod crcm = go.GetComponent <CreatRoomChoiceMethod>();

                crcm.type = pppd.playingMethodConf.byBillingMode;
                crcm.num  = sum[i];
                crcm.pay  = pay[i];
                crcm.UpdateShow();
                count++;
            }

            if (pppd.playingMethodConf.byBillingMode == 1)
            {
                PayNumParent.GetChild(1).GetComponent <Text>().text = "圈数:";
            }
            else if (pppd.playingMethodConf.byBillingMode == 2)
            {
                PayNumParent.GetChild(1).GetComponent <Text>().text = "局数:";
            }
            else if (pppd.playingMethodConf.byBillingMode == 3)
            {
                PayNumParent.GetChild(1).GetComponent <Text>().text = "分数:";
            }

            PayNumParent.GetComponent <LayoutElement>().minHeight = 60f;
            //PayNumParent.GetComponent<LayoutElement>().minHeight = 60f + ((int)(count / 3f + 0.5f) - 1f) * 45;
        }
Example #9
0
        /// <summary>
        /// 产生规则的信息
        /// </summary>
        /// <param name="index"></param>
        void SpwanMethod(int index)
        {
            int num_MultiChoiceBtn = 0;  //表示隐藏多选按钮数量
            //int num_OnlyOneChoice = 0;  //表示隐藏多选按钮数量
            MahjongCommonMethod mcm = MahjongCommonMethod.Instance;

            MahjongLobby_AH.Data.CreatRoomMessagePanelData cd = MahjongLobby_AH.GameData.Instance.CreatRoomMessagePanelData;

            //删除规则
            for (int i = 0; i < RuleParent.Length - 1; i++)
            {
                Toggle[] tog = new Toggle[RuleParent[i].GetComponentsInChildren <Toggle>().Length];
                tog = RuleParent[i].GetComponentsInChildren <Toggle>();
                if (tog.Length > 0)
                {
                    for (int k = 0; k < tog.Length; k++)
                    {
                        Destroy(tog[k].gameObject);
                    }
                }
            }
            #region 托管条显示不显示
            ///////////////////////////////////////////////////////////
            if (cd.roomMessage_[5] > 0)
            {
                TuoGuan.SetActive(true);
                GameObject gotuoguan = null;
                m_GameRule.enabled = true;

                m_GameRule.transform.GetChild(0).GetChild(0).transform.SetParent(m_GameRule.transform.GetChild(0));
                m_GameRule.transform.GetChild(0).GetChild(0).transform.localPosition = new Vector3(0, 0, 0);
                for (int i = 0; i < 4; i++)
                {
                    gotuoguan = Instantiate(Resources.Load <GameObject>("Lobby/PlayerMethodPanel/OnlyOneChoice"));
                    gotuoguan.GetComponent <Toggle>().group = RuleParent[3].GetComponent <ToggleGroup>();
                    gotuoguan.name = "OnlyOneChoice";

                    gotuoguan.transform.SetParent(RuleParent[3].transform);
                    gotuoguan.transform.localPosition = new Vector3(gotuoguan.transform.localPosition.x, gotuoguan.transform.localPosition.y, 0);
                    gotuoguan.transform.localScale    = Vector3.one;
                    gotuoguan.transform.Find("Label").GetComponent <Text>().text = MahjongLobby_AH.UIMainView.Instance.CreatRoomMessagePanel.lTuoGuan[i];
                    gotuoguan.GetComponent <Toggle>().interactable = false;
                    int LateTime = 0;
                    if (i != 0)
                    {
                        string str = MahjongLobby_AH.UIMainView.Instance.CreatRoomMessagePanel.lTuoGuan[i];
                        str      = str.Substring(0, MahjongLobby_AH.UIMainView.Instance.CreatRoomMessagePanel.lTuoGuan[i].Length - 1);
                        LateTime = (Convert.ToInt32(str) / 60);
                    }

                    if (cd.roomMessage_[5] == LateTime)
                    {
                        gotuoguan.GetComponent <Toggle>().isOn = true;
                    }
                    else
                    {
                        gotuoguan.GetComponent <Toggle>().isOn = false;
                    }
                }
            }
            else
            {
                TuoGuan.SetActive(false);
                m_GameRule.enabled = false;
            }
            if (MahjongCommonMethod.Instance.ReadColumnValue(cd.roomMessage_, 2, 39) == 2)
            {
                RuleParent[4].transform.GetChild(0).GetComponent <Toggle>().isOn = true;
                RuleParent[4].transform.GetChild(1).GetComponent <Toggle>().isOn = false;
            }
            else if (MahjongCommonMethod.Instance.ReadColumnValue(cd.roomMessage_, 2, 39) <= 1)
            {
                RuleParent[4].transform.GetChild(0).GetComponent <Toggle>().isOn = false;
                RuleParent[4].transform.GetChild(1).GetComponent <Toggle>().isOn = true;
            }
            if (RuleParent[0].GetComponentsInChildren <Transform>().Length < 1)
            {
                RuleParent[0].transform.parent.gameObject.SetActive(false);
            }
            else
            {
                RuleParent[0].transform.parent.gameObject.SetActive(true);
            }

            if (PlayGoldModth.activeSelf)
            {
                m_GameRule.enabled = true;
            }
            #endregion

            if (!mcm._dicMethodCardType.ContainsKey(index))
            {
                RuleParent_.SetActive(false);
                return;
            }
            RuleParent_.SetActive(true);
            //该玩法有多个规则可以实现
            for (int i = 0; i < mcm._dicMethodCardType[index].Count; i++)
            {
                GameObject go = null;

                //如果该玩法为多选
                if (mcm._dicmethodToCardType[index][i].Choice == 2)
                {
                    go      = Instantiate(Resources.Load <GameObject>("Lobby/PlayerMethodPanel/MultiChoiceBtn"));
                    go.name = "MultiChoiceBtn";
                    if (mcm._dicmethodToCardType[index][i].Hierarchy == 1)
                    {
                        num_MultiChoiceBtn++;
                    }
                    else
                    {
                        RuleParent[mcm._dicmethodToCardType[index][i].Hierarchy - 1].GetComponent <GridLayoutGroup>().padding.left = 65;
                        go.transform.Find("Label").transform.localPosition += new Vector3(20, 0, 0);
                    }
                }
                else
                {
                    go = Instantiate(Resources.Load <GameObject>("Lobby/PlayerMethodPanel/OnlyOneChoice"));
                    go.GetComponent <Toggle>().group = RuleParent[mcm._dicmethodToCardType[index][i].Hierarchy - 1].GetComponent <ToggleGroup>();
                    go.name = "OnlyOneChoice";
                }
                bool status = mcm.JudgeIsShow(mcm._dicmethodToCardType[index][i].RuleId);
                if (status)
                {
                    for (int k = 0; k < mcm._dicMethodCardType[index].Count; k++)
                    {
                        if (mcm._dicMethodCardType[index][i].ID == mcm._dicmethodToCardType[index][i].RuleId)
                        {
                            SelectContent.Add(mcm._dicMethodCardType[index][i].notes);
                            break;
                        }
                    }
                }
                go.transform.SetParent(RuleParent[mcm._dicmethodToCardType[index][i].Hierarchy - 1].transform);
                go.transform.localPosition = new Vector3(go.transform.localPosition.x, go.transform.localPosition.y, 0);
                go.transform.localScale    = Vector3.one;
                go.transform.Find("Label").GetComponent <Text>().text = mcm._dicMethodCardType[index][i].card_type;
                go.GetComponent <Toggle>().interactable = false;
                if (status)
                {
                    go.transform.Find("Label").GetComponent <Text>().color = new Color(1, 0, 0, 1);//红色 选中为红色
                    go.GetComponent <Toggle>().isOn = true;
                }
            }

            if (num_MultiChoiceBtn <= 4)
            {
                RuleParent[0].GetComponentInParent <LayoutElement>().minHeight = 70f;
            }
            else
            {
                RuleParent[0].GetComponentInParent <LayoutElement>().minHeight = 120f;
            }


            //if (num_OnlyOneChoice == 0)
            //{
            //    RuleParent[1].SetActive(false);
            //    RuleParent[2].SetActive(false);
            //}
            //else
            //{
            //    RuleParent[1].SetActive(true);
            //    RuleParent[2].SetActive(true);
            //}

            RuleParent_.GetComponent <LayoutElement>().minHeight = 170f + (int)((num_MultiChoiceBtn) / 4f - 0.5f) * 50f;
        }