49 lines
1.4 KiB
C#
49 lines
1.4 KiB
C#
using Attributes;
|
|
using Data;
|
|
using Events;
|
|
using UnityEngine;
|
|
|
|
namespace Player
|
|
{
|
|
[RequireComponent(typeof(CharacterController))]
|
|
public class PlayerController : MonoBehaviour
|
|
{
|
|
[Header("Events")]
|
|
[SerializeField, Required] private EventBroker eventBroker;
|
|
|
|
[Header("Movement")]
|
|
[SerializeField] private float speed = 5f;
|
|
[SerializeField] private float rotationSpeed = 60f;
|
|
|
|
[Header("Values")]
|
|
// [SerializeField] private float maxHealth = 100f;
|
|
[SerializeField, Required] private FloatValue maxHealth;
|
|
[SerializeField, Required] private FloatValue currentHealth;
|
|
[SerializeField] private CharacterAttributes characterAttributes;
|
|
|
|
// [Header("References")]
|
|
// [SerializeField] private Image healthBarFillingImage;
|
|
|
|
[Header("Abilities")]
|
|
[SerializeField] private Ability ability;
|
|
[SerializeField] private Ability[] abilities;
|
|
|
|
|
|
// private float _currentHealth;
|
|
|
|
private void Awake()
|
|
{
|
|
// _currentHealth = maxHealth;
|
|
|
|
// set health
|
|
currentHealth.Value = maxHealth.Value;
|
|
}
|
|
|
|
private void Update()
|
|
{
|
|
// healthBarFillingImage.fillAmount = _currentHealth / maxHealth;
|
|
|
|
if (currentHealth.Value <= 0.0f) eventBroker.RaisePlayerDied();
|
|
}
|
|
}
|
|
} |