Ludo-3D/Assets/Scripts/UI/Player Count/PlayerIndicatorCanvas.cs

49 lines
1.3 KiB
C#
Raw Permalink Normal View History

2026-01-30 19:04:14 +05:30
using TMPro;
using UnityEngine;
using UnityEngine.UI;
2026-01-30 19:04:14 +05:30
2026-02-12 21:34:08 +05:30
public class PlayerIndicatorCanvas : MonoBehaviour
2026-01-30 19:04:14 +05:30
{
Transform cam;
[SerializeField] private TMP_Text playerCountText;
[SerializeField] private PlayerPawn playerPawn;
[SerializeField] private Button indicatorBtn;
private GameplayManager gameplayManager;
private void OnEnable()
{
indicatorBtn.onClick.AddListener(() => OnClickPlayer());
}
private void OnDisable()
{
indicatorBtn.onClick.RemoveListener(() => OnClickPlayer());
}
2026-01-30 19:04:14 +05:30
2026-02-12 21:34:08 +05:30
private void Start()
2026-01-30 19:04:14 +05:30
{
cam = GameObject.FindGameObjectWithTag("MainCamera").transform;
}
2026-02-12 21:34:08 +05:30
private void LateUpdate()
2026-01-30 19:04:14 +05:30
{
transform.LookAt(cam.forward + transform.position);
}
2026-02-12 21:34:08 +05:30
#if UNITY_EDITOR
2026-01-30 19:04:14 +05:30
public void SetPlayerCount(int count)
{
playerCountText.text = count.ToString();
}
2026-02-12 21:34:08 +05:30
#endif
public void OnClickPlayer()
{
// quick fix: Character selection too hard based on view
gameplayManager = gameplayManager ?? InterfaceManager.Instance.GetInterfaceInstance<GameplayManager>();
if (gameplayManager.GameManager.CurrentGameState == GameState.IsPaused || playerPawn.IsBotPlayer || !playerPawn.CanSelectPlayer) return;
gameplayManager.OnPawnSelected(playerPawn);
}
2026-01-30 19:04:14 +05:30
}