|
- //
- // Deus Hax (working title)
- // Copyright (c) 2010 Sam Hocevar <sam@hocevar.net>
- //
-
- #if defined HAVE_CONFIG_H
- # include "config.h"
- #endif
-
- #include <cstdlib>
- #include <cstdio>
-
- #include "core.h"
-
- /*
- * Public Entity class
- */
-
- Entity::Entity() :
- next(0),
- ref(0),
- destroy(0)
- {
- #if !FINAL_RELEASE
- state = STATE_IDLE;
- #endif
- Ticker::Register(this);
- }
-
- Entity::~Entity()
- {
- #if !FINAL_RELEASE
- if (!destroy)
- fprintf(stderr, "ERROR: entity destructor called directly\n");
- #endif
- }
-
- char const *Entity::GetName()
- {
- return "Generic entity";
- }
-
- Entity::Group Entity::GetGroup()
- {
- return GROUP_DEFAULT;
- }
-
- void Entity::TickGame(float deltams)
- {
- #if !FINAL_RELEASE
- if (state != STATE_PRETICK_GAME)
- fprintf(stderr, "ERROR: invalid entity game tick\n");
- state = STATE_POSTTICK_GAME;
- #endif
- }
-
- void Entity::TickRender(float deltams)
- {
- #if !FINAL_RELEASE
- if (state != STATE_PRETICK_RENDER)
- fprintf(stderr, "ERROR: invalid entity render tick\n");
- state = STATE_POSTTICK_RENDER;
- #endif
- }
-
- void Entity::Ref()
- {
- ref++;
- }
-
- int Entity::Unref()
- {
- return --ref;
- }
|