static void Prefix(CraftTree.Type treeType, ITreeActionReceiver receiver)
 {
     if (treeType == CraftTree.Type.Fabricator)
     {
         updateTitaniumRecipe();
         currentPowerRelay = (receiver as GhostCrafter)?.powerRelay;                                                                                                                     $"Current power relay: '{currentPowerRelay}'".logDbg();
     }
 }
示例#2
0
        public static CraftTree.Type GetLastOpenPage(ITreeActionReceiver receiver)
        {
            CraftTree.Type lastPage;
            if (savedPages.TryGetValue(receiver, out lastPage))
            {
                return(lastPage);
            }

            return(CraftTree.Type.None);
        }
示例#3
0
 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);
        }
示例#5
0
 static void openCraftingMenu(CraftTree.Type treeType, ITreeActionReceiver receiver)
 {
     currentTreeType   = treeType;
     currentPowerRelay = Main.config.bulkCrafting.changePowerConsumption? (receiver as GhostCrafter)?.powerRelay: null;
 }