#include <Area.hpp>
Inheritance diagram for se_core::Area:
Public Types | |
typedef ComponentPtr< Area, sct_BLOB > | Ptr |
Public Member Functions | |
Area (Composite *owner, const ComponentFactory *factory, coor_tile_t w, coor_tile_t h) | |
Create a new area of a given size. | |
virtual | ~Area () |
Destructor. | |
virtual coor_t | groundHeight (const Point3 &coor, short index=-1) const =0 |
Height of ground (y-coordinate) at given (coor.x_, coor.z_). | |
virtual short | index (const Point3 &wc, short oldIndex=-1) const =0 |
Some area types maintain an index with positions. | |
virtual bool | doesTouchVoid (const Point3 &wc, short index, coor_t radius) const =0 |
void | saveThings () |
Save area to a stream. | |
virtual void | force (const Point3 &coor, Vector3 &dest) const =0 |
coor_tile_t | width () const |
coor_tile_t | height () const |
coor_world_t | pagePosX () const |
coor_world_t | pagePosZ () const |
bool | isLegalCoor (coor_tile_t x, coor_tile_t y) const |
bool | isLegalLocalCoor (const Point3 &localCoor) const |
bool | isLegalWorldCoor (const Point3 &worldCoor) const |
virtual short | terrainStyle (const Point3 &coor, short index=-1) const =0 |
virtual short | nextTerrainStyle (bray_t direction, const Point3 &coor)=0 |
virtual long | touchedTerrain (const Point3 ¢re, coor_t radius) const |
Wall collision utility method. | |
virtual long | touchedTerrain (const Point3 &from, const Point3 &to) const |
Line of sight utility method. | |
Composite * | findTarget (const char *factoryName, const Point3 &worldCoor) const |
void | reset () |
Area * | neighbour (short relX, short relY, short relZ) |
Get neighbour. | |
const Area * | neighbour (short relX, short relY, short relZ) const |
Area * | neighbour (const Point3 &worldCoor) |
const Area * | neighbour (const Point3 &worldCoor) const |
bool | addNeighbour (Area *area) |
Check if the area passed in is a neighbour, and if so, register it as such. | |
virtual bool | isNeighbour (const Area &area) const |
void | flipSpawns (void) |
Flip all moving things in this area, making their nextPos() their pos(). | |
Composite * | spawn (const char *thingName, const ViewPoint &coor, long deniedTsMask=0, PosComponent *parent=0) |
Spawn a new thing in this area. | |
virtual const char * | name () const |
By default returns name of composite, which returns name of composite factory. | |
Composite * | owner () |
const Composite * | owner () const |
Component type. | |
Component * | component (int type) |
const Component * | component (int type) const |
int | type () const |
const ComponentFactory * | factory () |
bool | isActive () |
bool | isDead () const |
Static Public Member Functions | |
long | tsMask (short ts) |
Protected Member Functions | |
virtual void | setActive (bool state) |
Called by Composite. | |
virtual void | setDead () |
Called by Composite. | |
virtual void | parentChanged (Composite *newParent, Composite *oldParent) |
Called by Composite. | |
virtual void | zoneChanged (int type, Composite *newArea, Composite *oldArea) |
Called by Composite. | |
virtual void | init () |
Called by Composite. | |
virtual void | cleanup () |
Called by Composite. | |
Protected Attributes | |
coor_tile_t | width_ |
coor_tile_t | height_ |
PosComponent * | posComponent_ |
SpawnAreaComponent * | spawnAreaComponent_ |
ScriptComponent * | scriptComponent_ |
ActionComponent * | actionComponent_ |
CollisionAreaComponent * | collisionAreaComponent_ |
PhysicsAreaComponent * | physicsAreaComponent_ |
SignalAreaComponent * | signalAreaComponent_ |
ZoneAreaComponent * | zoneAreaComponent_ |
int | type_ |
The type of Component. | |
Composite * | owner_ |
const ComponentFactory * | factory_ |
Friends | |
class | Composite |
|
Reimplemented in se_basic::NavMeshArea, and se_basic::SimpleArea. |
|
Create a new area of a given size.
Definition at line 56 of file Area.cpp. References se_core::AreaEdge::addLink(), coor_t, LogDetail, se_core::Composite::name(), se_core::sct_BLOB, se_core::BoundingBox::setMax(), and se_core::BoundingBox::setMin(). |
|
Destructor.
Definition at line 94 of file Area.cpp. References LogDetail. |
|
Check if the area passed in is a neighbour, and if so, register it as such.
Definition at line 266 of file Area.cpp. References Assert, AssertWarning, coor_t, isNeighbour(), se_core::Component::name(), se_core::ZoneAreaComponent::page(), se_core::AreaEdge::removeLink(), se_core::Page::x_, se_core::Page::z_, and zoneAreaComponent_. Referenced by se_core::AreaManager::addArea(). |
|
Called by Composite.
Reimplemented in se_core::NodeComponent, se_core::RootComponent, se_core::ActionComponent, se_core::CutsceneComponent, se_core::PosComponent, se_core::ScriptComponent, se_core::SignalAreaComponent, se_core::SignalComponent, se_core::SpawnComponent, se_ogre::O3dAreaComponent, se_ogre::O3dThingComponent, and se_basic::NavMeshComponent. Definition at line 47 of file Component.cpp. Referenced by se_core::Composite::cleanup(). |
|
Definition at line 71 of file Component.hpp. References se_core::Component::component(). |
|
Definition at line 67 of file Component.hpp. References se_core::Composite::component(). Referenced by se_core::Component::component(), se_core::Component::ComponentPtr< T, type >::ComponentPtr(), se_ogre::O3dThingComponent::get(), se_ogre::O3dNodeComponent::get(), and se_ogre::O3dAreaComponent::get(). |
|
|
|
Definition at line 81 of file Component.hpp. Referenced by se_core::Composite::releaseComponents(). |
|
Definition at line 158 of file Area.cpp. References coor_double_t, se_core::Point3::distanceSquared(), se_core::CompositeList::Iterator::hasNext(), se_core::Composite::name(), and se_core::CompositeList::Iterator::next(). |
|
Flip all moving things in this area, making their nextPos() their pos(). This method is called on active areas by the SimEngine class in the beginning of each step. Definition at line 360 of file Area.cpp. Referenced by se_basic::SimpleAreaThingParser::parse(). |
|
|
|
Height of ground (y-coordinate) at given (coor.x_, coor.z_).
|
|
Definition at line 84 of file Area.hpp. References coor_tile_t. Referenced by se_core::AreaManager::addArea(), se_basic::SimpleAreaFactory::create(), and se_basic::NavMeshAreaFactory::create(). |
|
Some area types maintain an index with positions.
|
|
Called by Composite.
Reimplemented in se_core::RootComponent, se_core::SignalAreaComponent, se_ogre::O3dAreaComponent, and se_ogre::O3dThingComponent. Definition at line 42 of file Component.cpp. Referenced by se_core::Composite::init(). |
|
Definition at line 26 of file Component.cpp. |
|
Definition at line 31 of file Component.cpp. Referenced by se_core::Actor::affect(). |
|
|
|
Definition at line 99 of file Area.hpp. References se_core::Tuple3::x_, se_core::Point3::xTile(), se_core::Tuple3::z_, and se_core::Point3::zTile(). |
|
Definition at line 108 of file Area.hpp. References se_core::Tuple3::x_, se_core::Point3::xTile(), se_core::Tuple3::z_, and se_core::Point3::zTile(). |
|
Reimplemented in se_basic::NavMeshArea. Definition at line 258 of file Area.cpp. References se_core::Page::isNeighbourOffset(), se_core::Page::x_, se_core::Page::z_, and zoneAreaComponent_. Referenced by se_core::AreaManager::addArea(), and addNeighbour(). |
|
By default returns name of composite, which returns name of composite factory.
Reimplemented in se_core::CutsceneAreaComponent, se_core::CutsceneComponent, se_core::CutsceneManager, se_core::CollisionAreaComponent, se_core::SignalAreaComponent, se_core::SignalComponent, se_core::SpawnAreaComponent, se_core::SpawnManager, se_core::ZoneAreaComponent, se_core::ZoneComponent, se_core::ZoneManager, se_basic::NavMeshAreaComponent, se_basic::NavMeshComponent, and se_basic::NavMeshManager. Definition at line 21 of file Component.cpp. Referenced by addNeighbour(), se_core::DefaultTC::collide(), se_core::CoDefault::collide(), se_basic::Say::perform(), and se_ogre::SpeechBubble::speechEvent(). |
|
Definition at line 339 of file Area.cpp. References coor_t, se_core::Tuple3::x_, and se_core::Tuple3::z_. |
|
Definition at line 318 of file Area.cpp. References coor_t, se_core::Tuple3::x_, and se_core::Tuple3::z_. |
|
|
|
Get neighbour.
|
|
|
|
Component type.
Definition at line 62 of file Component.hpp. |
|
|
Definition at line 86 of file Area.hpp. References coor_world_t. |
|
Definition at line 90 of file Area.hpp. References coor_world_t. |
|
Called by Composite.
Reimplemented in se_core::AreaChildComponent, and se_core::NodeComponent. Definition at line 101 of file Component.hpp. Referenced by se_core::Composite::resetParent(), and se_core::Composite::setParent(). |
|
Definition at line 239 of file Area.cpp. References se_core::CompositeList::TreeIterator::hasNext(), se_core::CompositeList::TreeIterator::next(), and se_core::Composite::scheduleForDestruction(). Referenced by se_core::AreaManager::resetThings(). |
|
Save area to a stream.
|
|
|
Called by Composite.
Reimplemented in se_core::SignalComponent, and se_core::SpawnComponent. Definition at line 97 of file Component.hpp. Referenced by se_core::Composite::scheduleForDestruction(). |
|
Spawn a new thing in this area. Spawning should be done this way, because a thing not belonging to an area will never be flip()'ed. Definition at line 367 of file Area.cpp. References se_core::ViewPoint::coor_, and LogDetail. |
|
|
|
Line of sight utility method.
Definition at line 408 of file Area.cpp. References abs, se_core::Point3::xTile(), and se_core::Point3::zTile(). |
|
Wall collision utility method.
Definition at line 379 of file Area.cpp. References se_core::Tuple3::add(), coor_t, and se_core::Tuple3::set(). |
|
|
|
Definition at line 76 of file Component.hpp. Referenced by se_core::Composite::component(). |
|
Definition at line 83 of file Area.hpp. References coor_tile_t. Referenced by se_core::AreaManager::addArea(), se_basic::SimpleAreaFactory::create(), and se_basic::NavMeshAreaFactory::create(). |
|
Called by Composite.
Reimplemented in se_core::AreaChildComponent, se_core::CollisionComponent, and se_core::SignalComponent. Definition at line 37 of file Component.cpp. Referenced by se_core::Composite::zoneChanged(). |
|
Definition at line 89 of file Component.hpp. |
|
|
|
|
|
Definition at line 120 of file Component.hpp. |
|
|
|
Definition at line 118 of file Component.hpp. |
|
|
|
Definition at line 169 of file Area.hpp. Referenced by se_basic::NavMeshArea::farthestLineOfSight(). |
|
|
|
|
|
|
|
The type of Component.
Definition at line 117 of file Component.hpp. |
|
|
|
Definition at line 176 of file Area.hpp. Referenced by addNeighbour(), and isNeighbour(). |
Home Page | SagaEngine trunk (updated nightly) reference generated Sun Dec 2 20:06:26 2007 by Doxygen version 1.3.9.1.