63 lines
1.3 KiB
C#
63 lines
1.3 KiB
C#
|
|
using UnityEngine;
|
||
|
|
using UnityEngine.UI;
|
||
|
|
|
||
|
|
public class PuzzleUI : MonoBehaviour
|
||
|
|
{
|
||
|
|
public Text objectiveText;
|
||
|
|
public Text solvedText;
|
||
|
|
public Text debugText;
|
||
|
|
public Text messageText;
|
||
|
|
|
||
|
|
private float messageTimer;
|
||
|
|
|
||
|
|
private void Update()
|
||
|
|
{
|
||
|
|
if (messageTimer <= 0f || messageText == null || solvedText == null)
|
||
|
|
{
|
||
|
|
return;
|
||
|
|
}
|
||
|
|
|
||
|
|
messageTimer -= Time.deltaTime;
|
||
|
|
|
||
|
|
if (messageTimer <= 0f && !solvedText.gameObject.activeSelf)
|
||
|
|
{
|
||
|
|
messageText.text = string.Empty;
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
public void SetObjective(string text)
|
||
|
|
{
|
||
|
|
if (objectiveText != null)
|
||
|
|
{
|
||
|
|
objectiveText.text = text;
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
public void SetSolvedVisible(bool visible)
|
||
|
|
{
|
||
|
|
if (solvedText != null)
|
||
|
|
{
|
||
|
|
solvedText.gameObject.SetActive(visible);
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
public void UpdateDebug(bool keyPlaced, bool gemPlaced, bool solved)
|
||
|
|
{
|
||
|
|
if (debugText != null)
|
||
|
|
{
|
||
|
|
debugText.text = "Key placed: " + keyPlaced + "\n"
|
||
|
|
+ "Gem placed: " + gemPlaced + "\n"
|
||
|
|
+ "Puzzle solved: " + solved;
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
public void ShowMessage(string text)
|
||
|
|
{
|
||
|
|
if (messageText != null)
|
||
|
|
{
|
||
|
|
messageText.text = text;
|
||
|
|
messageTimer = 3f;
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|