public void Unequip(InternalConstructionModule module) { if (module.hullModule == null) { return; } if (module is BatteryConstructionModule) { energy.batteries.Remove((BatteryConstructionModule)module); } else if (module is PowerConstructionModule) { energy.powerPlants.Remove((PowerConstructionModule)module); } else if (module is FuelConstructionModule) { fuel.fuelTanks.Remove((FuelConstructionModule)module); } else if (module is CrewConstructionModule) { crew.crewPods.Remove((CrewConstructionModule)module); } HullConstructionModule hullModule = module.hullModule; hullModule.internalModule = null; module.hullModule = null; hullModule.Activate(); module.OnUnequip(); }
public void Unequip(InternalConstructionModule module, HullConstructionModule hullModule) { if (module.hullModule != hullModule) { return; } Unequip(module); }
public void Reset() { Clear(); // no manifest, create test inventory if (scene.inventoryManifest == null) { HullConstructionModule modulePrefab = game.GetConstructionModulePrefab(ModuleType.Hull) as HullConstructionModule; HullConstructionModule module = Instantiate(modulePrefab) as HullConstructionModule; module.manifest = new ModuleManifest("Basic hull"); AddModules(module, 20); ThrusterConstructionModule thrusterModulePrefab = game.GetConstructionModulePrefab(ModuleType.Thruster) as ThrusterConstructionModule; var thrusterModule = Instantiate(thrusterModulePrefab) as ThrusterConstructionModule; thrusterModule.manifest = new ModuleManifest("Basic thruster"); AddModules(thrusterModule, 15); ManeuveringConstructionModule maneuveringModulePrefab = game.GetConstructionModulePrefab(ModuleType.Maneuvering) as ManeuveringConstructionModule; var maneuveringModule = Instantiate(maneuveringModulePrefab) as ManeuveringConstructionModule; maneuveringModule.manifest = new ModuleManifest("Basic turner"); AddModules(maneuveringModule, 15); WeaponConstructionModule weaponModulePrefab = game.GetConstructionModulePrefab(ModuleType.Weapon) as WeaponConstructionModule; var weaponModule = Instantiate(weaponModulePrefab) as WeaponConstructionModule; weaponModule.manifest = new ModuleManifest("Missile weapon"); AddModules(weaponModule, 15); BatteryConstructionModule batteryModulePrefab = game.GetConstructionModulePrefab(ModuleType.Battery) as BatteryConstructionModule; var batteryModule = Instantiate(batteryModulePrefab) as BatteryConstructionModule; batteryModule.manifest = new ModuleManifest("Battery"); AddModules(batteryModule, 15); CrewConstructionModule crewModulePrefab = game.GetConstructionModulePrefab(ModuleType.Crew) as CrewConstructionModule; var crewModule = Instantiate(crewModulePrefab) as CrewConstructionModule; crewModule.manifest = new ModuleManifest("Crew"); AddModules(crewModule, 15); FuelConstructionModule fuelModulePrefab = game.GetConstructionModulePrefab(ModuleType.Fuel) as FuelConstructionModule; FuelConstructionModule fuelModule = Instantiate(fuelModulePrefab) as FuelConstructionModule; fuelModule.manifest = new ModuleManifest("Fuel"); AddModules(fuelModule, 15); PowerConstructionModule powerModulePrefab = game.GetConstructionModulePrefab(ModuleType.Power) as PowerConstructionModule; PowerConstructionModule powerModule = Instantiate(powerModulePrefab) as PowerConstructionModule; powerModule.manifest = new ModuleManifest("Power"); AddModules(powerModule, 15); } // create inventory based on manifest else { Construct(scene.inventoryManifest); } }
public void Equip(InternalConstructionModule module, HullConstructionModule hullModule) { if (module.hullModule == hullModule) { module.transform.localPosition = Vector2.zero; return; } if (!hullModule.available) { return; } if (module.hullModule != null) { Unequip(module); } module.transform.parent = hullModule.transform; module.transform.localPosition = Vector2.zero; hullModule.internalModule = module; module.hullModule = hullModule; hullModule.Deactivate(); inventory.RemoveModule(module); module.OnEquip(); if (module is BatteryConstructionModule) { energy.batteries.Add((BatteryConstructionModule)module); } else if (module is PowerConstructionModule) { energy.powerPlants.Add((PowerConstructionModule)module); } else if (module is FuelConstructionModule) { fuel.fuelTanks.Add((FuelConstructionModule)module); } else if (module is CrewConstructionModule) { crew.crewPods.Add((CrewConstructionModule)module); } }