34 lines
460 B
C++
34 lines
460 B
C++
#pragma once
|
|
|
|
using State = unsigned short;
|
|
#define STRAFE_L 0x1
|
|
#define STRAFE_R 0x2
|
|
#define SPRINT 0x4
|
|
#define GROUNDED 0x8
|
|
#define FORWARD 0x10
|
|
#define STILL 0x20
|
|
|
|
|
|
class FMoveState
|
|
{
|
|
State MoveState = 0;
|
|
|
|
public:
|
|
bool Is(State state) const
|
|
{
|
|
return MoveState & state;
|
|
}
|
|
|
|
void Add(State state)
|
|
{
|
|
MoveState += Is(state) ? 0 : state;
|
|
}
|
|
|
|
void Remove(State state)
|
|
{
|
|
MoveState -= Is(state) ? state : 0;
|
|
}
|
|
|
|
double VelocityMag = 0;
|
|
};
|