public void OpenScreen(UiScreenType newScreenType) { ScreenType = newScreenType; HudScreen.SetActive(newScreenType == UiScreenType.Hud); OptionsScreen.SetActive(newScreenType == UiScreenType.Options); OnScreenChanged?.Invoke(ScreenType); }
public static void SetScreenVisibility(UiScreenType screenType, Booleans isVisible) { var entityManager = World.Active.GetOrCreateManager<EntityManager>(); var requestEntity = entityManager.CreateEntity(); entityManager.AddComponentData(requestEntity, new SetScreenVisibilityRequest { isVisible = isVisible, screenType = screenType }); }
public void SetScreenVisibility(UiScreenType screenType, bool isVisible) { for (int i = 0; i < screenGroup.Length; i++) { if (screenGroup.uiScreen[i].type == screenType) { var entity = screenGroup.entity[i]; if (isVisible) { if (!EntityManager.HasComponent <Visible>(entity)) { PostUpdateCommands.AddComponent(entity, new Visible()); } } else { if (EntityManager.HasComponent <Visible>(entity)) { PostUpdateCommands.RemoveComponent <Visible>(entity); } } } } }
void OnScreenTypeChanged(UiScreenType newScreen) => Game.IsPaused = newScreen != UiScreenType.Hud;