| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051 |
- using HarmonyLib;
- using GadgetCore.API;
- using UnityEngine;
- using System.Collections;
- using System.Reflection;
- namespace First.Patches
- {
- [HarmonyPatch(typeof(GameScript))]
- [HarmonyPatch("InitializeGatherStorage")]
- [HarmonyGadget("First")]
- public static class Patch_GameScript_InitializeGatherStorage
- {
- [HarmonyPrefix]
- public static bool Prefix(GameScript __instance)
- {
- int i;
- for (i = 0; i < 6; i++)
- {
- GameScript.shipDroid[i] = PreviewLabs.PlayerPrefs.GetInt("sd" + i);
- if (GameScript.shipDroid[i] > 5)
- {
- GameScript.shipDroid[i] = 5;
- }
- }
- if (GameScript.shipDroid[0] == 0)
- {
- GameScript.shipDroid[0] = 1;
- PreviewLabs.PlayerPrefs.SetInt("sd" + i, 1);
- }
- Item[] items = new Item[16];
- var field = typeof(GameScript).GetField("gatherStorage", BindingFlags.NonPublic | BindingFlags.GetField | BindingFlags.Instance);
- field.SetValue(__instance, items);
- for (i = 0; i < 16; i++)
- {
- items[i] = new Item(71, 2, 0, 0, 0, new int[3], new int[3]);
- }
- return false; // Return false to prevent the vanilla method from running.
- }
- /*
- [HarmonyPostfix]
- public static void Postfix(ClassName __instance)
- {
- // Add code to run after `MethodName` is called.
- }
- */
- }
- }
|