Exemplo n.º 1
0
    public static string GetDescription(this TrophyObjective self)
    {
        GameManager instance = MonoSingleton <GameManager> .Instance;
        string      str1     = string.Empty;
        string      str2     = string.Empty;

        char[] chArray = new char[1] {
            ','
        };
        if (!string.IsNullOrEmpty(self.Param.Expr))
        {
            return(string.Format(LocalizedText.Get(self.Param.Expr), (object)self.ival));
        }
        switch (self.type)
        {
        case TrophyConditionTypes.winquest:
            if (string.IsNullOrEmpty(self.sval))
            {
                return(string.Format(LocalizedText.Get("sys.TROPHY_WINQUEST_NORMAL"), (object)self.ival));
            }
            QuestParam quest1 = instance.FindQuest(self.sval);
            return(string.Format(LocalizedText.Get("sys.TROPHY_WINQUEST"), quest1 == null ? (object)("?" + self.sval) : (object)quest1.name, (object)self.ival));

        case TrophyConditionTypes.killenemy:
            UnitParam unitParam1 = instance.GetUnitParam(self.sval);
            return(string.Format(LocalizedText.Get("sys.TROPHY_KILLENEMY"), unitParam1 == null ? (object)("?" + self.sval) : (object)unitParam1.name, (object)self.ival));

        case TrophyConditionTypes.getitem:
            ItemParam itemParam = instance.GetItemParam(self.sval);
            return(string.Format(LocalizedText.Get("sys.TROPHY_GETITEM"), itemParam == null ? (object)("?" + self.sval) : (object)itemParam.name, (object)self.ival));

        case TrophyConditionTypes.playerlv:
            return(string.Format(LocalizedText.Get("sys.TROPHY_PLAYERLV"), (object)self.ival));

        case TrophyConditionTypes.winelite:
            return(string.Format(LocalizedText.Get("sys.TROPHY_WINQUEST_ELITE"), (object)self.ival));

        case TrophyConditionTypes.winevent:
            return(string.Format(LocalizedText.Get("sys.TROPHY_WINQUEST_EVENT"), (object)self.ival));

        case TrophyConditionTypes.gacha:
            return(string.Format(LocalizedText.Get("sys.TROPHY_GACHA"), (object)self.ival));

        case TrophyConditionTypes.multiplay:
            return(string.Format(LocalizedText.Get("sys.TROPHY_MULTIPLAY"), (object)self.ival));

        case TrophyConditionTypes.ability:
            return(string.Format(LocalizedText.Get("sys.TROPHY_ABILITY"), (object)self.ival));

        case TrophyConditionTypes.soubi:
            return(string.Format(LocalizedText.Get("sys.TROPHY_SOUBI"), (object)self.ival));

        case TrophyConditionTypes.buygold:
            return(string.Format(LocalizedText.Get("sys.TROPHY_BUYGOLD"), (object)self.ival));

        case TrophyConditionTypes.vip:
            return(string.Format(LocalizedText.Get("sys.TROPHY_VIP"), (object)self.ival));

        case TrophyConditionTypes.stamina:
            return(string.Format(LocalizedText.Get("sys.TROPHY_STAMINA"), (object)int.Parse(self.sval.Substring(0, 2)), (object)int.Parse(self.sval.Substring(3, 2))));

        case TrophyConditionTypes.arena:
            return(string.Format(LocalizedText.Get("sys.TROPHY_ARENA"), (object)self.ival));

        case TrophyConditionTypes.winarena:
            return(string.Format(LocalizedText.Get("sys.TROPHY_WINARENA"), (object)self.ival));

        case TrophyConditionTypes.review:
            return(LocalizedText.Get("sys.TROPHY_REVIEW"));

        case TrophyConditionTypes.followtwitter:
            return(LocalizedText.Get("sys.TROPHY_FOLLOWTWITTER"));

        case TrophyConditionTypes.fggid:
            return(LocalizedText.Get("sys.TROPHY_FGGID"));

        case TrophyConditionTypes.unitlevel:
            UnitParam unitParam2 = instance.GetUnitParam(self.sval);
            return(string.Format(LocalizedText.Get("sys.TROPHY_UNITLV"), unitParam2 == null ? (object)("?" + self.sval) : (object)unitParam2.name, (object)self.ival));

        case TrophyConditionTypes.evolutionnum:
            UnitParam unitParam3 = instance.GetUnitParam(self.sval);
            return(string.Format(LocalizedText.Get("sys.TROPHY_EVOLUTIONCNT"), unitParam3 == null ? (object)("?" + self.sval) : (object)unitParam3.name, (object)(self.ival + 1)));

        case TrophyConditionTypes.joblevel:
            string[]  strArray1  = self.sval.Split(chArray);
            UnitParam unitParam4 = instance.GetUnitParam(strArray1[0]);
            JobParam  jobParam1  = instance.GetJobParam(strArray1[1]);
            return(string.Format(LocalizedText.Get("sys.TROPHY_JOBLV"), unitParam4 == null ? (object)("?" + strArray1[0]) : (object)unitParam4.name, jobParam1 == null ? (object)("?" + strArray1[1]) : (object)jobParam1.name, (object)self.ival));

        case TrophyConditionTypes.logincount:
            return(string.Format(LocalizedText.Get("sys.TROPHY_LOGINCNT"), (object)self.ival));

        case TrophyConditionTypes.upunitlevel:
            return(string.Format(LocalizedText.Get("sys.TROPHY_UNITLVUP"), (object)SRPG_Extensions.GetUnitName(self.sval), (object)self.ival));

        case TrophyConditionTypes.makeunitlevel:
            if (!string.IsNullOrEmpty(self.sval))
            {
                return(string.Format(LocalizedText.Get("sys.TROPHY_UNITLVMAKE"), (object)SRPG_Extensions.GetUnitName(self.sval), (object)self.ival));
            }
            return(string.Format(LocalizedText.Get("sys.TROPHY_UNITLVMAKE_DEFAULT"), (object)self.ival));

        case TrophyConditionTypes.unitequip:
            return(string.Format(LocalizedText.Get("sys.TROPHY_EQUIP"), (object)SRPG_Extensions.GetUnitName(self.sval), (object)self.ival));

        case TrophyConditionTypes.upjoblevel:
            if (!string.IsNullOrEmpty(self.sval))
            {
                string[]  strArray2  = self.sval.Split(chArray);
                UnitParam unitParam5 = instance.GetUnitParam(strArray2[0]);
                JobParam  jobParam2  = instance.GetJobParam(strArray2[1]);
                str2 = unitParam5 == null ? "?" + strArray2[0] : unitParam5.name;
                str1 = jobParam2 == null ? "?" + strArray2[1] : jobParam2.name;
            }
            if (!string.IsNullOrEmpty(str2))
            {
                if (!string.IsNullOrEmpty(str1))
                {
                    return(string.Format(LocalizedText.Get("sys.TROPHY_JOBLVUP"), (object)str2, (object)str1, (object)self.ival));
                }
                return(string.Format(LocalizedText.Get("sys.TROPHY_JOBLVUP_ANYJOB"), (object)str2, (object)self.ival));
            }
            if (!string.IsNullOrEmpty(str1))
            {
                return(string.Format(LocalizedText.Get("sys.TROPHY_JOBLVUP_ANYJOB_ANYUNIT"), (object)self.ival));
            }
            return(string.Format(LocalizedText.Get("sys.TROPHY_JOBLVUP"), (object)str2, (object)str1, (object)self.ival));

        case TrophyConditionTypes.makejoblevel:
            if (!string.IsNullOrEmpty(self.sval))
            {
                string[]  strArray2  = self.sval.Split(chArray);
                UnitParam unitParam5 = instance.GetUnitParam(strArray2[0]);
                JobParam  jobParam2  = instance.GetJobParam(strArray2[1]);
                string    str3       = unitParam5 == null ? "?" + strArray2[0] : unitParam5.name;
                string    str4       = jobParam2 == null ? "?" + strArray2[1] : jobParam2.name;
                if (!string.IsNullOrEmpty(str3))
                {
                    if (!string.IsNullOrEmpty(str4))
                    {
                        return(string.Format(LocalizedText.Get("sys.TROPHY_JOBLVMAKE"), (object)str3, (object)str4, (object)self.ival));
                    }
                    return(string.Format(LocalizedText.Get("sys.TROPHY_JOBLVMAKE_ANYJOB"), (object)str3, (object)self.ival));
                }
                if (!string.IsNullOrEmpty(str4))
                {
                    return(string.Format(LocalizedText.Get("sys.TROPHY_JOBLVMAKE_ANYUNIT"), (object)str4, (object)self.ival));
                }
            }
            return(string.Format(LocalizedText.Get("sys.TROPHY_JOBLVMAKE_DEFAULT"), (object)self.ival));

        case TrophyConditionTypes.limitbreak:
            if (!string.IsNullOrEmpty(self.sval))
            {
                return(string.Format(LocalizedText.Get("sys.TROPHY_LIMITBREAK"), (object)SRPG_Extensions.GetUnitName(self.sval), (object)self.ival));
            }
            return(string.Format(LocalizedText.Get("sys.TROPHY_LIMITBREAK_DEFAULT"), (object)self.ival));

        case TrophyConditionTypes.evoltiontimes:
            if (string.IsNullOrEmpty(self.sval) || string.IsNullOrEmpty(SRPG_Extensions.GetUnitName(self.sval)))
            {
                return(string.Format(LocalizedText.Get("sys.TROPHY_EVOLUTIONTIMES_ANY"), (object)self.ival));
            }
            return(string.Format(LocalizedText.Get("sys.TROPHY_EVOLUTIONTIMES"), (object)SRPG_Extensions.GetUnitName(self.sval), (object)self.ival));

        case TrophyConditionTypes.changejob:
            if (!string.IsNullOrEmpty(self.sval))
            {
                return(string.Format(LocalizedText.Get("sys.TROPHY_CHANGEJOB"), (object)SRPG_Extensions.GetUnitName(self.sval), (object)self.ival));
            }
            return(string.Format(LocalizedText.Get("sys.TROPHY_CHANGEJOB_DEFAULT"), (object)self.ival));

        case TrophyConditionTypes.changeability:
            return(string.Format(LocalizedText.Get("sys.TROPHY_CHANGEABILITY"), (object)SRPG_Extensions.GetUnitName(self.sval), (object)self.ival));

        case TrophyConditionTypes.makeabilitylevel:
            if (string.IsNullOrEmpty(self.sval))
            {
                return(string.Format(LocalizedText.Get("sys.TROPHY_ABILITYLV_DEFAULT"), (object)self.ival));
            }
            string[] strArray3 = self.sval.Split(chArray);
            string   empty1    = string.Empty;
            if (string.IsNullOrEmpty(strArray3[1]))
            {
                return(string.Format(LocalizedText.Get("sys.TROPHY_ABILITYLV_ANYABILITY"), (object)SRPG_Extensions.GetUnitName(strArray3[0]), (object)self.ival));
            }
            AbilityParam abilityParam = instance.GetAbilityParam(strArray3[1]);
            string       str5         = abilityParam == null ? "?" + strArray3[1] : abilityParam.name;
            if (!string.IsNullOrEmpty(strArray3[0]))
            {
                return(string.Format(LocalizedText.Get("sys.TROPHY_ABILITYLV"), (object)SRPG_Extensions.GetUnitName(strArray3[0]), (object)str5, (object)self.ival));
            }
            return(string.Format(LocalizedText.Get("sys.TROPHY_ABILITYLV_ANYUNIT"), (object)str5, (object)self.ival));

        case TrophyConditionTypes.winquestsoldier:
            return(string.Format(LocalizedText.Get("sys.TROPHY_WINSOLIDER"), (object)self.ival));

        case TrophyConditionTypes.winmulti:
            return(string.Format(LocalizedText.Get("sys.TROPHY_WINMULTI"), (object)SRPG_Extensions.GetQuestName(self.sval), (object)self.ival));

        case TrophyConditionTypes.buyatshop:
            string empty2 = string.Empty;
            string empty3 = string.Empty;
            if (!string.IsNullOrEmpty(self.sval))
            {
                string[] strArray2 = self.sval.Split(chArray);
                if (!string.IsNullOrEmpty(strArray2[0]))
                {
                    int    shopType = instance.MasterParam.GetShopType(strArray2[0]);
                    string shopName = instance.Player.GetShopName((EShopType)shopType);
                    if (!string.IsNullOrEmpty(strArray2[1]))
                    {
                        return(string.Format(LocalizedText.Get("sys.TROPHY_BUYATSHOP"), (object)shopName, (object)empty3, (object)self.ival));
                    }
                    return(string.Format(LocalizedText.Get("sys.TROPHY_BUYATSHOP_ANYITEM"), (object)shopName, (object)self.ival));
                }
                string itemName = SRPG_Extensions.GetItemName(strArray2[1]);
                if (!string.IsNullOrEmpty(strArray2[1]))
                {
                    return(string.Format(LocalizedText.Get("sys.TROPHY_BUYATSHOP_ANYSHOP"), (object)itemName, (object)self.ival));
                }
            }
            return(string.Format(LocalizedText.Get("sys.TROPHY_BUYATSHOP_DEFAULT"), (object)self.ival));

        case TrophyConditionTypes.artifacttransmute:
            if (string.IsNullOrEmpty(self.sval) || string.IsNullOrEmpty(SRPG_Extensions.GetArtifactName(self.sval)))
            {
                return(string.Format(LocalizedText.Get("sys.TROPHY_AFORDRILL_ANY"), (object)self.ival));
            }
            return(string.Format(LocalizedText.Get("sys.TROPHY_AFORDRILL"), (object)SRPG_Extensions.GetArtifactName(self.sval), (object)self.ival));

        case TrophyConditionTypes.artifactstrength:
            if (string.IsNullOrEmpty(self.sval) || string.IsNullOrEmpty(SRPG_Extensions.GetArtifactName(self.sval)))
            {
                return(string.Format(LocalizedText.Get("sys.TROPHY_AFSTRENGTHEN_ANY"), (object)self.ival));
            }
            return(string.Format(LocalizedText.Get("sys.TROPHY_AFSTRENGTHEN"), (object)SRPG_Extensions.GetArtifactName(self.sval), (object)self.ival));

        case TrophyConditionTypes.artifactevolution:
            if (string.IsNullOrEmpty(self.sval) || string.IsNullOrEmpty(SRPG_Extensions.GetArtifactName(self.sval)))
            {
                return(string.Format(LocalizedText.Get("sys.TROPHY_AFVOLUTION_ANY"), (object)self.ival));
            }
            return(string.Format(LocalizedText.Get("sys.TROPHY_AFVOLUTION"), (object)SRPG_Extensions.GetArtifactName(self.sval), (object)self.ival));

        case TrophyConditionTypes.winmultimore:
            return(string.Format(LocalizedText.Get("sys.TROPHY_WINMULTIMORE"), (object)SRPG_Extensions.GetQuestName(self.sval), (object)self.ival));

        case TrophyConditionTypes.winmultiless:
            return(string.Format(LocalizedText.Get("sys.TROPHY_WINMULTILESS"), (object)SRPG_Extensions.GetQuestName(self.sval), (object)self.ival));

        case TrophyConditionTypes.collectunits:
            return(string.Format(LocalizedText.Get("sys.TROPHY_COLLECTUNITS"), (object)self.ival));

        case TrophyConditionTypes.totaljoblv11:
            return(string.Format(LocalizedText.Get("sys.TROPHY_TOTALJOBLV11"), (object)self.ival));

        case TrophyConditionTypes.totalunitlvs:
            return(string.Format(LocalizedText.Get("sys.TROPHY_TOTALUNITLVS"), (object)self.ival));

        case TrophyConditionTypes.childrencomp:
            return(string.Format(LocalizedText.Get("sys.TROPHY_CHILDRENCOMP"), (object)self.ival));

        case TrophyConditionTypes.wintower:
            if (string.IsNullOrEmpty(self.sval))
            {
                return(string.Format(LocalizedText.Get("sys.TROPHY_WINTOWER_NORMAL"), (object)self.ival));
            }
            QuestParam quest2 = instance.FindQuest(self.sval);
            if (quest2 != null)
            {
                return(string.Format(LocalizedText.Get("sys.TROPHY_WINTOWER"), (object)quest2.title, (object)quest2.name, (object)self.ival));
            }
            DebugUtility.Log("「" + self.sval + "」quest_id is not found.");
            return(string.Empty);

        case TrophyConditionTypes.losequest:
            if (string.IsNullOrEmpty(self.sval))
            {
                return(string.Format(LocalizedText.Get("sys.TROPHY_LOSEQUEST_NORMAL"), (object)self.ival));
            }
            QuestParam quest3 = instance.FindQuest(self.sval);
            return(string.Format(LocalizedText.Get("sys.TROPHY_LOSEQUEST"), quest3 == null ? (object)("?" + self.sval) : (object)quest3.name, (object)self.ival));

        case TrophyConditionTypes.loseelite:
            return(string.Format(LocalizedText.Get("sys.TROPHY_LOSEQUEST_ELITE"), (object)self.ival));

        case TrophyConditionTypes.loseevent:
            return(string.Format(LocalizedText.Get("sys.TROPHY_LOSEQUEST_EVENT"), (object)self.ival));

        case TrophyConditionTypes.losetower:
            if (string.IsNullOrEmpty(self.sval))
            {
                return(string.Format(LocalizedText.Get("sys.TROPHY_LOSETOWER_NORMAL"), (object)self.ival));
            }
            QuestParam quest4 = instance.FindQuest(self.sval);
            if (quest4 != null)
            {
                return(string.Format(LocalizedText.Get("sys.TROPHY_LOSETOWER"), (object)quest4.title, (object)quest4.name, (object)self.ival));
            }
            DebugUtility.Log("「" + self.sval + "」quest_id is not found.");
            return(string.Empty);

        case TrophyConditionTypes.losearena:
            return(string.Format(LocalizedText.Get("sys.TROPHY_LOSEARENA"), (object)self.ival));

        case TrophyConditionTypes.dailyall:
            return(string.Format(LocalizedText.Get("sys.TROPHY_DAILYALL"), (object)self.ival));

        case TrophyConditionTypes.vs:
            return(string.Format(LocalizedText.Get("sys.TROPHY_VS"), (object)self.ival));

        case TrophyConditionTypes.vswin:
            return(string.Format(LocalizedText.Get("sys.TROPHY_VSWIN"), (object)self.ival));

        case TrophyConditionTypes.vslose:
            return(string.Format(LocalizedText.Get("sys.TROPHY_VSLOSE"), (object)self.ival));

        case TrophyConditionTypes.fblogin:
            return(LocalizedText.Get("sys.TROPHY_FBLOGIN"));

        default:
            return(string.Empty);
        }
    }
Exemplo n.º 2
0
 private static ConsoleColor GetObjectiveColor(TrophyObjective objective)
 {
     return(objective.IsCompleted ? ConsoleColor.Green : ConsoleColor.Red);
 }