private void OnFlagsChanged(EDStatus_Flags flags) { if (flags.HasFlag(flag) != isOn) { isOn = flags.HasFlag(flag); TriggerRefresh(); } }
void Refresh() { if (ModeOverride != CockpitModeOverride.None) { SetMode((CockpitMode)ModeOverride); return; } if (!EDStateManager.instance.IsEliteDangerousRunning) { if (gameNotRunning != null) { gameNotRunning.SetActive(true); } SetMode(CockpitMode.GameNotRunning); return; } if (CockpitStateController.instance.menuMode) { SetMode(CockpitMode.MenuMode); return; } var mode = CockpitMode.InGame; if (GuiFocus == EDGuiFocus.GalaxyMap || GuiFocus == EDGuiFocus.SystemMap) { mode |= CockpitMode.Map; } else { mode |= CockpitMode.Cockpit; if (StatusFlags.HasFlag(EDStatus_Flags.InMainShip) || StatusFlags.HasFlag(EDStatus_Flags.InFighter)) { mode |= CockpitMode.InShip; } if (StatusFlags.HasFlag(EDStatus_Flags.InMainShip)) { mode |= CockpitMode.InMainShip; } if (StatusFlags.HasFlag(EDStatus_Flags.InFighter)) { mode |= CockpitMode.InFighter; } if (StatusFlags.HasFlag(EDStatus_Flags.InSRV)) { mode |= CockpitMode.InSRV; } } SetMode(mode); }
void Refresh() { if (ModeOverride != CockpitModeOverride.None) { SetMode((CockpitMode)ModeOverride); return; } if (!EDStateManager.instance.IsEliteDangerousRunning) { if (gameNotRunning != null) { gameNotRunning.SetActive(true); } SetMode(CockpitMode.GameNotRunning); return; } if (CockpitStateController.instance.menuMode) { SetMode(CockpitMode.MenuMode); return; } var mode = CockpitMode.InGame; if (GuiFocus == EDGuiFocus.GalaxyMap || GuiFocus == EDGuiFocus.SystemMap || GuiFocus == EDGuiFocus.Orrery) { mode |= CockpitMode.Map; } else if (GuiFocus == EDGuiFocus.FSSMode) { mode |= CockpitMode.FSSMode; } else { mode |= CockpitMode.Cockpit; if (StatusFlags.HasFlag(EDStatus_Flags.InMainShip) || StatusFlags.HasFlag(EDStatus_Flags.InFighter)) { mode |= CockpitMode.InShip; } if (StatusFlags.HasFlag(EDStatus_Flags.InMainShip)) { mode |= CockpitMode.InMainShip; } if (StatusFlags.HasFlag(EDStatus_Flags.InFighter)) { mode |= CockpitMode.InFighter; } if (StatusFlags.HasFlag(EDStatus_Flags.InSRV)) { mode |= CockpitMode.InSRV; } switch (GuiFocus) { case EDGuiFocus.StationServices: mode |= CockpitMode.StationServices; break; case EDGuiFocus.SAAMode: mode |= CockpitMode.DSSMode; break; } // @todo Test and add Codex as well } SetMode(mode); }