47 lines
1.4 KiB
C#
47 lines
1.4 KiB
C#
using System;
|
|
using Attributes;
|
|
using Data;
|
|
using Events;
|
|
using UnityEngine;
|
|
using UnityEngine.UI;
|
|
|
|
[RequireComponent(typeof(CharacterController))]
|
|
public class PlayerController : MonoBehaviour
|
|
{
|
|
[Header("Events")]
|
|
[SerializeField] private EventBroker eventBroker;
|
|
|
|
[Header("Movement")]
|
|
[SerializeField] private float speed;
|
|
[SerializeField] private float rotationSpeed;
|
|
|
|
[Header("Values")]
|
|
// [SerializeField] private float maxHealth = 100.0f;
|
|
[SerializeField] private CharacterAttributes characterAttributes;
|
|
[SerializeField, Require] private FloatValue maxHealth;
|
|
[SerializeField, Require] private FloatValue health;
|
|
|
|
// [Header("References")]
|
|
// [SerializeField] private Image healthBarFillingImage;
|
|
|
|
[Header("Abilities")] [SerializeField] private Ability ability;
|
|
[SerializeField] private Ability[] abilities;
|
|
|
|
// public float _currentHealth; // stupid public value for testing
|
|
|
|
private void Awake()
|
|
{
|
|
// _currentHealth = maxHealth;
|
|
|
|
// set health
|
|
health.Value = maxHealth.Value;
|
|
}
|
|
|
|
private void Update()
|
|
{
|
|
// healthBarFillingImage.rectTransform.SetSizeWithCurrentAnchors(RectTransform.Axis.Horizontal,
|
|
// Mathf.Clamp01(_currentHealth / maxHealth) * 200.0f);
|
|
|
|
if (health.Value <= 0.0f) eventBroker.RaisePlayerDied();
|
|
}
|
|
} |