public void Edit <T>(IAssetData asset) { if (asset.AssetNameEquals("Data/Bundles")) { asset.AsDictionary <string, string>().ReplaceWith(Bundles.Data()); Bundles.Fix(false); } if (asset.AssetNameEquals("Strings/UI")) { Func <string, Translation> t = Helper.Translation.Get; var dict = asset.AsDictionary <string, string>().Data; foreach (var room in new string[] { "Boiler", "Crafts", "Pantry", "Vault", "FishTank" }) { var key = "JunimoNote_Reward" + room; var r = room; if (room == "Crafts" || room == "Boiler") { r += "Room"; } VanillaRewards[r] = dict[key]; dict[key] = t(key); } } if (asset.AssetNameEquals("LooseSprites/JunimoNote")) { var tex = Helper.Content.Load <Texture2D>("assets/icons.png", ContentSource.ModFolder); asset.AsImage().PatchImage(tex, targetArea: new Rectangle(0, 180, 640, 64)); } }
private void ActivateMod(CommunityCenter cc) { GameState.Current.Activated = true; ModEntry.Instance.Invalidate(); Bundles.Fix(true); Warped(cc); }
private void SaveLoaded(object sender, SaveLoadedEventArgs e) { GameState.Current = Helper.Data.ReadSaveData <GameState>(saveKey); if (GameState.Current == null) { GameState.Current = new GameState(); } Invalidate(); Bundles.Init(); if (GameState.Current.Activated) { Helper.Content.Load <Dictionary <string, string> >("Data/Bundles", ContentSource.GameContent); foreach (var bundle in Bundles.List) { bundle.Perk?.EnableIfCompleted(); } } #if DEBUG Bundles.SaveMarkdown(); #endif }