Определить тип / перечисление в целях столкновения между различными игровыми объектами / классами - PullRequest
1 голос
/ 22 февраля 2012

Я пытаюсь создать систему обнаружения столкновений, в которой каждый игровой объект по-разному реагирует на другие игровые объекты, проверяя, с каким типом игрового объекта он сталкивается.

Я продолжаю получать:

«Крыса» является «типом», но используется как «переменная».

Этот код я использую, чтобы определить, какие объекты сталкиваются, и решить, что делать, когда объектсталкивается с другим определенного типа:

switch (other.Type) {
    case Rat:
        float tooClose = (Radius * 2) - distance.Length();
        distance.Normalize();

        PositionAfterCollisions += distance * tooClose * 0.5f;
        VelocityAfterCollisions = -Velocity;
}

'other' здесь ссылка на игровой объект в списке столкновений.

И это с вершины класса / GameObjectIпытаюсь определить + класс, от которого он наследует:

public enum ObjectType
{
    Default,
    Player,
    Rat,
    Cheese,
    Trap,
    Home
}
public ObjectType Type = ObjectType.Rat;

1 Ответ

2 голосов
/ 22 февраля 2012

в C #, перечисления всегда указываются по имени.

Вам нужно

case ObjectType.Rat:
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...