Beispiel #1
0
        public bool CheckRuneLevelupAvailable()
        {
            bool flag = this.runedic == null;

            if (flag)
            {
                this.ReadRuneRequire(null);
            }
            List <int> list = new List <int>(this.runeReqDic.Keys);
            bool       result;

            for (int i = 0; i < list.Count; i++)
            {
                int  now_lv = this.runedic[list[i]].now_lv;
                bool flag2  = now_lv == this.runeReqDic[list[i]].Count;
                if (!flag2)
                {
                    RuneRequire runeRequire = this.runeReqDic[list[i]][now_lv + 1];
                    bool        flag3       = (ulong)ModelBase <PlayerModel> .getInstance().lvl >= (ulong)((long)runeRequire.req_role_lvl) && (ulong)ModelBase <PlayerModel> .getInstance().up_lvl >= (ulong)((long)runeRequire.req_role_zhuan);

                    if (flag3)
                    {
                        result = true;
                        return(result);
                    }
                }
            }
            result = false;
            return(result);
        }
Beispiel #2
0
        public bool CheckRuneLevelupAvailable()
        {
            if (runedic == null)
            {
                ReadRuneRequire();
            }
            List <int> rReqKeys = new List <int>(runeReqDic.Keys);

            for (int i = 0; i < rReqKeys.Count; i++)
            {
                int runeLv = runedic[rReqKeys[i]].now_lv;
                //符文等级是否已经是最高?
                if (runeLv == runeReqDic[rReqKeys[i]].Count)
                {
                    continue;
                }
                //其它符文是否满足条件(包括总符文等级和其它符文等级)?
                RuneRequire rReqInfo = runeReqDic[rReqKeys[i]][runeLv + 1];
                //if (runedic[rReqInfo.req_pre_rid].now_lv < rReqInfo.req_pre_rlv)
                //    continue;
                //int req_total_lvl = 0;
                //for (int j = 0; j < rReqKeys.Count; j++)
                //    if (runedic[rReqKeys[j]].type == rReqInfo.req_pre_tarType)
                //        req_total_lvl = req_total_lvl + runedic[rReqKeys[j]].now_lv;
                //if (req_total_lvl < rReqInfo.req_pre_totalLv)
                //    continue;
                //玩家转生和等级是否满足研究条件?
                if (PlayerModel.getInstance().lvl >= rReqInfo.req_role_lvl && PlayerModel.getInstance().up_lvl >= rReqInfo.req_role_zhuan)
                {
                    return(true);
                }
            }
            return(false);
        }
Beispiel #3
0
        private void ReadRuneRequire(List <SXML> listSxml = null)
        {
            bool flag = listSxml == null;

            if (flag)
            {
                listSxml = XMLMgr.instance.GetSXMLList("rune.rune", "");
            }
            for (int i = 0; i < listSxml.Count; i++)
            {
                List <SXML> nodeList = listSxml[i].GetNodeList("level", "");
                int         @int     = listSxml[i].getInt("id");
                bool        flag2    = ModelBase <PlayerModel> .getInstance().profession != listSxml[i].getInt("carr") && listSxml[i].getInt("carr") != 1;

                if (!flag2)
                {
                    bool flag3 = !this.runeReqDic.ContainsKey(@int);
                    if (flag3)
                    {
                        this.runeReqDic.Add(@int, new List <RuneRequire>());
                        for (int j = 0; j < nodeList.Count; j++)
                        {
                            List <RuneRequire> arg_155_0 = this.runeReqDic[@int];
                            RuneRequire        item      = default(RuneRequire);
                            SXML expr_FE = nodeList[j];
                            item.req_role_zhuan = ((expr_FE != null) ? expr_FE.getInt("role_zhuan") : 0);
                            SXML expr_11E = nodeList[j];
                            item.req_role_lvl = ((expr_11E != null) ? expr_11E.getInt("role_lvl") : 0);
                            SXML expr_13D = nodeList[i];
                            item.req_cost = ((expr_13D != null) ? expr_13D.getInt("money_cost") : 0);
                            arg_155_0.Add(item);
                        }
                    }
                    else
                    {
                        Debug.LogError(string.Format("符文Id配置重复,重复id为:{0}", @int));
                    }
                }
            }
        }