using System.Collections; using System.Collections.Generic; using UnityEngine; using Mirror; public class Player : NetworkBehaviour { public bool isAlive = true; public Team team; [SerializeField] private const int defaultHp = 100; public ulong clientId; [SyncVar(hook = nameof(SetName))] public string username; [SerializeField] GameObject usernameTextObj; [SerializeField] [SyncVar]public int health = 100; private int kills; private int deaths; private void Start() { if (isServer) { health = defaultHp; } } public override void OnStartLocalPlayer() { base.OnStartClient(); } public void SetName(string oldName, string newName) { username = newName; usernameTextObj.GetComponent().SetText(username); } public string GetName() { return name; } public void Respawn() { isAlive = true; } public void Die() { isAlive = false; AddDeaths(1); } //Health public void AddHealth(int value) { if (isAlive) { health += value; } } public void RemoveHealth(int value) { if (isAlive) { /*Debug.Log("yeet" + value);*/ health -= value; if (health <= 0) { AddDeaths(1); health = 0; Die(); } } } public void SetHealth(int value) { if (isAlive) { health = value; if (health <= 0) { AddDeaths(1); health = 0; Die(); } } } public int GetHealth() { return health; } //Kills public void AddKills(int value) { kills += value; } public void RemoveKills(int value) { kills -= value; } public void SetKills(int value) { kills = value; } public int GetKills() { return kills; } //Deaths public void AddDeaths(int value) { deaths += value; } public void RemoveDeaths(int value) { deaths -= value; } public void SetDeaths(int value) { deaths = value; } public int GetDeaths() { return deaths; } }