Ejemplo n.º 1
0
    /// <summary>
    /// 获取游戏控制器
    /// </summary>
    /// <param name="gameId"></param>
    /// <returns></returns>
    private IGameCtrl GetGameCtrl(int gameId)
    {
        cfg_gameEntity gameEntity = cfg_gameDBModel.Instance.Get(gameId);

        if (gameEntity != null)
        {
            return(GetGameCtrl(gameEntity.GameType));
        }
        return(null);
    }
Ejemplo n.º 2
0
    /// <summary>
    /// 设置菜单点击
    /// </summary>
    /// <param name="gameId"></param>
    private void OnSettingMenuClick(int gameId)
    {
        m_nCurrentSelectGame = gameId;
        List <cfg_settingEntity> lst        = cfg_settingDBModel.Instance.GetRuleByGameId(gameId);
        cfg_gameEntity           gameEntity = cfg_gameDBModel.Instance.Get(gameId);

        if (gameEntity == null)
        {
            return;
        }
        int payment = gameEntity.Payment;

        int playerCount = 0;

        for (int i = 0; i < lst.Count; ++i)
        {
            cfg_settingEntity entity = lst[i];
            if (entity.tags.Equals("player"))
            {
                List <cfg_settingEntity> options = cfg_settingDBModel.Instance.GetOptionsByRuleNameAndGameId(entity.gameId, entity.label);
                for (int j = 0; j < options.Count; ++j)
                {
                    if (options[j].init == 1)
                    {
                        playerCount = options[j].value;
                    }
                }
                break;
            }
        }
        bool isAA = payment == 1;

        if (payment == 2)
        {
            for (int i = 0; i < lst.Count; ++i)
            {
                cfg_settingEntity entity = lst[i];
                if (entity.tags.Equals("card"))
                {
                    List <cfg_settingEntity> options = cfg_settingDBModel.Instance.GetOptionsByRuleNameAndGameId(entity.gameId, entity.label);
                    for (int j = 0; j < options.Count; ++j)
                    {
                        if (options[j].init == 1)
                        {
                            isAA = options[j].value == 2;
                        }
                    }
                    break;
                }
            }
        }

        m_UICreateRoomView.SetContent(lst, payment, isAA, playerCount);
    }
Ejemplo n.º 3
0
    /// <summary>
    /// 游戏按钮点击
    /// </summary>
    /// <param name="obj"></param>
    private void btnRecordViewGameClick(object[] obj)
    {
        int            gameID = (int)obj[0];
        cfg_gameEntity game   = cfg_gameDBModel.Instance.Get(gameID);

        if (game == null)
        {
            return;
        }
        RequestRecord(game.id);
    }
Ejemplo n.º 4
0
 /// <summary>
 /// 字符串转换
 /// </summary>
 /// <param name="str"></param>
 /// <param name="roomId"></param>
 /// <param name="gameId"></param>
 /// <param name="cfgId"></param>
 /// <param name="groupId"></param>
 /// <returns></returns>
 private string StringConvert(string str, int roomId = 0, int gameId = 0, int[] cfgId = null, int groupId = 0)
 {
     if (str.IndexOf("[&playerId]") > -1)
     {
         str = str.Replace("[&playerId]", AccountProxy.Instance.CurrentAccountEntity.passportId.ToString());
     }
     if (str.IndexOf("[&groupId]") > -1)
     {
         if (groupId > 0)
         {
             str = str.Replace("[&groupId]", "群Id:" + groupId.ToString());
         }
         else
         {
             str = str.Replace("[&groupId]", string.Empty);
         }
     }
     if (str.IndexOf("[&roomId]") > -1)
     {
         if (roomId == 0)
         {
             roomId = GameCtrl.Instance.GetRoomEntity().roomId;
         }
         str = str.Replace("[&roomId]", roomId.ToString());
     }
     if (str.IndexOf("[&gameName]") > -1)
     {
         if (gameId == 0)
         {
             gameId = GameCtrl.Instance.CurrentGameId;
         }
         cfg_gameEntity entity = cfg_gameDBModel.Instance.Get(gameId);
         if (entity != null)
         {
             str = str.Replace("[&gameName]", entity.GameName);
         }
     }
     if (str.IndexOf("[&rule]") > -1)
     {
         if (cfgId == null)
         {
             List <cfg_settingEntity> lst = GameCtrl.Instance.GetRoomEntity().Config;
             string temp = string.Empty;
             for (int i = 0; i < lst.Count; ++i)
             {
                 temp += lst[i].name + " ";
             }
             str = str.Replace("[&rule]", temp);
         }
         else
         {
             string temp = string.Empty;
             for (int i = 0; i < cfgId.Length; ++i)
             {
                 cfg_settingEntity entity = cfg_settingDBModel.Instance.Get(cfgId[i]);
                 if (entity != null)
                 {
                     temp += entity.name + " ";
                 }
             }
             str = str.Replace("[&rule]", temp);
         }
     }
     return(str);
 }
