This commit is contained in:
Daniel Tyomin 2024-08-20 01:43:15 +02:00
parent 8df84480d3
commit ff6b95b251
6 changed files with 4114 additions and 19 deletions

File diff suppressed because it is too large Load Diff

View File

@ -10,6 +10,10 @@ public class Scoreboard: MonoBehaviour
public static Scoreboard Instance;
public LevelObjective CurrentObjective;
public LevelObjective Stage1Objective;
public LevelObjective Stage2Objective;
public LevelObjective Stage3Objective;
public Dictionary<ProductType, Vector2Int> ProductCounts = new ();
public float _timeLeft;
@ -25,9 +29,21 @@ public class Scoreboard: MonoBehaviour
}
}
public void Start()
public void StartStage(StagingManager.StageEnum stage)
{
SetObjective(CurrentObjective);
switch (stage)
{
case StagingManager.StageEnum.Level1:
SetObjective(Stage1Objective);
break;
case StagingManager.StageEnum.Level2:
SetObjective(Stage2Objective);
break;
case StagingManager.StageEnum.Level3:
SetObjective(Stage3Objective);
break;
}
UpdateText();
}

3
Assets/Scripts/UI.meta Normal file
View File

@ -0,0 +1,3 @@
fileFormatVersion: 2
guid: f8929854d39c43b68703c565297a73f1
timeCreated: 1724110207

View File

@ -0,0 +1,91 @@
using System.Collections.Generic;
using UnityEngine;
public class UIManager: MonoBehaviour
{
public enum UIState
{
MainMenu = 0,
Game = 1,
Pause = 2,
HowToPlay = 3,
StageSelect = 4,
ConfirmQuit = 5,
}
public List<UIState> StateStack = new List<UIState>() {UIState.MainMenu};
public GameObject MainMenu;
public GameObject Reticle;
public GameObject HowToPlay;
public GameObject StageSelect;
public GameObject ConfirmQuit;
public void Start()
{
MainMenu.SetActive(false);
Reticle.SetActive(false);
HowToPlay.SetActive(false);
StageSelect.SetActive(false);
ConfirmQuit.SetActive(false);
PushState(UIState.MainMenu);
}
public void PushState(UIState state)
{
if (StateStack.Count > 0)
{
OnExitState(StateStack[0]);
}
StateStack.Add(state);
OnEnterState(state);
}
public void PopState()
{
if (StateStack.Count > 0)
{
OnExitState(StateStack[0]);
StateStack.RemoveAt(0);
}
}
private void OnEnterState(UIState state)
{
switch (state)
{
case UIState.MainMenu:
MainMenu.SetActive(true);
break;
case UIState.Game:
Reticle.SetActive(true);
break;
}
}
private void OnExitState(UIState state)
{
switch (state)
{
case UIState.MainMenu:
MainMenu.SetActive(false);
break;
case UIState.Game:
Reticle.SetActive(false);
break;
}
}
public void StartStage(int stage)
{
Scoreboard.Instance.StartStage((StagingManager.StageEnum)stage);
PushState(UIState.Game);
}
public void Quit()
{
Application.Quit();
}
}

View File

@ -0,0 +1,3 @@
fileFormatVersion: 2
guid: 1d007036093842af8034f1c5e5c1e7e8
timeCreated: 1724110214

File diff suppressed because one or more lines are too long