fysxasteroids/engine/EntityBase.cc

58 lines
1.4 KiB
C++

#include "EntityBase.h"
#include "coll2d.h"
namespace Engine {
bool EntityControllerState::GetKey (int state) {
assert (state < EntityControllerMaxKeyStates && state >= 0);
return mKeyState.test (state);
}
void EntityControllerState::SetKey (int state) {
assert (state < EntityControllerMaxKeyStates && state >= 0);
LogDebug ("Entity %d: Setting Entity Key State %d", mId, state);
mKeyState.set (state);
}
void EntityControllerState::UnsetKey (int state) {
assert (state < EntityControllerMaxKeyStates && state >= 0);
LogDebug ("Entity %d: Unsetting Entity Key State %d", mId, state);
mKeyState.reset (state);
}
void EntityControllerState::Reset () {
LogDebug ("Entity %d: Resetting all key states", mId);
mKeyState.reset ();
}
void EntityBase::SetControllerKeyState (int state) {
if (!mControllerState) {
LogError ("Error when trying to send a KeyState to an Entity that has no EntityControllerState!");
}
mControllerState->SetKey (state);
}
void EntityBase::UnsetControllerKeyState (int state) {
if (!mControllerState) {
LogError ("Error when trying to send a KeyState to an Entity that has no EntityControllerState!");
}
mControllerState->UnsetKey (state);
}
void EntityBase::ResetControllerKeyState () {
if (!mControllerState) {
LogError ("Error when trying to send a KeyState to an Entity that has no EntityControllerState!");
}
LogDebug ("Entity %d: Resetting key states", mId);
mControllerState->Reset ();
}
}