public void ReplaceBoostEffect(ShipEffects newEffects) { var index = GameComponentsLookup.BoostEffect; var component = CreateComponent <BoostEffectComponent>(index); component.effects = newEffects; ReplaceComponent(index, component); }
private void SystemEffects() { if (curWarpCoreHealth <= maxWarpCoreHealth * 0.125f || ActiveWarpCore) { curEnergy = 0; if (WarpCoreDisable == null) { WarpCoreDisable = gameObject.AddComponent <ShipEffects>(); WarpCoreDisable.Effect = ShipEffects.ShipEffect.WarpCoreDisable; } } if (curWarpCoreHealth > maxWarpCoreHealth * 0.125f && !ActiveWarpCore) { if (WarpCoreDisable != null) { Destroy(WarpCoreDisable); WarpCoreDisable = null; } } if (curSensorsSystemHealth <= maxSensorsSystemHealth * 0.125f || ActiveSensors) { _es.VisionRadius = NormalSensors / 5; } else { _es.VisionRadius = NormalSensors; } if (curLifeSupportSystemHealth <= maxLifeSupportSystemHealth * 0.125f || ActiveLifeSupport) { if (curCrew > 0) { if (curCrew > 15) { float T9; T9 = maxCrew / 100; curCrew -= T9 / 50; } if (curCrew < 15) { float T9; T9 = maxCrew / 1000; curCrew -= T9 / 50; } } else { curCrew = 0; } } if (curEnergy < maxEnergy) { curEnergy += Time.deltaTime; } if (maxCrew > 0) { if (curImpulseSystemHealth <= maxImpulseSystemHealth * 0.125f || ActiveImpulse || curCrew <= 0) { if (Ship) { gameObject.GetComponent <MoveComponent>().enabled = false; } } } else if (maxCrew <= 0) { if (curImpulseSystemHealth <= maxImpulseSystemHealth * 0.125f || ActiveImpulse) { if (Ship) { gameObject.GetComponent <MoveComponent>().enabled = false; } } } if (maxCrew > 0) { if (curImpulseSystemHealth > maxImpulseSystemHealth * 0.125f && !ActiveImpulse && curCrew > 0) { if (Ship) { gameObject.GetComponent <MoveComponent>().enabled = true; } } } else { if (curImpulseSystemHealth > maxImpulseSystemHealth * 0.125f && !ActiveImpulse) { if (Ship) { gameObject.GetComponent <MoveComponent>().enabled = true; } } } }