using System.Collections; using System.Collections.Generic; using UnityEngine; using System; public abstract class Controller : MonoBehaviour { [SerializeField] protected float speed; protected Animator animatorController; [HideInInspector] public int currentHand; [HideInInspector] public int opponentHand; [HideInInspector] protected ControlStrategy controlType; [HideInInspector] protected Inputs inputs; protected bool canMove; protected bool canSkill; protected bool myTurn; public float getSpeed() { return speed; } public bool isSkillUsing() { return !canSkill; } public bool isMoving() { return !canMove; } public bool isMyturn() { return !myTurn; } public float getBehindBackInput() { return inputs.behindBack; } public float getCrossOverInput() { return inputs.crossOver; } public float getStepBackInput() { return inputs.stepBack; } public float getHorizontalMovementInput() { return inputs.horizontalMovement; } public float getVerticalMovementInput() { return inputs.verticalMovement; } public float getStealInput() { return inputs.steal; } public abstract void changeTurn(); public void updateMovementLockStates() { canMove = canMove == true ? false : true; canSkill = canSkill == true ? false : true; } } public class Inputs { public float behindBack; public float stepBack; public float crossOver; public float horizontalMovement; public float verticalMovement; public float steal; public Inputs() { behindBack = 0; stepBack = 0; crossOver = 0; horizontalMovement = 0; verticalMovement = 0; steal = 0; } }