Controller.cs 1.84 KiB
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;
}
}