Newer
Older
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using System;
public abstract class Controller : MonoBehaviour
{
[SerializeField] protected float speed;
[SerializeField] protected float jumpForce;
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;
protected Transform target;
public float getSpeed()
{
return speed;
}
public float getJumpForce()
{
return jumpForce;
}
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
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 float getBlockInput()
{
return inputs.block;
}
public Transform getTarget()
{
return target;
}
public abstract void changeTurn();
public void updateMovementLockStates()
{
canMove = canMove == true ? false : true;
canSkill = canSkill == true ? false : true;
}
public void callEvent()
{
handChange(currentHand);
}
public void setListenner(Controller controller)
{
controller.handChange += updateOpponentHand;
}
public void setTarget(Transform t)
{
target = t;
}
private void updateOpponentHand(int hand)
{
opponentHand = hand;
}
}
public class Inputs
{
public float behindBack;
public float stepBack;
public float crossOver;
public float horizontalMovement;
public float verticalMovement;
public float steal;
public float block;
public Inputs()
{
behindBack = 0;
stepBack = 0;
crossOver = 0;
horizontalMovement = 0;
verticalMovement = 0;
steal = 0;
block = 0;
public void resetInputs()
{
behindBack = 0;
stepBack = 0;
crossOver = 0;
horizontalMovement = 0;
verticalMovement = 0;
steal = 0;
block = 0;
}