public bool IsAllowedToAdd(Pickupable pickupable, bool verbose) { var successful = false; var food = pickupable.GetComponentInChildren <Eatable>(); if (food != null) { #if DEBUG QuickLogger.Debug($"Food Check {CanBeStored(DumpContainer.GetCount() + 1, pickupable.GetTechType())}", true); #endif if ((!food.decomposes || AllowedFoodItems.Contains(pickupable.GetTechType())) && CanBeStored(DumpContainer.GetCount() + 1, pickupable.GetTechType())) { successful = true; } else { foreach (KeyValuePair <string, FCSConnectableDevice> seaBreeze in FCSConnectables) { if (seaBreeze.Value.GetTechType() != Mod.GetSeaBreezeTechType()) { continue; } if (!seaBreeze.Value.CanBeStored(1, pickupable.GetTechType())) { continue; } successful = true; } } if (!successful) { QuickLogger.Message(AuxPatchers.NoFoodItems(), true); } QuickLogger.Debug($"Food Allowed Result: {successful}", true); return(successful); } #if DEBUG QuickLogger.Debug($"{DumpContainer.GetCount() + 1}", true); #endif if (!CanBeStored(DumpContainer.GetCount() + 1, pickupable.GetTechType())) { QuickLogger.Message(AuxPatchers.CannotBeStored(), true); return(false); } return(true); }
private void Initialize(SubRoot habitat) { ReadySaveData(); FCSConnectableAwake_Patcher.AddEventHandlerIfMissing(AlertedNewFCSConnectablePlaced); FCSConnectableDestroy_Patcher.AddEventHandlerIfMissing(AlertedFCSConnectableDestroyed); GetFCSConnectables(); if (NameController == null) { NameController = new NameController(); NameController.Initialize(AuxPatchers.Submit(), Mod.AntennaFriendlyName); NameController.OnLabelChanged += OnLabelChangedMethod; if (string.IsNullOrEmpty(_savedData?.InstanceID)) { NameController.SetCurrentName(GetDefaultName()); } else { NameController.SetCurrentName(_savedData?.BaseName); } } if (DumpContainer == null) { DumpContainer = habitat.gameObject.AddComponent <DumpContainer>(); DumpContainer.Initialize(habitat.transform, AuxPatchers.BaseDumpReceptacle(), AuxPatchers.NotAllowed(), AuxPatchers.CannotBeStored(), this); } if (DockingManager == null) { DockingManager = habitat.gameObject.AddComponent <DSSVehicleDockingManager>(); DockingManager.Initialize(habitat, this); DockingManager.ToggleIsEnabled(_savedData?.AllowDocking ?? false); } _hasBreakerTripped = _savedData?.HasBreakerTripped ?? false; }
public override void Initialize() { if (DumpContainer == null) { DumpContainer = new DumpContainer(); DumpContainer.Initialize(transform, "Item Display Receptical", AuxPatchers.NotAllowed(), AuxPatchers.CannotBeStored(), this, 1, 1); } var icon = GameObjectHelpers.FindGameObject(gameObject, "Icon"); _icon = icon?.AddComponent <uGUI_Icon>(); _button = InterfaceHelpers.CreateButton(icon, "IconClick", InterfaceButtonMode.Background, OnButtonClick, Color.white, Color.gray, 5.0f); _amount = GameObjectHelpers.FindGameObject(gameObject, "Text")?.GetComponent <Text>(); var addBTN = GameObjectHelpers.FindGameObject(gameObject, "AddBTN"); InterfaceHelpers.CreateButton(addBTN, "AddBTN", InterfaceButtonMode.Background, OnButtonClick, Color.gray, Color.white, 5.0f, AuxPatchers.ColorPage()); var deleteBTN = GameObjectHelpers.FindGameObject(gameObject, "DeleteBTN"); InterfaceHelpers.CreateButton(deleteBTN, "DeleteBTN", InterfaceButtonMode.Background, OnButtonClick, Color.gray, Color.white, 5.0f, AuxPatchers.ColorPage()); AddToBaseManager(); InvokeRepeating(nameof(UpdateScreen), 1f, 1f); IsInitialized = true; }
public override void Initialize() { QuickLogger.Debug("Initialize Formatter", true); _slotState = Animator.StringToHash("SlotState"); if (AnimationManager == null) { AnimationManager = gameObject.AddComponent <AnimationManager>(); } if (ColorManager == null) { ColorManager = gameObject.AddComponent <ColorManager>(); ColorManager.Initialize(gameObject, DSSModelPrefab.BodyMaterial); } if (DisplayManager == null) { DisplayManager = gameObject.AddComponent <DSSServerFormattingStationDisplay>(); DisplayManager.Setup(this); } if (DumpContainer == null) { DumpContainer = new DumpContainer(); DumpContainer.Initialize(transform, AuxPatchers.BaseDumpReceptacle(), AuxPatchers.NotAllowed(), AuxPatchers.CannotBeStored(), this, 1, 1); } IsInitialized = true; }