public override bool ParseDataFromNDT(TsDataReader dr)
 {
     foreach (TsDataReader.Row data in dr)
     {
         MYTHSKILL_TRAINING mYTHSKILL_TRAINING = new MYTHSKILL_TRAINING();
         mYTHSKILL_TRAINING.SetData(data);
         NrTSingleton <BattleSkill_Manager> .Instance.SetMythSkillTraining(mYTHSKILL_TRAINING);
     }
     return(true);
 }
 public void SetMythSkillTraining(MYTHSKILL_TRAINING TrainingData)
 {
     if (!this.m_hashMythSkillTraining.ContainsKey(TrainingData.m_i32SkillUnique))
     {
         this.m_hashMythSkillTraining.Add(TrainingData.m_i32SkillUnique, new Dictionary <int, MYTHSKILL_TRAINING>());
     }
     if (!this.m_hashMythSkillTraining[TrainingData.m_i32SkillUnique].ContainsKey(TrainingData.m_i32SkillLevel))
     {
         this.m_hashMythSkillTraining[TrainingData.m_i32SkillUnique].Add(TrainingData.m_i32SkillLevel, TrainingData);
     }
 }
 public MYTHSKILL_TRAINING GetMythSkillTraining(int skillUnique, int skillLevel)
 {
     if (this.m_hashMythSkillTraining.ContainsKey(skillUnique))
     {
         foreach (KeyValuePair <int, MYTHSKILL_TRAINING> current in this.m_hashMythSkillTraining[skillUnique])
         {
             int key = current.Key;
             MYTHSKILL_TRAINING value = current.Value;
             if (key == skillLevel)
             {
                 return(value);
             }
         }
     }
     return(null);
 }
    private void SetSkillAndMoneyInfo()
    {
        if (this.pkSolinfo == null)
        {
            return;
        }
        if (this.m_i32SkillUnique <= 0)
        {
            return;
        }
        BATTLESKILL_BASE battleSkillBase = NrTSingleton <BattleSkill_Manager> .Instance.GetBattleSkillBase(this.m_i32SkillUnique);

        if (battleSkillBase == null)
        {
            return;
        }
        int battleSkillLevel = this.pkSolinfo.GetBattleSkillLevel(this.m_i32SkillUnique);

        if (battleSkillBase.m_nMythSkillType == 0)
        {
            BATTLESKILL_TRAINING battleSkillTraining = NrTSingleton <BattleSkill_Manager> .Instance.GetBattleSkillTraining(this.m_i32SkillUnique, battleSkillLevel + 1);

            this.m_i64NeedItem = (long)battleSkillTraining.m_nSkillNeedGold;
        }
        else
        {
            MYTHSKILL_TRAINING mythSkillTraining = NrTSingleton <BattleSkill_Manager> .Instance.GetMythSkillTraining(this.m_i32SkillUnique, battleSkillLevel + 1);

            this.m_i64NeedItem = (long)mythSkillTraining.m_i32SkillNeedItem;
        }
        bool flag        = battleSkillLevel < (int)this.pkSolinfo.GetLevel() && battleSkillLevel < battleSkillBase.m_nSkillMaxLevel;
        bool flag2       = false;
        int  num         = battleSkillLevel + 1;
        int  solMaxLevel = (int)this.pkSolinfo.GetSolMaxLevel();
        int  skillLevel  = Math.Min(num, solMaxLevel);

        if (num > solMaxLevel)
        {
            flag2 = true;
        }
        string           text = string.Empty;
        int              num2 = battleSkillLevel;
        UIBaseInfoLoader battleSkillIconTexture = NrTSingleton <BattleSkill_Manager> .Instance.GetBattleSkillIconTexture(battleSkillBase.m_nSkillUnique);

        this.SkillTargetIcon.SetTexture(battleSkillIconTexture);
        NrTSingleton <CTextParser> .Instance.ReplaceParam(ref text, new object[]
        {
            NrTSingleton <NrTextMgr> .Instance.GetTextFromInterface("1293"),
            "skillname",
            NrTSingleton <NrTextMgr> .Instance.GetTextFromInterface(battleSkillBase.m_strTextKey)
        });

        this.SkillTargetName.Text = text;
        if (num2 == 0)
        {
            num2 = 1;
        }
        NrTSingleton <CTextParser> .Instance.ReplaceParam(ref text, new object[]
        {
            NrTSingleton <NrTextMgr> .Instance.GetTextFromInterface("1885"),
            "skilllevel",
            num2.ToString()
        });

        this.SkillTargetLevel.Text = text;
        NrTSingleton <CTextParser> .Instance.ReplaceParam(ref text, new object[]
        {
            NrTSingleton <NrTextMgr> .Instance.GetTextFromInterface("1868"),
            "skilllevel",
            battleSkillLevel.ToString()
        });

        this.SkillCurrentLevel.Text = text;
        NrTSingleton <CTextParser> .Instance.ReplaceParam(ref text, new object[]
        {
            NrTSingleton <NrTextMgr> .Instance.GetTextFromInterface("1869"),
            "nextskilllevel",
            skillLevel.ToString()
        });

        this.SkillNextLevel.Text = text;
        if (battleSkillLevel == 0)
        {
            text = NrTSingleton <NrTextMgr> .Instance.GetTextFromInterface("1893");
        }
        else
        {
            BATTLESKILL_DETAIL battleSkillDetail = NrTSingleton <BattleSkill_Manager> .Instance.GetBattleSkillDetail(battleSkillBase.m_nSkillUnique, battleSkillLevel);

            if (battleSkillDetail != null)
            {
                NrTSingleton <CTextParser> .Instance.ReplaceBattleSkillParam(ref text, NrTSingleton <NrTextMgr> .Instance.GetTextFromInterface(battleSkillDetail.m_nSkillTooltip), battleSkillDetail, this.pkSolinfo, -1);

                string empty = string.Empty;
                NrTSingleton <CTextParser> .Instance.ReplaceParam(ref empty, new object[]
                {
                    NrTSingleton <NrTextMgr> .Instance.GetTextFromInterface("2153"),
                    "count",
                    battleSkillDetail.m_nSkillNeedAngerlyPoint.ToString()
                });

                this.SkillAngerlypoint.Text = empty;
            }
            else
            {
                NrTSingleton <CTextParser> .Instance.ReplaceParam(ref text, new object[]
                {
                    NrTSingleton <NrTextMgr> .Instance.GetTextFromInterface("1868"),
                    "skilllevel",
                    battleSkillLevel.ToString()
                });
            }
        }
        this.SkillCurrentExplain.SetScrollLabel(text);
        if (flag2)
        {
            text = NrTSingleton <NrTextMgr> .Instance.GetTextFromInterface("1299");
        }
        else
        {
            BATTLESKILL_DETAIL battleSkillDetail2 = NrTSingleton <BattleSkill_Manager> .Instance.GetBattleSkillDetail(battleSkillBase.m_nSkillUnique, skillLevel);

            if (battleSkillDetail2 != null)
            {
                NrTSingleton <CTextParser> .Instance.ReplaceBattleSkillParam(ref text, NrTSingleton <NrTextMgr> .Instance.GetTextFromInterface(battleSkillDetail2.m_nSkillTooltip), battleSkillDetail2, this.pkSolinfo, -1);
            }
            else
            {
                NrTSingleton <CTextParser> .Instance.ReplaceParam(ref text, new object[]
                {
                    NrTSingleton <NrTextMgr> .Instance.GetTextFromInterface("1869"),
                    "nextskilllevel",
                    skillLevel.ToString()
                });
            }
        }
        this.SkillNextExplain.SetScrollLabel(text);
        NrMyCharInfo kMyCharInfo = NrTSingleton <NkCharManager> .Instance.m_kMyCharInfo;

        if (kMyCharInfo != null)
        {
            text = ANNUALIZED.Convert(kMyCharInfo.m_Money);
        }
        else
        {
            text = "0";
        }
        this.MyMoney.Text = text;
        if (!flag)
        {
            if (flag2)
            {
                NrTSingleton <CTextParser> .Instance.ReplaceParam(ref text, new object[]
                {
                    NrTSingleton <NrTextMgr> .Instance.GetTextFromInterface("691")
                });

                this.SkillUpdateButton.SetText(text);
                NrTSingleton <CTextParser> .Instance.ReplaceParam(ref text, new object[]
                {
                    NrTSingleton <NrTextMgr> .Instance.GetTextFromInterface("2895")
                });

                this.SkillMaxUpdateButton.SetText(text);
                this.SkillUpdateButton.SetEnabled(false);
                this.SkillMaxUpdateButton.SetEnabled(false);
                this.dtSkillMoneyIcon.Visible    = false;
                this.dtMaxSkillMoneyIcon.Visible = false;
                this.SkillNeedMoney.Visible      = false;
                this.SkillMaxNeedMoney.Visible   = false;
            }
            else
            {
                text = ANNUALIZED.Convert(this.m_i64NeedItem);
                this.SkillNeedMoney.Text = text;
                text = ANNUALIZED.Convert(this.m_i64NeedItem);
                this.SkillMaxNeedMoney.SetText(text);
                NrTSingleton <CTextParser> .Instance.ReplaceParam(ref text, new object[]
                {
                    NrTSingleton <NrTextMgr> .Instance.GetTextFromInterface("2886"),
                    "Level",
                    "1"
                });

                this.SkillMaxUpdateButton.SetText(text);
                this.SkillUpdateButton.SetEnabled(false);
                this.SkillMaxUpdateButton.SetEnabled(false);
            }
        }
        else
        {
            text = ANNUALIZED.Convert(this.m_i64NeedItem);
            this.SkillNeedMoney.Text = text;
            this.CountMaxNeedMoneyAndSkillLevel();
        }
        if (this.pkSolinfo != null && this.pkSolinfo.IsSolWarehouse())
        {
            this.SkillMaxUpdateButton.SetEnabled(false);
            this.SkillUpdateButton.SetEnabled(false);
        }
    }
    private void SetMythSkillItemInfo()
    {
        if (this.pkSolinfo == null)
        {
            return;
        }
        if (this.m_i32SkillUnique <= 0)
        {
            return;
        }
        BATTLESKILL_BASE battleSkillBase = NrTSingleton <BattleSkill_Manager> .Instance.GetBattleSkillBase(this.m_i32SkillUnique);

        if (battleSkillBase == null)
        {
            return;
        }
        int battleSkillLevel = this.pkSolinfo.GetBattleSkillLevel(this.m_i32SkillUnique);
        MYTHSKILL_TRAINING mythSkillTraining = NrTSingleton <BattleSkill_Manager> .Instance.GetMythSkillTraining(this.m_i32SkillUnique, battleSkillLevel + 1);

        if (mythSkillTraining != null)
        {
            this.m_i64NeedItem = (long)mythSkillTraining.m_i32SkillNeedItem;
        }
        bool flag  = battleSkillLevel < (int)(this.pkSolinfo.GetGrade() - 9) && battleSkillLevel < battleSkillBase.m_nSkillMaxLevel;
        bool flag2 = false;
        int  num   = battleSkillLevel + 1;
        int  num2  = 4;

        if (num > num2)
        {
            flag2 = true;
        }
        string       text        = string.Empty;
        NrMyCharInfo kMyCharInfo = NrTSingleton <NkCharManager> .Instance.m_kMyCharInfo;

        if (kMyCharInfo != null)
        {
            int value   = COMMON_CONSTANT_Manager.GetInstance().GetValue(eCOMMON_CONSTANT.eCOMMON_CONSTANT_MYTH_SKILL_ITEMUNIQUE);
            int itemCnt = NkUserInventory.instance.GetItemCnt(value);
            text = ANNUALIZED.Convert(itemCnt);
        }
        else
        {
            text = "0";
        }
        this.m_lbDragonHeart_Num.SetText(text);
        if (!flag)
        {
            if (flag2 || this.m_i64NeedItem == 0L)
            {
                NrTSingleton <CTextParser> .Instance.ReplaceParam(ref text, new object[]
                {
                    NrTSingleton <NrTextMgr> .Instance.GetTextFromInterface("691")
                });

                this.m_btMythSkillUp.SetText(text);
                this.m_btMythSkillUp.SetEnabled(false);
                this.m_dtDragonHeartM_C.Visible      = false;
                this.m_lbDragonHeartCost_Num.Visible = false;
            }
            else
            {
                text = ANNUALIZED.Convert(this.m_i64NeedItem);
                this.m_lbDragonHeartCost_Num.SetText(text);
                this.m_btMythSkillUp.SetEnabled(false);
            }
        }
        else
        {
            text = ANNUALIZED.Convert(this.m_i64NeedItem);
            this.m_lbDragonHeartCost_Num.SetText(text);
        }
        if (this.pkSolinfo != null && this.pkSolinfo.IsSolWarehouse())
        {
            this.m_btMythSkillUp.SetEnabled(false);
        }
    }