static void Prefix(CraftTree.Type treeType, ITreeActionReceiver receiver) { if (treeType == CraftTree.Type.Fabricator) { updateTitaniumRecipe(); currentPowerRelay = (receiver as GhostCrafter)?.powerRelay; $"Current power relay: '{currentPowerRelay}'".logDbg(); } }
public static CraftTree.Type GetLastOpenPage(ITreeActionReceiver receiver) { CraftTree.Type lastPage; if (savedPages.TryGetValue(receiver, out lastPage)) { return(lastPage); } return(CraftTree.Type.None); }
public void SetOpenPage(ITreeActionReceiver receiver, CraftTree.Type page) { CraftTree.Type lastPage; if (savedPages.TryGetValue(receiver, out lastPage)) { savedPages[receiver] = page; } else { savedPages.Add(receiver, page); } }
private static void Postfix(uGUI_CraftingMenu __instance, uGUI_CraftNode sender) { ITreeActionReceiver client = uGUI_CraftingMenuReflector.GetClient(__instance); bool interactable = uGUI_CraftingMenuReflector.GetInteractable(__instance); if (client != null && interactable && __instance.ActionAvailable(sender) || Object.op_Equality((Object)sender.get_icon(), (Object)null)) { return; } float num = 1f + Random.Range(-0.2f, 0.2f); sender.get_icon().PunchScale(5f, 0.5f, num, 0.0f); }
static void openCraftingMenu(CraftTree.Type treeType, ITreeActionReceiver receiver) { currentTreeType = treeType; currentPowerRelay = Main.config.bulkCrafting.changePowerConsumption? (receiver as GhostCrafter)?.powerRelay: null; }