void Update() { if (mouseHelper.DidClickOnGame()) { Vector2Int tileCoordinates = mouseHelper.TileCoordinateForCurrentMousePosition(); TileContainer tileContainer = GameManager.Instance.TileContainerAtPosition(tileCoordinates); if (tileContainer != null) { switch (UIManager.Instance.State.state) { case UIState.Value.BuildingSelected: if (GameManager.Instance.Build(UIManager.Instance.State.buildingEntity, tileContainer)) { UIManager.Instance.State = UIState.Default(); } break; case UIState.Value.TerrainUpgradeSelected: if (GameManager.Instance.Build(UIManager.Instance.State.terrainUpgradeEntity, tileContainer)) { UIManager.Instance.State = UIState.Default(); } break; case UIState.Value.DestoryBuildings: if (GameManager.Instance.DestroyBuilding(tileContainer)) { UIManager.Instance.State = UIState.Default(); } break; case UIState.Value.Default: if (tileContainer.growable != null) { GameManager.Instance.CollectGrowable(tileContainer.growable); } break; } } else { UIManager.Instance.State = UIState.Default(); } } else if (mouseHelper.DidRightClickOverGame()) { UIManager.Instance.State = UIState.Default(); } }
private UIManager() { State = UIState.Default(); HoverPosition = null; }