Ejemplo n.º 5
0
    /// <summary>
    /// 根据牌局Id请求战绩回调
    /// </summary>
    /// <param name="args"></param>
    private void RequestRecordByBattleIdCallBack(NetWorkHttp.CallBackArgs args)
    {
        m_isBusy = false;
        if (args.HasError)
        {
            ShowMessage("提示", "网络连接失败");
        }
        else
        {
            if (args.Value.code < 0)
            {
                ShowMessage("提示", args.Value.msg);
                return;
            }

            LitJson.JsonData jsonData = args.Value.data;
            if (jsonData.Count == 0)
            {
                ShowMessage("提示", "无此牌局战绩");
                return;
            }
            List <TestRecord> lstRecord = LitJson.JsonMapper.ToObject <List <TestRecord> >(jsonData.ToJson());

            RecordProxy.Instance.AllRecord = lstRecord;

            cfg_gameEntity gameEntity = cfg_gameDBModel.Instance.Get(m_CurrentRequestGameId);
            if (gameEntity == null)
            {
                return;
            }
            string gameType = gameEntity.GameType;

            TransferData data = new TransferData();
            data.SetValue("GameType", gameType);
            List <TransferData> lst = new List <TransferData>();
            for (int i = 0; i < lstRecord.Count; ++i)
            {
                TestRecord   record     = lstRecord[i];
                TransferData recordData = new TransferData();
                recordData.SetValue("Index", i + 1);
                recordData.SetValue("BattleId", record.battleId);
                recordData.SetValue("RoomId", record.roomId);
                recordData.SetValue("GameId", record.gameId);
                recordData.SetValue("MaxLoop", record.detail.Count);
                recordData.SetValue("RoomType", record.roomType);
                recordData.SetValue("OwnerName", record.ownerName);
                recordData.SetValue("DateTime", record.time);
                List <TransferData> lstPlayer = new List <TransferData>();
                for (int j = 0; j < record.Players.Count; ++j)
                {
                    TestPlayer   player     = record.Players[j];
                    TransferData playerData = new TransferData();
                    playerData.SetValue("NickName", player.nickname);
                    playerData.SetValue("Gold", player.gold);
                    playerData.SetValue("PlayerID", player.id);
                    playerData.SetValue("IsPlayer", player.id == AccountProxy.Instance.CurrentAccountEntity.passportId);
                    lstPlayer.Add(playerData);
                }
                recordData.SetValue("Player", lstPlayer);
                lst.Add(recordData);
            }
            data.SetValue("Record", lst);
            m_UIRecordView.ShowRecord(data);
        }
    }
Ejemplo n.º 6
0
    /// <summary>
    /// 查看详情按钮点击
    /// </summary>
    /// <param name="battleId"></param>
    private void OnBtnRecordViewDetailClick(object[] obj)
    {
        int battleId = (int)obj[0];

        if (battleId == 0)
        {
            ShowMessage("提示", "请输入正确的战绩号");
            return;
        }

        TestRecord record = RecordProxy.Instance.GetRecord(battleId);

        if (record == null)
        {
            return;
        }

        cfg_gameEntity gameEntity = cfg_gameDBModel.Instance.Get(m_CurrentRequestGameId);

        if (gameEntity == null)
        {
            return;
        }
        string gameType = gameEntity.GameType;

        TransferData data = new TransferData();

        data.SetValue("GameType", gameType);
        data.SetValue("BattleId", battleId);
        data.SetValue("RoomId", record.roomId);
        data.SetValue("GameId", record.gameId);
        data.SetValue("MaxLoop", record.detail.Count);
        data.SetValue("DateTime", record.time);
        data.SetValue("ChineseGameName", gameEntity.GameName);
        data.SetValue("OwnerName", record.ownerName);


        List <TransferData> lstPlayers = new List <TransferData>();
        List <TransferData> lst        = new List <TransferData>();

        for (int i = 0; i < record.Players.Count; ++i)
        {
            TransferData playerData = new TransferData();
            playerData.SetValue("NickName", record.Players[i].nickname);
            playerData.SetValue("Gold", record.Players[i].gold);
            lstPlayers.Add(playerData);
        }
        data.SetValue("Player", lstPlayers);
        for (int i = 0; i < record.detail.Count; ++i)
        {
            TestRecordDetail detail     = record.detail[i];
            TransferData     recordData = new TransferData();
            recordData.SetValue("RecordId", detail.id);
            recordData.SetValue("Loop", detail.loop);
            recordData.SetValue("DateTime", detail.time);
            List <TransferData> lstPlayer = new List <TransferData>();
            for (int j = 0; j < detail.players.Count; ++j)
            {
                TransferData playerData = new TransferData();
                playerData.SetValue("NickName", detail.players[j].nickname);
                playerData.SetValue("Gold", detail.players[j].gold);
                playerData.SetValue("Avatar", detail.players[j].avatar);
                List <TransferData> lstPoker = new List <TransferData>();
                for (int k = 0; k < detail.players[j].poker.Count; ++k)
                {
                    TransferData pokerData = new TransferData();
                    pokerData.SetValue("Color", detail.players[j].poker[k].color);
                    pokerData.SetValue("Size", detail.players[j].poker[k].size);
                    lstPoker.Add(pokerData);
                }
                playerData.SetValue("Pokers", lstPoker);
                lstPlayer.Add(playerData);
            }
            recordData.SetValue("Player", lstPlayer);
            lst.Add(recordData);
        }
        data.SetValue("RecordDetail", lst);
        m_UIRecordView.ShowRecordDetail(data);
    }