/// <summary> /// Try and disable the module in the specified hardpoint. /// </summary> public ModuleResult DisableModuleIn(Hardpoint hardpoint, ActorModule.DisabledReason reason = ActorModule.DisabledReason.User) { if (hardpoint == null) { return(ModuleResult.InvalidHardpoint); } if (hardpoint.IsEmpty) { return(ModuleResult.NoModule); } else if (!hardpoint.Module.IsEnabled) { return(ModuleResult.AlreadyDisabled); } else { ModuleResult result = hardpoint.Module.DisableModule(reason); if (result == ModuleResult.Success) { --_totalActive; if (reason == ActorModule.DisabledReason.ResourceLoss) { ++_autoDisabled; } if (onChange != null) { onChange(ActorModule.Change.Disabled, hardpoint.Module); } } return(result); } }
/// <summary> /// Try and enable the module in the specified hardpoint. /// </summary> public ModuleResult EnableModuleIn(Hardpoint hardpoint) { if (hardpoint.IsEmpty) { return(ModuleResult.NoModule); } else { ActorModule.DisabledReason disabledReason = hardpoint.Module.DisabledBy; ModuleResult res = hardpoint.Module.EnableModule(); if (res == ModuleResult.Success) { ++_totalActive; if (disabledReason != ActorModule.DisabledReason.User) { --_autoDisabled; } if (onChange != null) { onChange(ActorModule.Change.Enabled, hardpoint.Module); } } return(res); } }