using System.Collections; using UnityEngine; public class PlayerController : Controller { public static event System.Action<float> staminaUse; // Use this for initialization void Start() { inputs = new Inputs (); //fazer dinamico setup(); canMove = true; canSkill = true; myTurn = true; currentHand = 1; changeTurn(); currentStamina = maxStamina; foreach (Skills s in GetComponents<Skills>()) { s.skillCost += updateStamina; } } private void setup() { controlType = new KeyBoardControl (); animatorController = GetComponent<Animator>(); } private void updateStamina(float cost) { currentStamina -= cost; if (staminaUse != null) { staminaUse(currentStamina); } } private void Update() { inputs.behindBack = Input.GetAxisRaw(controlType.getBehindBackInput()); inputs.crossOver = Input.GetAxisRaw(controlType.getCrossOverInput()); inputs.stepBack = Input.GetAxisRaw(controlType.getStepBackInput()); inputs.horizontalMovement = Input.GetAxisRaw(controlType.getHorizontalInput()); inputs.verticalMovement = Input.GetAxisRaw(controlType.getVerticalInput()); inputs.steal = Input.GetAxisRaw(controlType.getStealInput()); inputs.block = Input.GetAxisRaw(controlType.getBlockInput()); } public override void changeTurn() { if (myTurn) { foreach (AtkSkills script in GetComponents<AtkSkills>()) { script.enabled = true; } GetComponent<MovementScript>().enabled = true; GetComponent<BlockScript>().enabled = false; GetComponentInChildren<ForceBarController>().enabled = true; disableBallCollider(); animatorController.SetTrigger("AtkTurn"); myTurn = false; threePoint(); } else { foreach (DefSkills script in GetComponents<DefSkills>()) { script.enabled = true; } GetComponent<MovementScript>().enabled = true; enableBallCollider(); animatorController.SetTrigger("DefTurn"); myTurn = true; twoPoint(); } //do something } public virtual void OnDisable() { StopAllCoroutines(); disableSkills(); ForceBarController fbc = FindObjectOfType<ForceBarController>(); if (fbc != null) { fbc.enabled = false; } animatorController.SetTrigger("Idle"); } public void moveToPosition(Transform atkPosition, Transform defPosition) { if (myTurn) { GetComponent<MovementScript>().moveToPosition(atkPosition); } else { GetComponent<MovementScript>().moveToPosition(defPosition); } } }