internal void OnButtonClick(string btnName, object additionalObject) { switch (btnName) { case "SentPackages": if (!_mono.HasItems()) { QuickLogger.Info($"There are no items to ship canceling shipment", true); return; } TargetScreen(); break; case "OpenContainer": _mono.OpenStorage(); _animatorController.OpenDoors(); break; case "CancelBTN": MainScreen(); break; case "ColorItem": var color = (Color)additionalObject; ColorHandler.ChangeBodyColor("AlterraShipping_BaseColor", color, _mono.gameObject); QuickLogger.Debug($"{_mono.gameObject.name} Color Changed to {color.ToString()}"); _mono.SetCurrentBodyColor(color); break; case "ColorPickerBTN": ColorPickerScreen(); break; case "ColorCancelBTN": MainScreen(); break; case "ShippingContainer": var target = additionalObject as AlterraShippingTarget; if (target == null) { QuickLogger.Error <AlterraShippingDisplay>("The target shipping container returned null"); return; } if (target.IsReceivingTransfer || target.IsFull()) { QuickLogger.Message($"Target Inventory doesn't have enough free slots or is receiving a shipment", true); return; } ShippingScreen(target); break; } }