edit: made board UI prefabs
This commit is contained in:
parent
594690545b
commit
c98652c00f
27 changed files with 3759 additions and 313 deletions
|
@ -12,9 +12,9 @@ namespace Lemon.GenericLib.Generics
|
|||
public bool Enabled => enabled;
|
||||
public T Value => value;
|
||||
|
||||
public Optional(T initialValue)
|
||||
public Optional(T initialValue, bool start)
|
||||
{
|
||||
enabled = true;
|
||||
enabled = start;
|
||||
value = initialValue;
|
||||
}
|
||||
public void Set(T initialValue)
|
||||
|
|
106
Assets/Scripts/UiScripts/BoardUIScript.cs
Normal file
106
Assets/Scripts/UiScripts/BoardUIScript.cs
Normal file
|
@ -0,0 +1,106 @@
|
|||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using UnityEngine;
|
||||
using TMPro;
|
||||
using Lemon.GenericLib.Generics;
|
||||
|
||||
public class BoardUIScript : MonoBehaviour
|
||||
{
|
||||
[Header("Runtime")]
|
||||
[SerializeField] private float currentComboCountdown;
|
||||
[SerializeField] private float currentWarningCountdown;
|
||||
[SerializeField] private float scoreTextOriginY;
|
||||
[SerializeField] private float comboTextOriginY;
|
||||
[SerializeField] private float warningTextOriginY;
|
||||
|
||||
[Header("Refrences")]
|
||||
[SerializeField] private TextMeshPro titleTMP;
|
||||
[SerializeField] private TextMeshPro scoreTMP;
|
||||
[SerializeField] private TextMeshPro comboTMP;
|
||||
[SerializeField] private TextMeshPro warningTMP;
|
||||
[SerializeField] private GameObject warningOBJ;
|
||||
[SerializeField] private GameObject comboOBJ;
|
||||
[SerializeField] private int playerIndex;
|
||||
[SerializeField] private float scoreJumpDistance = 0.25f;
|
||||
[SerializeField] private float scoreJumpTime = 0.5f;
|
||||
[SerializeField] private float comboUITimer = 3f;
|
||||
[SerializeField] private float warningUITimer = 3f;
|
||||
|
||||
private bool initialized = false;
|
||||
|
||||
private void CheckInit()
|
||||
{
|
||||
if (!initialized)
|
||||
{
|
||||
//initialization code here
|
||||
titleTMP.text = "Player " + playerIndex;
|
||||
scoreTMP.text = "0";
|
||||
comboTMP.text = "x0";
|
||||
warningTMP.text = "x0";
|
||||
warningOBJ.SetActive(false);
|
||||
comboOBJ.SetActive(false);
|
||||
scoreTextOriginY = scoreTMP.transform.localPosition.y;
|
||||
comboTextOriginY = comboTMP.transform.localPosition.y;
|
||||
warningTextOriginY = warningTMP.transform.localPosition.y;
|
||||
initialized = true;
|
||||
}
|
||||
}
|
||||
|
||||
private void Start()
|
||||
{
|
||||
CheckInit();
|
||||
}
|
||||
|
||||
private void Update()
|
||||
{
|
||||
|
||||
if (currentComboCountdown <= 0)
|
||||
{
|
||||
comboTMP.text = "x0";
|
||||
comboOBJ.SetActive(false);
|
||||
}
|
||||
else
|
||||
{
|
||||
currentComboCountdown -= Time.deltaTime;
|
||||
}
|
||||
|
||||
|
||||
|
||||
if (currentWarningCountdown <= 0)
|
||||
{
|
||||
warningTMP.text = "x0";
|
||||
warningOBJ.SetActive(false);
|
||||
}
|
||||
else
|
||||
{
|
||||
currentWarningCountdown -= Time.deltaTime;
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
public void SetScore(int value) {
|
||||
scoreTMP.transform.LeanMoveLocalY(scoreTextOriginY + scoreJumpDistance, scoreJumpTime).setLoopPingPong(1).setEase(LeanTweenType.easeOutQuad).setOnComplete(() => scoreTMP.transform.LeanMoveLocalY( scoreTextOriginY,0));
|
||||
scoreTMP.text = value.ToString();
|
||||
}
|
||||
|
||||
|
||||
public void SetCombo(int value)
|
||||
{
|
||||
currentComboCountdown = comboUITimer;
|
||||
comboTMP.text = "x" + value;
|
||||
comboOBJ.SetActive(true);
|
||||
comboTMP.transform.LeanMoveLocalY(comboTextOriginY + scoreJumpDistance, scoreJumpTime).setLoopPingPong(1).setEase(LeanTweenType.easeOutQuad).setOnComplete(() => comboTMP.transform.LeanMoveLocalY(comboTextOriginY, 0));
|
||||
}
|
||||
|
||||
public void SetWarning(int value)
|
||||
{
|
||||
currentWarningCountdown = warningUITimer;
|
||||
warningTMP.text = "x" + value;
|
||||
warningOBJ.SetActive(true);
|
||||
warningTMP.transform.LeanMoveLocalY(warningTextOriginY + scoreJumpDistance, scoreJumpTime).setLoopPingPong(1).setEase(LeanTweenType.easeOutQuad).setOnComplete(() => warningTMP.transform.LeanMoveLocalY(warningTextOriginY, 0));
|
||||
}
|
||||
|
||||
|
||||
|
||||
}
|
11
Assets/Scripts/UiScripts/BoardUIScript.cs.meta
Normal file
11
Assets/Scripts/UiScripts/BoardUIScript.cs.meta
Normal file
|
@ -0,0 +1,11 @@
|
|||
fileFormatVersion: 2
|
||||
guid: f89c54e527a19704197d23e16e9d61a7
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
Loading…
Add table
Add a link
Reference in a new issue