using System.Collections; using TMPro; using UnityEngine; using UnityEngine.Events; using UnityGGPO; public class Player : MonoBehaviour, IHitstop { [SerializeField] private PlayerAnimator _playerAnimator = default; [SerializeField] private Assist _assist = default; [SerializeField] private Transform _hurtbox = default; [SerializeField] protected Transform _effectsParent = default; [SerializeField] private Transform _cameraPoint = default; [SerializeField] private Transform _keepFlip = default; [SerializeField] private TextMeshProUGUI _overheadText = default; protected PlayerUI _playerUI; private PlayerMovement _playerMovement; [HideInInspector] public PlayerStatsSO playerStats; protected PlayerComboSystem _playerComboSystem; private BrainController _controller; private Coroutine _shakeContactCoroutine; [HideInInspector] public UnityEvent hitstopEvent; [HideInInspector] public UnityEvent hitConnectsEvent; [HideInInspector] public UnityEvent parryConnectsEvent; public PlayerSimulation PlayerSimulation { get; private set; } public PlayerAnimator PlayerAnimator { get { return _playerAnimator; } private set { } } public Player OtherPlayer { get; private set; } public PlayerMovement OtherPlayerMovement { get; private set; } public PlayerUI OtherPlayerUI { get; private set; } public PlayerStatsSO PlayerStats { get { return playerStats; } set { } } public PlayerUI PlayerUI { get { return _playerUI; } private set { } } public AttackSO CurrentAttack { get; set; } public ResultAttack ResultAttack { get; set; } public Transform CameraPoint { get { return _cameraPoint; } private set { } } public int Health { get; set; } public int HealthRecoverable { get; set; } public int Lives { get; set; } = 2; public bool IsPlayerOne { get; set; } public DemonFloat AssistGauge { get; set; } = (DemonFloat)1; public DemonFloat ArcanaGauge { get; set; } public Assist Assist { get { return _assist; } private set { } } private Audio _audio; void Awake() { _playerMovement = GetComponent(); _playerComboSystem = GetComponent(); PlayerSimulation = GetComponent(); _audio = GetComponent