Files
BABA_YAGA/Assets/Scripts/Duy/_PlayerInfo.cs

50 lines
1.4 KiB
C#
Raw Normal View History

2026-04-11 18:13:40 +07:00
using Fusion;
using TMPro;
using UnityEngine;
2026-04-23 08:56:35 +07:00
public enum _Role
2026-04-11 18:13:40 +07:00
{
2026-04-23 08:56:35 +07:00
Seeker,
Trapper
2026-04-11 18:13:40 +07:00
}
public struct _PlayerProfile
{
public string Name;
2026-04-23 08:56:35 +07:00
public _Role Role;
2026-04-11 18:13:40 +07:00
}
2026-04-27 15:48:01 +07:00
public class _PlayerInfo : NetworkBehaviour
2026-04-11 18:13:40 +07:00
{
[Networked] public string playerName { get; set; }
public _PlayerDataManager playerDataManager;
public TextMeshProUGUI nameText;
public GameObject[] characterIcons; // mảng chứa icon tương ứng với từng class, có thể gán trong inspector
// sau khi game object được tạo ra trên mạng,
// sẽ gọi phương thức này để khởi tạo thông tin player
public override void Spawned()
{
playerDataManager = FindFirstObjectByType<_PlayerDataManager>(); // tìm PlayerDataManager trong scene
}
// phương thức này sẽ được gọi mỗi frame để cập nhật thông tin hiển thị của player
public override void Render()
{
if (playerDataManager == null) return;
if (playerDataManager.TryGetPlayerMetaData(Object.InputAuthority, out var metadata))
{
var name = metadata.Name;
2026-04-23 08:56:35 +07:00
var charClass = metadata.Role;
2026-04-11 18:13:40 +07:00
nameText.text = $"{name} ({charClass})";
for (var i = 0; i < characterIcons.Length; i++)
{
characterIcons[i].SetActive(i == (int)charClass); // hiển thị icon tương ứng với class của player
}
}
}
}