internal static PlanetaryWindow GetInstance(EntityState entity) { PlanetaryWindow thisItem; if (!_uiState.LoadedWindows.ContainsKey(typeof(PlanetaryWindow))) { thisItem = new PlanetaryWindow(entity); } else { thisItem = (PlanetaryWindow)_uiState.LoadedWindows[typeof(PlanetaryWindow)]; thisItem.onEntityChange(entity); } return(thisItem); }
internal static void openUIWindow(Type T, EntityState _entityState, GlobalUIState _state, bool open = true, bool managesUIPopUps = false) { if (open) { //If the user has requested a menu be opened and if //Menu is pin menu if (T == typeof(PinCameraBlankMenuHelper)) { _state.Camera.PinToEntity(_entityState.Entity); if (managesUIPopUps) { ImGui.CloseCurrentPopup(); } } //Menu is goto system menu else if (T == typeof(GotoSystemBlankMenuHelper)) { _state.SetActiveSystem(_entityState.Entity.GetDataBlob <JPSurveyableDB>().JumpPointTo.GetDataBlob <PositionDB>().SystemGuid); } else if (T == typeof(SelectPrimaryBlankMenuHelper)) { _state.EntitySelectedAsPrimary(_entityState.Entity.Guid, _entityState.StarSysGuid); } //if entity can warp else if (T == typeof(WarpOrderWindow)) { WarpOrderWindow.GetInstance(_entityState).IsActive = true; _state.ActiveWindow = WarpOrderWindow.GetInstance(_entityState); } //Menu is change orbit menu else if (T == typeof(ChangeCurrentOrbitWindow)) { ChangeCurrentOrbitWindow.GetInstance(_entityState).IsActive = true; _state.ActiveWindow = ChangeCurrentOrbitWindow.GetInstance(_entityState); } //Menu is ficrecontrol menu else if (T == typeof(WeaponTargetingControl)) { var instance = WeaponTargetingControl.GetInstance(_entityState); instance.SetOrderEntity(_entityState); instance.IsActive = true; _state.ActiveWindow = instance; } //Menu is rename menu else if (T == typeof(RenameWindow)) { RenameWindow.GetInstance(_entityState).IsActive = true; _state.ActiveWindow = RenameWindow.GetInstance(_entityState); if (managesUIPopUps) { ImGui.CloseCurrentPopup(); } } //Menu is cargo menu else if (T == typeof(CargoTransfer)) { var instance = CargoTransfer.GetInstance(_state.Game.StaticData, _entityState); instance.IsActive = true; _state.ActiveWindow = instance; } //Menu is econ menu else if (T == typeof(ColonyPanel)) { var instance = ColonyPanel.GetInstance(_state.Game.StaticData, _entityState); instance.IsActive = true; _state.ActiveWindow = instance; } // if (T == typeof(PlanetaryWindow)) { var instance = PlanetaryWindow.GetInstance(_entityState); instance.IsActive = true; _state.ActiveWindow = instance; //TODO: implement this(moving a ship entity[_state.PrimaryEntity] from one system to another one and placing it at a given location[_entityState.Entity.GetDataBlob<JPSurveyableDB>().JumpPointTo.GetDataBlob<PositionDB>(). etc...]) if (T == typeof(JumpThroughJumpPointBlankMenuHelper)) { } } } }