internal bool HasPowerModule(out DeepDrillModules module) { bool result = false; module = DeepDrillModules.None; for (int i = 0; i < EquipmentConfiguration.SlotIDs.Length; i++) { if (_equipment.GetTechTypeInSlot(EquipmentConfiguration.SlotIDs[i]) == TechTypeHelper.BatteryAttachmentTechType()) { module = DeepDrillModules.Battery; result = true; break; } if (_equipment.GetTechTypeInSlot(EquipmentConfiguration.SlotIDs[i]) == TechTypeHelper.SolarAttachmentTechType()) { module = DeepDrillModules.Solar; result = true; break; } } if (!result) { _mono.ComponentManager.HideAllPowerAttachments(); } return(result); }
internal void DestroyPower(DeepDrillModules module) { switch (module) { case DeepDrillModules.Battery: for (int i = 0; i < Batteries.Count; i++) { Batteries[i].Battery.charge = 0; } break; case DeepDrillModules.Solar: Solar.Battery.charge = 0; break; } }
internal void HideAttachment(DeepDrillModules module) { switch (module) { case DeepDrillModules.Solar: _solarPanelModule.SetActive(false); break; case DeepDrillModules.Battery: _batteryModule.SetActive(false); break; case DeepDrillModules.Focus: _focusModule.SetActive(false); break; } }
internal float GetCharge(DeepDrillModules module) { switch (module) { case DeepDrillModules.Battery: float count = 0; for (int i = 0; i < Batteries.Count; i++) { count += Batteries[i].Battery.charge; } return(count); case DeepDrillModules.Solar: return(Solar.Battery.charge); default: return(0); } }
internal void ConsumePower(DeepDrillModules module) { var powerDraw = QPatch.Configuration.PowerDraw; switch (module) { case DeepDrillModules.Battery: foreach (var powerUnitData in Batteries) { if (powerUnitData.Battery.charge >= powerDraw) { ModifyCharge(-Mathf.Abs(powerDraw), powerUnitData); break; } } break; case DeepDrillModules.Solar: ModifyCharge(-Mathf.Abs(powerDraw), Solar); break; } }
internal float GetCapacity(DeepDrillModules module) { //QuickLogger.Debug($"Module: {module}"); switch (module) { case DeepDrillModules.Battery: float count = 0; for (int i = 0; i < Batteries.Count; i++) { count += Batteries[i].Battery.capacity; } return(count); case DeepDrillModules.Solar: return(Solar.Battery.capacity); default: return(0); } }