public static Tooltip_Dlg.Tooltip_Text_Info[] Get_Item_Text_Info(ITEM pkItem, ITEM pkEquipedItem, G_ID eWidowID, bool bEquiped)
    {
        int level = NrTSingleton <NkCharManager> .Instance.GetCharPersonInfo(1).GetLevel(0L);

        int nItemUnique = pkItem.m_nItemUnique;
        int num;

        if (pkItem.m_nItemID > 0L)
        {
            num = pkItem.m_nDurability;
        }
        else
        {
            num = 100;
        }
        string strTextColorCode  = "1101";
        string strTextColorCode2 = "1101";
        string text = "1101";
        string strTextColorCode3 = "1101";
        string strTextColorCode4 = "1104";
        string text2             = "1401";
        string strTextColorCode5 = "1401";
        string strTextColorCode6 = "1304";
        string strTextColorCode7 = "1113";
        int    num2  = 21;
        int    num3  = 0;
        string text3 = "1101";
        string text4 = "1106";
        string text5 = "1401";
        List <Tooltip_Dlg.Tooltip_Text_Info> list = new List <Tooltip_Dlg.Tooltip_Text_Info>();

        Tooltip_Dlg.Tooltip_Text_Info item = default(Tooltip_Dlg.Tooltip_Text_Info);
        ITEMINFO itemInfo = NrTSingleton <ItemManager> .Instance.GetItemInfo(nItemUnique);

        if (itemInfo != null)
        {
            item.m_strText = NrTSingleton <ItemManager> .Instance.GetItemNameByItemUnique(pkItem);

            item.m_eAnchor          = SpriteText.Anchor_Pos.Middle_Center;
            item.m_fFontSize        = 22f;
            item.m_strTextColorCode = strTextColorCode;
            list.Add(item);
            item.m_fFontSize = 22f;
            string strText = string.Empty;
            if (bEquiped)
            {
                strText = NrTSingleton <NrTextMgr> .Instance.GetTextFromInterface("1479");

                item.m_strText          = strText;
                item.m_strTextColorCode = strTextColorCode7;
                list.Add(item);
            }
            item.m_eAnchor      = SpriteText.Anchor_Pos.Middle_Left;
            item.m_nTextureType = 1;
            list.Add(item);
            item.m_nTextureType = 0;
            int           count        = list.Count;
            ITEMTYPE_INFO itemTypeInfo = NrTSingleton <ItemManager> .Instance.GetItemTypeInfo(nItemUnique);

            int useMinLevel = itemInfo.GetUseMinLevel(pkItem);
            if (itemTypeInfo != null)
            {
                item.m_strText = NrTSingleton <UIDataManager> .Instance.GetString(NrTSingleton <NrTextMgr> .Instance.GetTextFromInterface("1257"), NrTSingleton <NrTextMgr> .Instance.GetTextFromItem(itemTypeInfo.TEXTKEY));

                item.m_strTextColorCode = ((useMinLevel <= level) ? text : text2);
                list.Add(item);
            }
            if (pkItem.m_nPosType == 5 || pkItem.m_nPosType == 6 || pkItem.m_nPosType == 7)
            {
                item.m_strText = NrTSingleton <UIDataManager> .Instance.GetString(NrTSingleton <NrTextMgr> .Instance.GetTextFromInterface("265"), " ", pkItem.m_nItemNum.ToString());

                list.Add(item);
            }
            item.m_strText          = ((useMinLevel > 0) ? (NrTSingleton <NrTextMgr> .Instance.GetTextFromInterface("1258") + useMinLevel) : null);
            item.m_strTextColorCode = ((useMinLevel <= level) ? text : text2);
            list.Add(item);
            item.m_strText          = ((itemInfo.m_nUseMaxLevel > 0) ? (NrTSingleton <NrTextMgr> .Instance.GetTextFromInterface("1259") + itemInfo.m_nUseMaxLevel) : null);
            item.m_strTextColorCode = ((itemInfo.m_nUseMaxLevel >= level) ? text : text2);
            list.Add(item);
            if (!NrTSingleton <ItemManager> .Instance.IsItemATB(nItemUnique, 2L))
            {
                item.m_strText = NrTSingleton <NrTextMgr> .Instance.GetTextFromInterface("159");

                item.m_strTextColorCode = text2;
                list.Add(item);
            }
            else
            {
                item.m_strText = NrTSingleton <NrTextMgr> .Instance.GetTextFromInterface("158");

                item.m_strTextColorCode = strTextColorCode4;
                list.Add(item);
            }
            if (NrTSingleton <ItemManager> .Instance.IsItemATB(nItemUnique, 4L))
            {
                item.m_strText = NrTSingleton <NrTextMgr> .Instance.GetTextFromInterface("160");

                item.m_strTextColorCode = strTextColorCode4;
                list.Add(item);
            }
            for (int i = count; i < list.Count; i++)
            {
                if (list[i].m_strText != null)
                {
                    item.m_nTextureType = 1;
                    list.Add(item);
                    item.m_nTextureType = 0;
                    break;
                }
            }
            count = list.Count;
            int num4 = 0;
            int num5 = 0;
            if (pkEquipedItem != null)
            {
                int nValue = Protocol_Item.Get_Min_Damage(pkEquipedItem);
                num4 = Tooltip_Dlg.GetOptionValue(pkEquipedItem, nValue, 1);
                int nValue2 = Protocol_Item.Get_Max_Damage(pkEquipedItem);
                num5 = Tooltip_Dlg.GetOptionValue(pkEquipedItem, nValue2, 1);
            }
            int  num6         = Protocol_Item.Get_Min_Damage(pkItem);
            int  optionValue  = Tooltip_Dlg.GetOptionValue(pkItem, num6, 1);
            int  nValue3      = Protocol_Item.Get_Max_Damage(pkItem);
            int  optionValue2 = Tooltip_Dlg.GetOptionValue(pkItem, nValue3, 1);
            bool flag         = false;
            int  num7         = optionValue - num4;
            int  num8         = optionValue2 - num5;
            if (num7 != 0 || num8 != 0)
            {
                flag = true;
            }
            if (!bEquiped && flag && pkEquipedItem != null)
            {
                string text6 = string.Empty;
                if (num8 < 0)
                {
                    item.m_strTextColorCode = strTextColorCode5;
                    text6 = NrTSingleton <UIDataManager> .Instance.GetString("(", num7.ToString(), " ~ ", num8.ToString(), ")");
                }
                else
                {
                    item.m_strTextColorCode = strTextColorCode6;
                    text6 = string.Concat(new string[]
                    {
                        "(+",
                        num7.ToString(),
                        " ~ +",
                        num8.ToString(),
                        ")"
                    });
                }
                item.m_strText = ((itemInfo.m_nMinDamage > 0 && itemInfo.m_nMaxDamage > 0) ? string.Concat(new string[]
                {
                    NrTSingleton <NrTextMgr> .Instance.GetTextFromInterface("1263"),
                    optionValue.ToString(),
                    " ~ ",
                    optionValue2.ToString(),
                    " ",
                    text6
                }) : null);
            }
            else
            {
                item.m_strText          = ((itemInfo.m_nMinDamage > 0 && itemInfo.m_nMaxDamage > 0) ? NrTSingleton <UIDataManager> .Instance.GetString(NrTSingleton <NrTextMgr> .Instance.GetTextFromInterface("1263"), optionValue.ToString(), " ~ ", optionValue2.ToString()) : null);
                item.m_strTextColorCode = strTextColorCode3;
            }
            list.Add(item);
            if (pkEquipedItem != null)
            {
                int nValue = Protocol_Item.Get_Defense(pkEquipedItem);
                num4 = Tooltip_Dlg.GetOptionValue(pkEquipedItem, nValue, 2);
            }
            num6        = Protocol_Item.Get_Defense(pkItem);
            optionValue = Tooltip_Dlg.GetOptionValue(pkItem, num6, 2);
            num7        = optionValue - num4;
            if (!bEquiped && num7 != 0 && pkEquipedItem != null)
            {
                string text7 = string.Empty;
                if (num7 < 0)
                {
                    item.m_strTextColorCode = strTextColorCode5;
                    text7 = NrTSingleton <UIDataManager> .Instance.GetString("(", num7.ToString(), ")");
                }
                else
                {
                    item.m_strTextColorCode = strTextColorCode6;
                    text7 = NrTSingleton <UIDataManager> .Instance.GetString("(", "+", num7.ToString(), ")");
                }
                item.m_strText = ((itemInfo.m_nDefense > 0) ? string.Concat(new object[]
                {
                    NrTSingleton <NrTextMgr> .Instance.GetTextFromInterface("1264"),
                    optionValue,
                    " ",
                    text7
                }) : null);
            }
            else
            {
                item.m_strText          = ((itemInfo.m_nDefense > 0) ? (NrTSingleton <NrTextMgr> .Instance.GetTextFromInterface("1264") + optionValue) : null);
                item.m_strTextColorCode = strTextColorCode3;
            }
            list.Add(item);
            if (pkEquipedItem != null)
            {
                int nValue = Protocol_Item.Get_ADDHP(pkEquipedItem);
                num4 = Tooltip_Dlg.GetOptionValue(pkEquipedItem, nValue, 4);
            }
            num6        = Protocol_Item.Get_ADDHP(pkItem);
            optionValue = Tooltip_Dlg.GetOptionValue(pkItem, num6, 4);
            num7        = optionValue - num4;
            if (!bEquiped && num7 != 0 && pkEquipedItem != null)
            {
                string text8 = string.Empty;
                if (num7 < 0)
                {
                    item.m_strTextColorCode = strTextColorCode5;
                    text8 = NrTSingleton <UIDataManager> .Instance.GetString("(", num7.ToString(), ")");
                }
                else
                {
                    item.m_strTextColorCode = strTextColorCode6;
                    text8 = NrTSingleton <UIDataManager> .Instance.GetString("(", "+", num7.ToString(), ")");
                }
                item.m_strText = ((itemInfo.m_nAddHP > 0) ? string.Concat(new object[]
                {
                    NrTSingleton <NrTextMgr> .Instance.GetTextFromInterface("1265"),
                    optionValue,
                    " ",
                    text8
                }) : null);
            }
            else
            {
                item.m_strText          = ((itemInfo.m_nAddHP > 0) ? (NrTSingleton <NrTextMgr> .Instance.GetTextFromInterface("1265") + optionValue) : null);
                item.m_strTextColorCode = strTextColorCode3;
            }
            list.Add(item);
            num6                    = Protocol_Item.Get_STR(pkItem);
            item.m_strText          = ((itemInfo.m_nSTR > 0) ? (NrTSingleton <NrTextMgr> .Instance.GetTextFromInterface("1271") + num6) : null);
            item.m_strTextColorCode = strTextColorCode3;
            list.Add(item);
            num6                    = Protocol_Item.Get_DEX(pkItem);
            item.m_strText          = ((itemInfo.m_nDEX > 0) ? (NrTSingleton <NrTextMgr> .Instance.GetTextFromInterface("1272") + num6) : null);
            item.m_strTextColorCode = strTextColorCode3;
            list.Add(item);
            num6                    = Protocol_Item.Get_INT(pkItem);
            item.m_strText          = ((itemInfo.m_nINT > 0) ? (NrTSingleton <NrTextMgr> .Instance.GetTextFromInterface("1274") + num6) : null);
            item.m_strTextColorCode = strTextColorCode3;
            list.Add(item);
            num6                    = Protocol_Item.Get_VIT(pkItem);
            item.m_strText          = ((itemInfo.m_nVIT > 0) ? (NrTSingleton <NrTextMgr> .Instance.GetTextFromInterface("1263") + num6) : null);
            item.m_strTextColorCode = strTextColorCode3;
            list.Add(item);
            if (pkEquipedItem != null)
            {
                int nValue = Protocol_Item.Get_Critical_Plus(pkEquipedItem);
                num4 = Tooltip_Dlg.GetOptionValue(pkEquipedItem, nValue, 3);
            }
            num6        = Protocol_Item.Get_Critical_Plus(pkItem);
            optionValue = Tooltip_Dlg.GetOptionValue(pkItem, num6, 3);
            num7        = optionValue - num4;
            if (!bEquiped && num7 != 0 && pkEquipedItem != null)
            {
                string text9 = string.Empty;
                if (num7 < 0)
                {
                    item.m_strTextColorCode = strTextColorCode5;
                    text9 = NrTSingleton <UIDataManager> .Instance.GetString("(", num7.ToString(), ")");
                }
                else
                {
                    item.m_strTextColorCode = strTextColorCode6;
                    text9 = NrTSingleton <UIDataManager> .Instance.GetString("(", "+", num7.ToString(), ")");
                }
                item.m_strText = ((itemInfo.m_nCriticalPlus > 0) ? string.Concat(new object[]
                {
                    NrTSingleton <NrTextMgr> .Instance.GetTextFromInterface("1267"),
                    optionValue,
                    " ",
                    text9
                }) : null);
            }
            else
            {
                item.m_strText          = ((itemInfo.m_nCriticalPlus > 0) ? (NrTSingleton <NrTextMgr> .Instance.GetTextFromInterface("1267") + optionValue) : null);
                item.m_strTextColorCode = strTextColorCode3;
            }
            list.Add(item);
            num6                    = Protocol_Item.Get_AttackSpeed(pkItem);
            item.m_strText          = ((itemInfo.m_nAttackSpeed > 0) ? (NrTSingleton <NrTextMgr> .Instance.GetTextFromInterface("1276") + num6) : null);
            item.m_strTextColorCode = strTextColorCode3;
            list.Add(item);
            if (pkEquipedItem != null)
            {
                int nValue = Protocol_Item.Get_Hitrate_Plus(pkEquipedItem);
                num4 = Tooltip_Dlg.GetOptionValue(pkEquipedItem, nValue, 6);
            }
            num6        = Protocol_Item.Get_Hitrate_Plus(pkItem);
            optionValue = Tooltip_Dlg.GetOptionValue(pkItem, num6, 6);
            num7        = optionValue - num4;
            if (!bEquiped && num7 != 0 && pkEquipedItem != null)
            {
                string text10 = string.Empty;
                if (num7 < 0)
                {
                    item.m_strTextColorCode = strTextColorCode5;
                    text10 = NrTSingleton <UIDataManager> .Instance.GetString("(", num7.ToString(), ")");
                }
                else
                {
                    item.m_strTextColorCode = strTextColorCode6;
                    text10 = NrTSingleton <UIDataManager> .Instance.GetString("(", "+", num7.ToString(), ")");
                }
                item.m_strText = ((itemInfo.m_nHitratePlus > 0) ? string.Concat(new object[]
                {
                    NrTSingleton <NrTextMgr> .Instance.GetTextFromInterface("173"),
                    optionValue,
                    " ",
                    text10
                }) : null);
            }
            else
            {
                item.m_strText          = ((itemInfo.m_nHitratePlus > 0) ? (NrTSingleton <NrTextMgr> .Instance.GetTextFromInterface("173") + optionValue) : null);
                item.m_strTextColorCode = strTextColorCode3;
            }
            list.Add(item);
            if (pkEquipedItem != null)
            {
                int nValue = Protocol_Item.Get_Evasion_Plus(pkEquipedItem);
                num4 = Tooltip_Dlg.GetOptionValue(pkEquipedItem, nValue, 7);
            }
            num6        = Protocol_Item.Get_Evasion_Plus(pkItem);
            optionValue = Tooltip_Dlg.GetOptionValue(pkItem, num6, 7);
            num7        = optionValue - num4;
            if (!bEquiped && num7 != 0 && pkEquipedItem != null)
            {
                string text11 = string.Empty;
                if (num7 < 0)
                {
                    item.m_strTextColorCode = strTextColorCode5;
                    text11 = NrTSingleton <UIDataManager> .Instance.GetString("(", num7.ToString(), ")");
                }
                else
                {
                    item.m_strTextColorCode = strTextColorCode6;
                    text11 = NrTSingleton <UIDataManager> .Instance.GetString("(", "+", num7.ToString(), ")");
                }
                item.m_strText = ((itemInfo.m_nEvasionPlus > 0) ? string.Concat(new object[]
                {
                    NrTSingleton <NrTextMgr> .Instance.GetTextFromInterface("174"),
                    optionValue,
                    " ",
                    text11
                }) : null);
            }
            else
            {
                item.m_strText          = ((itemInfo.m_nEvasionPlus > 0) ? (NrTSingleton <NrTextMgr> .Instance.GetTextFromInterface("174") + optionValue) : null);
                item.m_strTextColorCode = strTextColorCode3;
            }
            list.Add(item);
            num6                    = Protocol_Item.Get_Move_Speed(pkItem);
            item.m_strText          = ((itemInfo.m_nMoveSpeed > 0) ? (NrTSingleton <NrTextMgr> .Instance.GetTextFromInterface("175") + num6) : null);
            item.m_strTextColorCode = strTextColorCode3;
            list.Add(item);
            item.m_strText = ((itemInfo.m_nDurability > 0) ? string.Concat(new object[]
            {
                NrTSingleton <NrTextMgr> .Instance.GetTextFromInterface("176"),
                num,
                " / ",
                itemInfo.m_nDurability
            }) : null);
            item.m_strTextColorCode = ((num < num2) ? ((num > num3) ? text4 : text5) : text3);
            list.Add(item);
            for (int j = count; j < list.Count; j++)
            {
                if (list[j].m_strText != null)
                {
                    item.m_nTextureType = 1;
                    list.Add(item);
                    item.m_nTextureType = 0;
                    break;
                }
            }
            count = list.Count;
            for (int k = count; k < list.Count; k++)
            {
                if (list[k].m_strText != null)
                {
                    item.m_nTextureType = 1;
                    list.Add(item);
                    item.m_nTextureType = 0;
                    break;
                }
            }
            string empty  = string.Empty;
            string empty2 = string.Empty;
            NrTSingleton <CTextParser> .Instance.ReplaceParam(ref empty, new object[]
            {
                empty2
            });

            item.m_eAnchor          = SpriteText.Anchor_Pos.Upper_Left;
            item.m_strText          = empty;
            item.m_strTextColorCode = strTextColorCode2;
            list.Add(item);
            return(list.ToArray());
        }
        return(null);
    }
    public static Tooltip_Dlg.Tooltip_Text_Info[] GetBattleControlSkillTextInfo(int battleSkillUnique, int battleSkillLevel, G_ID eWidowID, int KeepTurn, NkSoldierInfo solInfo)
    {
        BATTLESKILL_BASE battleSkillBase = NrTSingleton <BattleSkill_Manager> .Instance.GetBattleSkillBase(battleSkillUnique);

        BATTLESKILL_DETAIL battleSkillDetail = NrTSingleton <BattleSkill_Manager> .Instance.GetBattleSkillDetail(battleSkillUnique, battleSkillLevel);

        if (battleSkillDetail == null || battleSkillBase == null)
        {
            return(null);
        }
        List <Tooltip_Dlg.Tooltip_Text_Info> list = new List <Tooltip_Dlg.Tooltip_Text_Info>();

        Tooltip_Dlg.Tooltip_Text_Info item = default(Tooltip_Dlg.Tooltip_Text_Info);
        string empty = string.Empty;

        NrTSingleton <CTextParser> .Instance.ReplaceParam(ref empty, new object[]
        {
            NrTSingleton <NrTextMgr> .Instance.GetTextFromInterface("1292"),
            "skillname",
            NrTSingleton <NrTextMgr> .Instance.GetTextFromInterface(battleSkillBase.m_strTextKey),
            "skilllevel",
            battleSkillLevel
        });

        item.m_strText          = empty;
        item.m_eAnchor          = SpriteText.Anchor_Pos.Middle_Center;
        item.m_fFontSize        = 22f;
        item.m_strTextColorCode = "1101";
        list.Add(item);
        item.m_fFontSize    = 22f;
        item.m_eAnchor      = SpriteText.Anchor_Pos.Middle_Left;
        item.m_nTextureType = 1;
        list.Add(item);
        item.m_nTextureType = 0;
        empty = string.Empty;
        NrTSingleton <CTextParser> .Instance.ReplaceBattleSkillParam(ref empty, NrTSingleton <NrTextMgr> .Instance.GetTextFromInterface(battleSkillDetail.m_nSkillTooltip), battleSkillDetail, solInfo, -1);

        item.m_strText = empty;
        list.Add(item);
        empty = string.Empty;
        if (battleSkillBase.m_nSkillType == 2)
        {
            NrTSingleton <CTextParser> .Instance.ReplaceParam(ref empty, new object[]
            {
                NrTSingleton <NrTextMgr> .Instance.GetTextFromInterface("1506")
            });
        }
        else
        {
            NrTSingleton <CTextParser> .Instance.ReplaceParam(ref empty, new object[]
            {
                NrTSingleton <NrTextMgr> .Instance.GetTextFromInterface("1297"),
                "count",
                battleSkillDetail.m_nSkillNeedAngerlyPoint
            });
        }
        item.m_strText = empty;
        list.Add(item);
        if (!battleSkillBase.ChecJobTypeMagicDamage())
        {
            item.m_strText = NrTSingleton <NrTextMgr> .Instance.GetTextFromInterface("1352");
        }
        else
        {
            item.m_strText = NrTSingleton <NrTextMgr> .Instance.GetTextFromInterface("1353");
        }
        list.Add(item);
        return(list.ToArray());
    }