using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.UI; public class Player : MonoBehaviour { public static Player main; [SerializeField] private Text playerName; [SerializeField] private Text playerMaxHp; [SerializeField] private Text playerHp; [SerializeField] private Slider playerHealthbar; [SerializeField] private Image marker; [Header("dont touch this. standart preset, change session")] public PlayerConfig playerConfig; public Transform playerPosition; [SerializeField] private int hp; private void Awake() { if (main != null && main != this) { Debug.LogWarning("2 session on the scene"); Destroy(this); return; } main = this; } public void NewInformation() { SpriteRenderer _sprRend = playerPosition.GetComponent(); var _character = playerConfig.characterCharacteristics; _sprRend.sprite = _character.sprite; playerName.text = _character.namePlayer; playerMaxHp.text = _character.maxHp.ToString(); playerHp.text = playerMaxHp.text; playerHealthbar.maxValue = _character.maxHp; playerHealthbar.value = playerHealthbar.maxValue; hp = _character.maxHp; } public void ChangeHp(int damage) { hp -= damage; if (hp <= 0) { hp = 0; Death(); } else if (hp > playerConfig.characterCharacteristics.maxHp) { hp = playerConfig.characterCharacteristics.maxHp; } playerMaxHp.text = hp.ToString(); playerHealthbar.value = hp; } public void Death() { Session.main.Defeat(); } public void OnMarker() { marker.enabled = true; } public void OffMarker() { marker.enabled = false; } public bool CheckMarker() { return marker.enabled; } }