mp fundementals and turn timer

This commit is contained in:
2026-02-14 18:18:45 +05:30
parent 614c38bdaf
commit 02dee0b86d
64 changed files with 7472 additions and 82 deletions
+63
View File
@@ -0,0 +1,63 @@
using System.Collections;
using TMPro;
using UnityEngine;
using UnityEngine.EventSystems;
using UnityEngine.UI;
using DG.Tweening;
public class GameCanvas : MonoBehaviour
{
public static GameCanvas instance;
void Awake()
{
instance = this;
}
public EventTrigger gameInputPanel;
public Image turnTimerSliderTransform;
public Color redColor = Color.red;
public Color blueColor = Color.blue;
public TMP_Text txtWhosTurn;
public TMP_Text txtTurnTimer;
public Image turnTimerRound;
void Update(){
UpdateTurnTimer();
}
Team prevTeam = Team.Red;
bool init=false;
void UpdateTurnTimer(){
if(NetPlayer.localPlayer == null){return;}
if(!init){
init=true;
SwitchTeams();
}
float turnTimerFillAmount = 1 - (GameManager.instance.turnTimerCounter / GameManager.instance.turnTimer);
if(prevTeam != GameManager.instance.SelectedTeam){
SwitchTeams();
prevTeam = GameManager.instance.SelectedTeam;
}
turnTimerSliderTransform.transform.localScale = new Vector3(turnTimerFillAmount, 1, 1);
txtTurnTimer.text = (GameManager.instance.turnTimer - GameManager.instance.turnTimerCounter).ToString("F0");
turnTimerRound.fillAmount = turnTimerFillAmount;
}
void SwitchTeams(){
bool isMyTurn = GameManager.instance.SelectedTeam == NetPlayer.localPlayer.myTeam;
Color newColor = GameManager.instance.SelectedTeam == Team.Red ? redColor : blueColor;
turnTimerSliderTransform.DOColor(newColor, 0.5f);
txtWhosTurn.DOFade(0, 0.25f).OnComplete(() => {
txtWhosTurn.text = isMyTurn ? "Your Turn" : "Opponent's Turn";
txtWhosTurn.DOFade(1, 0.25f);
});
}
}