private void GameLoop_GameLaunched(object sender, StardewModdingAPI.Events.GameLaunchedEventArgs e) { ObjectIDHelper.init(); //FarmHouseStates.harmony.Patch( // original: Helper.Reflection.GetMethod(new FarmHouse(), "doSetVisibleFloor").MethodInfo, // prefix: new HarmonyMethod(AccessTools.Method(typeof(FarmHouse_doSetVisibleFloor_Patch), nameof(FarmHouse_doSetVisibleFloor_Patch.Prefix))) //); //Farmer Patches //FarmHouseStates.harmony.Patch( // original: typeof(Farmer).GetConstructor(new Type[] // { // typeof(FarmerSprite), // typeof(Vector2), // typeof(int), // typeof(string), // typeof(List<Item>), // typeof(bool) // }), // postfix: new HarmonyMethod(AccessTools.Method(typeof(Farmer_Ctor_Patch), nameof(Farmer_Ctor_Patch.Postfix))) //); FarmState.init(); FarmHouseStates.init(); OtherLocations.DecoratableStates.init(); OtherLocations.FakeDecor.FakeDecorHandler.init(); }
public LevelNUpgrade(JObject upgrade) { try { name = upgrade["Name"].ToString(); level = Convert.ToInt32(upgrade["Level"]); description = upgrade["Description"].ToString(); cost = new Dictionary <int, int>(); moneyCost = 0; foreach (KeyValuePair <string, JToken> item in upgrade["Cost"] as JObject) { if (item.Key.ToLower() == "g") { moneyCost = Convert.ToInt32(item.Value); continue; } int id = ObjectIDHelper.getID(item.Key); if (id == -1) { Logger.Log("Couldn't find the ID for an object named \"" + item.Key + "\"!", StardewModdingAPI.LogLevel.Error); continue; } cost[id] = Convert.ToInt32(item.Value); } map = findMapByName(upgrade["Map"].ToString()); if (upgrade.ContainsKey("Marriage")) { marriageMap = findMapByName(upgrade["Marriage"].ToString()); } else { marriageMap = findMapByName(upgrade["Map"].ToString() + "_marriage"); } } catch (KeyNotFoundException e) { Logger.Log("A farmhouse upgrade definition was missing a required field!", LogLevel.Error); throw e; } }