У меня есть следующий базовый класс
public abstract class Character : MonoBehaviour
{
protected abstract Enum CurrentState
{
get;
set;
}
}
и следующий дочерний класс
public class Player : Character
{
protected override Enum CurrentState
{
get
{
return (State)_anim.GetInteger("State");
}
set
{
_anim.SetInteger("State", Convert.ToInt32(value));
}
}
private enum State
{
IDLE = 0,
WALK = 1,
JUMP = 2,
FALL = 3,
CLIMB = 4,
LOOKING_DOWN = 5,
NPC = 6,
IMPATIENT = 7,
LOOKING_UP = 8,
STUCK = 9,
}
void FixedUpdate()
{
if (CurrentState == State.CLIMB)
{
}
}
}
Строка
if (CurrentState == State.CLIMB)
выдает следующую ошибку: Operator '== 'нельзя применить к операндам типа' Enum 'и' Player.State '
Любая помощь?Геттер работает нормально.Так что, возможно, мне нужно сделать преобразование приведения в наборе доступа?Я не совсем уверен ... Я немного новичок в этом ... Любая помощь будет более чем признательна.