public static RuleDef FromArtifact(ArtifactIndex artifactIndex) { var artifactDef = ArtifactCatalog.GetArtifactDef(artifactIndex); var ruleDef = new RuleDef($"Artifacts.{artifactIndex}", artifactDef.nameToken); var ruleChoiceDef = ruleDef.AddChoice("On"); ruleChoiceDef.spritePath = artifactDef.smallIconSelectedPath; ruleChoiceDef.tooltipBodyToken = artifactDef.descriptionToken; ruleChoiceDef.unlockableName = artifactDef.unlockableName; ruleChoiceDef.artifactIndex = artifactIndex; ruleChoiceDef.tooltipNameColor = new Color32(74, 50, 149, byte.MaxValue); ruleChoiceDef.tooltipNameToken = $"{artifactDef.nameToken} On"; var ruleChoiceDef2 = ruleDef.AddChoice("Off"); ruleChoiceDef2.spritePath = artifactDef.smallIconDeselectedPath; ruleChoiceDef2.materialPath = "Materials/UI/matRuleChoiceOff"; ruleChoiceDef.tooltipBodyToken = artifactDef.descriptionToken; ruleChoiceDef.tooltipNameColor = new Color32(74, 50, 149, byte.MaxValue); ruleChoiceDef.tooltipNameToken = $"{artifactDef.nameToken} Off"; ruleDef.MakeNewestChoiceDefault(); return(ruleDef); }
// Token: 0x060018D7 RID: 6359 RVA: 0x0006AF18 File Offset: 0x00069118 public static RuleDef FromItem(ItemIndex itemIndex) { ItemDef itemDef = ItemCatalog.GetItemDef(itemIndex); RuleDef ruleDef = new RuleDef("Items." + itemIndex.ToString(), itemDef.nameToken); RuleChoiceDef ruleChoiceDef = ruleDef.AddChoice("On", null, false); ruleChoiceDef.spritePath = itemDef.pickupIconPath; ruleChoiceDef.tooltipNameToken = itemDef.nameToken; ruleChoiceDef.unlockableName = itemDef.unlockableName; ruleChoiceDef.itemIndex = itemIndex; ruleDef.MakeNewestChoiceDefault(); RuleChoiceDef ruleChoiceDef2 = ruleDef.AddChoice("Off", null, false); ruleChoiceDef2.spritePath = itemDef.pickupIconPath; ruleChoiceDef2.materialPath = "Materials/UI/matRuleChoiceOff"; ruleChoiceDef2.tooltipNameToken = null; return(ruleDef); }
// Token: 0x060018D6 RID: 6358 RVA: 0x0006AE78 File Offset: 0x00069078 public static RuleDef FromArtifact(ArtifactIndex artifactIndex) { ArtifactDef artifactDef = ArtifactCatalog.GetArtifactDef(artifactIndex); RuleDef ruleDef = new RuleDef("Artifacts." + artifactIndex.ToString(), artifactDef.nameToken); RuleChoiceDef ruleChoiceDef = ruleDef.AddChoice("On", null, false); ruleChoiceDef.spritePath = artifactDef.smallIconSelectedPath; ruleChoiceDef.tooltipBodyToken = artifactDef.descriptionToken; ruleChoiceDef.unlockableName = artifactDef.unlockableName; ruleChoiceDef.artifactIndex = artifactIndex; RuleChoiceDef ruleChoiceDef2 = ruleDef.AddChoice("Off", null, false); ruleChoiceDef2.spritePath = artifactDef.smallIconDeselectedPath; ruleChoiceDef2.materialPath = "Materials/UI/matRuleChoiceOff"; ruleChoiceDef2.tooltipBodyToken = null; ruleDef.MakeNewestChoiceDefault(); return(ruleDef); }
// Token: 0x060018D8 RID: 6360 RVA: 0x0006AFB8 File Offset: 0x000691B8 public static RuleDef FromEquipment(EquipmentIndex equipmentIndex) { EquipmentDef equipmentDef = EquipmentCatalog.GetEquipmentDef(equipmentIndex); RuleDef ruleDef = new RuleDef("Equipment." + equipmentIndex.ToString(), equipmentDef.nameToken); RuleChoiceDef ruleChoiceDef = ruleDef.AddChoice("On", null, false); ruleChoiceDef.spritePath = equipmentDef.pickupIconPath; ruleChoiceDef.tooltipBodyToken = equipmentDef.nameToken; ruleChoiceDef.unlockableName = equipmentDef.unlockableName; ruleChoiceDef.equipmentIndex = equipmentIndex; ruleChoiceDef.availableInMultiPlayer = equipmentDef.appearsInMultiPlayer; ruleChoiceDef.availableInSinglePlayer = equipmentDef.appearsInSinglePlayer; ruleDef.MakeNewestChoiceDefault(); RuleChoiceDef ruleChoiceDef2 = ruleDef.AddChoice("Off", null, false); ruleChoiceDef2.spritePath = equipmentDef.pickupIconPath; ruleChoiceDef2.materialPath = "Materials/UI/matRuleChoiceOff"; ruleChoiceDef2.tooltipBodyToken = null; return(ruleDef); }
// Token: 0x060018D5 RID: 6357 RVA: 0x0006ADF4 File Offset: 0x00068FF4 public static RuleDef FromDifficulty() { RuleDef ruleDef = new RuleDef("Difficulty", "RULE_NAME_DIFFICULTY"); for (DifficultyIndex difficultyIndex = DifficultyIndex.Easy; difficultyIndex < DifficultyIndex.Count; difficultyIndex++) { DifficultyDef difficultyDef = DifficultyCatalog.GetDifficultyDef(difficultyIndex); RuleChoiceDef ruleChoiceDef = ruleDef.AddChoice(difficultyIndex.ToString(), null, false); ruleChoiceDef.spritePath = difficultyDef.iconPath; ruleChoiceDef.tooltipNameToken = difficultyDef.nameToken; ruleChoiceDef.tooltipNameColor = difficultyDef.color; ruleChoiceDef.tooltipBodyToken = difficultyDef.descriptionToken; ruleChoiceDef.difficultyIndex = difficultyIndex; } ruleDef.defaultChoiceIndex = 1; return(ruleDef); }
static patch_RuleCatalog() { allRuleDefs = new List <RuleDef>(); allChoicesDefs = new List <RuleChoiceDef>(); allCategoryDefs = new List <RuleCategoryDef>(); ruleDefsByGlobalName = new Dictionary <string, RuleDef>(); ruleChoiceDefsByGlobalName = new Dictionary <string, RuleChoiceDef>(); ruleShowItems = new BoolConVar("rule_show_items", ConVarFlags.None, "1", "Whether or not to allow voting on items in the pregame rules."); RuleCatalog.AddCategory("RULE_HEADER_DIFFICULTY", new Color32(28, 99, 150, byte.MaxValue)); RuleCatalog.AddRule(RuleDef.FromDifficulty()); RuleCatalog.AddCategory("RULE_HEADER_ARTIFACTS", new Color32(74, 50, 149, byte.MaxValue), null, RuleCatalog.HiddenTestFalse); for (ArtifactIndex artifactIndex = 0; artifactIndex < ArtifactIndex.Count; artifactIndex++) { RuleCatalog.AddRule(RuleDef.FromArtifact(artifactIndex)); } RuleCatalog.AddCategory("RULE_HEADER_ITEMS", new Color32(147, 225, 128, byte.MaxValue), null, RuleCatalog.HiddenTestItemsConvar); var list = new List <ItemIndex>(); for (ItemIndex itemIndex = 0; itemIndex < ItemIndex.Count; itemIndex++) { list.Add(itemIndex); } foreach (var itemIndex2 in from i in list where ItemCatalog.GetItemDef(i).inDroppableTier orderby ItemCatalog.GetItemDef(i).tier select i) { RuleCatalog.AddRule(RuleDef.FromItem(itemIndex2)); } RuleCatalog.AddCategory("RULE_HEADER_EQUIPMENT", new Color32(byte.MaxValue, 128, 0, byte.MaxValue), null, RuleCatalog.HiddenTestItemsConvar); var list2 = new List <EquipmentIndex>(); for (EquipmentIndex equipmentIndex = 0; equipmentIndex < EquipmentIndex.Count; equipmentIndex++) { list2.Add(equipmentIndex); } foreach (var equipmentIndex2 in from i in list2 where EquipmentCatalog.GetEquipmentDef(i).canDrop select i) { RuleCatalog.AddRule(RuleDef.FromEquipment(equipmentIndex2)); } RuleCatalog.AddCategory("RULE_HEADER_MISC", new Color32(192, 192, 192, byte.MaxValue), null, RuleCatalog.HiddenTestFalse); var ruleDef = new RuleDef("Misc.StartingMoney", "RULE_MISC_STARTING_MONEY"); var ruleChoiceDef = ruleDef.AddChoice("0", 0, true); ruleChoiceDef.tooltipNameToken = "RULE_STARTINGMONEY_CHOICE_0_NAME"; ruleChoiceDef.tooltipBodyToken = "RULE_STARTINGMONEY_CHOICE_0_DESC"; ruleChoiceDef.tooltipNameColor = ColorCatalog.GetColor(ColorCatalog.ColorIndex.LunarCoin); var ruleChoiceDef2 = ruleDef.AddChoice("15", 15, true); ruleChoiceDef2.tooltipNameToken = "RULE_STARTINGMONEY_CHOICE_15_NAME"; ruleChoiceDef2.tooltipBodyToken = "RULE_STARTINGMONEY_CHOICE_15_DESC"; ruleChoiceDef2.tooltipNameColor = ColorCatalog.GetColor(ColorCatalog.ColorIndex.LunarCoin); ruleDef.MakeNewestChoiceDefault(); var ruleChoiceDef3 = ruleDef.AddChoice("50", 50, true); ruleChoiceDef3.tooltipNameToken = "RULE_STARTINGMONEY_CHOICE_50_NAME"; ruleChoiceDef3.tooltipBodyToken = "RULE_STARTINGMONEY_CHOICE_50_DESC"; ruleChoiceDef3.spritePath = "Textures/MiscIcons/texRuleBonusStartingMoney"; ruleChoiceDef3.tooltipNameColor = ColorCatalog.GetColor(ColorCatalog.ColorIndex.LunarCoin); RuleCatalog.AddRule(ruleDef); var ruleDef2 = new RuleDef("Misc.StageOrder", "RULE_MISC_STAGE_ORDER"); var ruleChoiceDef4 = ruleDef2.AddChoice("Normal", 0, true); ruleChoiceDef4.tooltipNameToken = "RULE_STAGEORDER_CHOICE_NORMAL_NAME"; ruleChoiceDef4.tooltipBodyToken = "RULE_STAGEORDER_CHOICE_NORMAL_DESC"; ruleChoiceDef4.tooltipNameColor = ColorCatalog.GetColor(ColorCatalog.ColorIndex.LunarCoin); ruleDef2.MakeNewestChoiceDefault(); var ruleChoiceDef5 = ruleDef2.AddChoice("Random", 1, true); ruleChoiceDef5.tooltipNameToken = "RULE_STAGEORDER_CHOICE_RANDOM_NAME"; ruleChoiceDef5.tooltipBodyToken = "RULE_STAGEORDER_CHOICE_RANDOM_DESC"; ruleChoiceDef5.spritePath = "Textures/MiscIcons/texRuleMapIsRandom"; ruleChoiceDef5.tooltipNameColor = ColorCatalog.GetColor(ColorCatalog.ColorIndex.LunarCoin); RuleCatalog.AddRule(ruleDef2); var ruleDef3 = new RuleDef("Misc.KeepMoneyBetweenStages", "RULE_MISC_KEEP_MONEY_BETWEEN_STAGES"); ruleDef3.AddChoice("On", 1, true).tooltipBodyToken = "RULE_KEEPMONEYBETWEENSTAGES_CHOICE_ON_DESC"; ruleDef3.AddChoice("Off", 0, true).tooltipBodyToken = "RULE_KEEPMONEYBETWEENSTAGES_CHOICE_OFF_DESC"; ruleDef3.MakeNewestChoiceDefault(); RuleCatalog.AddRule(ruleDef3); for (var k = 0; k < RuleCatalog.allRuleDefs.Count; k++) { var ruleDef4 = RuleCatalog.allRuleDefs[k]; ruleDef4.globalIndex = k; for (var j = 0; j < ruleDef4.choices.Count; j++) { var ruleChoiceDef6 = ruleDef4.choices[j]; ruleChoiceDef6.localIndex = j; ruleChoiceDef6.globalIndex = RuleCatalog.allChoicesDefs.Count; RuleCatalog.allChoicesDefs.Add(ruleChoiceDef6); } } RuleCatalog.availability.MakeAvailable(); }
private static void Init() { RuleCatalog.AddCategory("RULE_HEADER_DIFFICULTY", new Color32(28, 99, 150, byte.MaxValue)); RuleCatalog.AddRule(RuleDef.FromDifficulty()); RuleCatalog.AddCategory("RULE_HEADER_ARTIFACTS", new Color32(74, 50, 149, byte.MaxValue), "RULE_ARTIFACTS_EMPTY_TIP", new Func <bool>(RuleCatalog.HiddenTestFalse)); for (ArtifactIndex artifactIndex = ArtifactIndex.Command; artifactIndex < ArtifactIndex.Count; artifactIndex++) { RuleCatalog.AddRule(RuleDef.FromArtifact(artifactIndex)); } RuleCatalog.AddCategory("RULE_HEADER_ITEMS", new Color32(147, 225, 128, byte.MaxValue), null, new Func <bool>(RuleCatalog.HiddenTestItemsConvar)); List <ItemIndex> list = new List <ItemIndex>(); ItemIndex itemIndex = ItemIndex.Syringe; ItemIndex itemCount = (ItemIndex)ItemCatalog.itemCount; while (itemIndex < itemCount) { list.Add(itemIndex); itemIndex++; } foreach (ItemIndex itemIndex2 in from i in list where ItemCatalog.GetItemDef(i).inDroppableTier orderby ItemCatalog.GetItemDef(i).tier select i) { RuleCatalog.AddRule(RuleDef.FromItem(itemIndex2)); } RuleCatalog.AddCategory("RULE_HEADER_EQUIPMENT", new Color32(byte.MaxValue, 128, 0, byte.MaxValue), null, new Func <bool>(RuleCatalog.HiddenTestItemsConvar)); List <EquipmentIndex> list2 = new List <EquipmentIndex>(); EquipmentIndex equipmentIndex = EquipmentIndex.CommandMissile; EquipmentIndex equipmentCount = (EquipmentIndex)EquipmentCatalog.equipmentCount; while (equipmentIndex < equipmentCount) { list2.Add(equipmentIndex); equipmentIndex++; } foreach (EquipmentIndex equipmentIndex2 in from i in list2 where EquipmentCatalog.GetEquipmentDef(i).canDrop select i) { RuleCatalog.AddRule(RuleDef.FromEquipment(equipmentIndex2)); } RuleCatalog.AddCategory("RULE_HEADER_MISC", new Color32(192, 192, 192, byte.MaxValue), null, new Func <bool>(RuleCatalog.HiddenTestFalse)); RuleDef ruleDef = new RuleDef("Misc.StartingMoney", "RULE_MISC_STARTING_MONEY"); RuleChoiceDef ruleChoiceDef = ruleDef.AddChoice("0", 0U, true); ruleChoiceDef.tooltipNameToken = "RULE_STARTINGMONEY_CHOICE_0_NAME"; ruleChoiceDef.tooltipBodyToken = "RULE_STARTINGMONEY_CHOICE_0_DESC"; ruleChoiceDef.tooltipNameColor = ColorCatalog.GetColor(ColorCatalog.ColorIndex.LunarCoin); RuleChoiceDef ruleChoiceDef2 = ruleDef.AddChoice("15", 15U, true); ruleChoiceDef2.tooltipNameToken = "RULE_STARTINGMONEY_CHOICE_15_NAME"; ruleChoiceDef2.tooltipBodyToken = "RULE_STARTINGMONEY_CHOICE_15_DESC"; ruleChoiceDef2.tooltipNameColor = ColorCatalog.GetColor(ColorCatalog.ColorIndex.LunarCoin); ruleDef.MakeNewestChoiceDefault(); RuleChoiceDef ruleChoiceDef3 = ruleDef.AddChoice("50", 50U, true); ruleChoiceDef3.tooltipNameToken = "RULE_STARTINGMONEY_CHOICE_50_NAME"; ruleChoiceDef3.tooltipBodyToken = "RULE_STARTINGMONEY_CHOICE_50_DESC"; ruleChoiceDef3.spritePath = "Textures/MiscIcons/texRuleBonusStartingMoney"; ruleChoiceDef3.tooltipNameColor = ColorCatalog.GetColor(ColorCatalog.ColorIndex.LunarCoin); RuleCatalog.AddRule(ruleDef); RuleDef ruleDef2 = new RuleDef("Misc.StageOrder", "RULE_MISC_STAGE_ORDER"); RuleChoiceDef ruleChoiceDef4 = ruleDef2.AddChoice("Normal", StageOrder.Normal, true); ruleChoiceDef4.tooltipNameToken = "RULE_STAGEORDER_CHOICE_NORMAL_NAME"; ruleChoiceDef4.tooltipBodyToken = "RULE_STAGEORDER_CHOICE_NORMAL_DESC"; ruleChoiceDef4.tooltipNameColor = ColorCatalog.GetColor(ColorCatalog.ColorIndex.LunarCoin); ruleDef2.MakeNewestChoiceDefault(); RuleChoiceDef ruleChoiceDef5 = ruleDef2.AddChoice("Random", StageOrder.Random, true); ruleChoiceDef5.tooltipNameToken = "RULE_STAGEORDER_CHOICE_RANDOM_NAME"; ruleChoiceDef5.tooltipBodyToken = "RULE_STAGEORDER_CHOICE_RANDOM_DESC"; ruleChoiceDef5.spritePath = "Textures/MiscIcons/texRuleMapIsRandom"; ruleChoiceDef5.tooltipNameColor = ColorCatalog.GetColor(ColorCatalog.ColorIndex.LunarCoin); RuleCatalog.AddRule(ruleDef2); RuleDef ruleDef3 = new RuleDef("Misc.KeepMoneyBetweenStages", "RULE_MISC_KEEP_MONEY_BETWEEN_STAGES"); ruleDef3.AddChoice("On", true, true).tooltipBodyToken = "RULE_KEEPMONEYBETWEENSTAGES_CHOICE_ON_DESC"; ruleDef3.AddChoice("Off", false, true).tooltipBodyToken = "RULE_KEEPMONEYBETWEENSTAGES_CHOICE_OFF_DESC"; ruleDef3.MakeNewestChoiceDefault(); RuleCatalog.AddRule(ruleDef3); for (int k = 0; k < RuleCatalog.allRuleDefs.Count; k++) { RuleDef ruleDef4 = RuleCatalog.allRuleDefs[k]; ruleDef4.globalIndex = k; for (int j = 0; j < ruleDef4.choices.Count; j++) { RuleChoiceDef ruleChoiceDef6 = ruleDef4.choices[j]; ruleChoiceDef6.localIndex = j; ruleChoiceDef6.globalIndex = RuleCatalog.allChoicesDefs.Count; RuleCatalog.allChoicesDefs.Add(ruleChoiceDef6); } } RuleCatalog.availability.MakeAvailable(); }