Skip to content
Snippets Groups Projects
Commit 292a9fd6 authored by Malik Rafsanjani's avatar Malik Rafsanjani
Browse files

feat: show ui save on quest finish

parent d5b0b624
Branches
Tags
No related merge requests found
......@@ -40,6 +40,20 @@ public class Temple : MonoBehaviour
public bool OnQuest { get => onQuest; }
private SaveDialogHandler _saveDialog;
public SaveDialogHandler saveDialog
{
get
{
if (_saveDialog == null)
{
_saveDialog = GameObject.Find("HUDCanvas").GetComponentInChildren<SaveDialogHandler>();
}
return _saveDialog;
}
}
// Start is called before the first frame update
void Start()
{
......@@ -69,7 +83,8 @@ public class Temple : MonoBehaviour
private void ExitingQuest()
{
GameControl.control.addCurrency(questNumberEnemy.Reward);
var reward = questNumberEnemy.Reward;
GameControl.control.addCurrency(reward);
timer.StopTimer();
onQuest = false;
questNumberEnemy = null;
......@@ -83,7 +98,7 @@ public class Temple : MonoBehaviour
}
idxCurrentQuest++;
ToastManager.Instance.ShowToast("Quest " + idxCurrentQuest + " is Completed! You got additional coins: " + questNumberEnemy.Reward, 1);
ToastManager.Instance.ShowToast("Quest " + idxCurrentQuest + " is Completed! You got additional coins: " + reward, 1);
// retrieve the time
// add it to the global time
......@@ -94,6 +109,8 @@ public class Temple : MonoBehaviour
+ " + " + System.TimeSpan.FromSeconds(questTime).ToString("mm':'ss"), 1);
GlobalManager.Instance.TotalTime += questTime;
ToastManager.Instance.ShowToast(System.TimeSpan.FromSeconds(GlobalManager.Instance.TotalTime).ToString("mm':'ss"), 1);
this.saveDialog.Show();
}
private void OnTriggerEnter(Collider other)
......
......@@ -99,7 +99,16 @@ public class SaveDialogHandler : MonoBehaviour
// Update is called once per frame
void Update()
{
var onquest = GlobalStateManager.Instance.OnQuest;
if (onquest)
{
Close();
}
if (Input.GetKeyDown(KeyCode.Escape))
{
Close();
}
}
public void Show()
......
......@@ -33,7 +33,8 @@ public class SavePlace : MonoBehaviour
private void OnTriggerEnter(Collider other)
{
if (other.CompareTag("Player"))
var onquest = GlobalStateManager.Instance.OnQuest;
if (other.CompareTag("Player") && !onquest)
{
ToastManager.Instance.ShowToast("Press B to save", 1);
onArea = true;
......
......@@ -9,7 +9,19 @@ public class GlobalStateManager : MonoBehaviour
public static GlobalStateManager Instance { get; private set; }
private PlayerWeapons playerWeapons;
private PlayerHealth playerHealth;
private Temple temple;
private Temple _temple;
private Temple temple
{
get
{
if (_temple == null)
{
_temple = FindObjectOfType<Temple>();
}
return _temple;
}
}
private PetHealth petHealth;
private CheatManager cheatManager;
......@@ -30,7 +42,7 @@ public class GlobalStateManager : MonoBehaviour
{
playerWeapons = FindObjectOfType<PlayerWeapons>();
playerHealth = FindObjectOfType<PlayerHealth>();
temple = FindObjectOfType<Temple>();
_temple = FindObjectOfType<Temple>();
petHealth = FindObjectOfType<PetHealth>();
cheatManager = FindObjectOfType<CheatManager>();
}
......@@ -90,6 +102,14 @@ public class GlobalStateManager : MonoBehaviour
}
public bool OnQuest
{
get
{
return temple.OnQuest;
}
}
public string Stats()
{
var str = "";
......
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment