Tactics: Western Philosophers Vs. Musicians
0.12
A turn-based tactical game combining rules and gameplay elements inspired by Final Fantasy Tactics and the Mayfair Exponential Game System. Unlike most games of this type, motion is in full, grid-less 3D.
|
#include <IMotionUpdater.h>
Classes | |
struct | Anchor |
struct | MotionInfo |
Public Types | |
enum | ATTACH_POINT { BASE, VIEW, NUM_ATTACH_POINTS } |
Public Types inherited from OpenSkyNet::Core::Updater | |
enum | UPDATER_TYPE { BASE, AI, CAMERA, PATH_FINDER, PATH, TRANSFORM_INTERPOLATOR, PHYSICS, ANIMATION, COLLISION_DETECTOR, PHYS_VIS, TRANSFORM_CHANGE_DETECTOR, CORE_MAX, MAX =32 } |
enum | UPDATER_PRIORITY { UPD_DISABLED, UPD_1, UPD_2, UPD_3, UPD_4, UPD_5, UPD_6, UPD_7, UPD_8, UPD_NUM_PRIORITIES } |
enum | OBJECT_PRIORITY { OBJ_DISABLED, OBJ_1, OBJ_2, OBJ_3, OBJ_NUM_PRIORITIES } |
typedef std::map< Object *, UpdateInfo * > | ObjMap |
Public Member Functions | |
MotionUpdater (Updater::UPDATER_TYPE type_, const char *typeName_, Updater::UPDATER_PRIORITY prio_, float interval_) | |
virtual void | addAnchor (Object *base_, Object *anchor_, bool updatePos_, bool updateRot_, const Math::Point<> &localPos_, const Math::Matrix3x3 &localRot_) |
virtual void | addAnchor (Object *base_, Object *anchor_, bool updatePos_, bool updateRot_) |
virtual void | removeAnchor (Object *base_, Object *anchor_) |
virtual void | removeAllAnchors (Object *base_) |
Public Member Functions inherited from OpenSkyNet::Core::Updater | |
Updater () | |
Updater (UPDATER_TYPE type_, const char *typeName_, UPDATER_PRIORITY prio_, float interval_) | |
virtual | ~Updater () |
UPDATER_TYPE | getType () const |
const std::string & | getTypeName () const |
virtual bool | update (float dt_) |
float | getInterval () const |
void | setInterval (float interval_) |
Utils::uint | getNumObjects () const |
Utils::uint | getNumObjectsThatCanUpdate () const |
bool | find (Object *obj_) const |
UPDATER_PRIORITY | getPriority () const |
OBJECT_PRIORITY | getPriority (Object *obj_) const |
virtual bool | setPriority (Object *obj_, OBJECT_PRIORITY prio_) |
Static Public Member Functions | |
static void | setForward (Math::Matrix3x3 &rot_, Math::Point<> &forward_) |
Protected Member Functions | |
virtual bool | addObject (Object *obj_, Updater::OBJECT_PRIORITY prio_, bool isOneShot_)=0 |
virtual bool | removeObject (Object *obj_) |
virtual void | removeAllObjects () |
virtual void | updateAnchors (Object *obj_) |
Protected Member Functions inherited from OpenSkyNet::Core::Updater | |
int | getNumToUpdate (float dt_) |
void | allObjectsUpdated () |
void | setPriority (UPDATER_PRIORITY prio_) |
Protected Attributes | |
std::map< Object *, MotionInfo * > | _nonCollidingInfoMap |
Protected Attributes inherited from OpenSkyNet::Core::Updater | |
std::list< Object * > | _objLists [OBJ_NUM_PRIORITIES] |
ObjMap | _objMap |
UPDATER_TYPE | _type |
std::string | _typeName |
UPDATER_PRIORITY | _prio |
float | _interval |
float | _dtSinceAllWereUpdated |
float | _prevTotalTimeForAllUpdates |
float | _partialUpdate |
int | _currPrio |
std::list< Object * >::iterator | _currObj |
Abstract interface for motion updates. Implements adding/removing anchors (game objects to be moved relative to a parent object).
|
inline |
|
virtual |
Adds an object to be moved relative to the base object. The version without local pos and rot parameters calculate the local offsets from the anchor's current values. NOTE: Assumes base_ is in this updater.
|
virtual |
|
protectedpure virtual |
Returns false if obj_ is already in this updater.
Reimplemented from OpenSkyNet::Core::Updater.
Implemented in OpenSkyNet::Core::Director, OpenSkyNet::Core::TransformInterpolator, and OpenSkyNet::Core::PathUpdater.
|
protectedvirtual |
Reimplemented from OpenSkyNet::Core::Updater.
|
protectedvirtual |
Returns false if obj_ is not in this updater.
Reimplemented from OpenSkyNet::Core::Updater.
|
inlinestatic |
|
protected |