OpenTTD Source
20241108-master-g80f628063a
|
An object, such as transmitter, on the map. More...
#include <object_base.h>
Public Member Functions | |
Object () | |
Make sure the object isn't zeroed. | |
~Object () | |
Make sure the right destructor is called as well! | |
Public Member Functions inherited from Pool< Titem, Tindex, Tgrowth_step, Tmax_size, Tpool_type, Tcache, Tzero >::PoolItem<&_object_pool > | |
void * | operator new (size_t size) |
Allocates space for new Titem. More... | |
void * | operator new (size_t size, size_t index) |
Allocates space for new Titem with given index. More... | |
void * | operator new (size_t, void *ptr) |
Allocates space for new Titem at given memory address. More... | |
void | operator delete (void *p) |
Marks Titem as free. More... | |
Static Public Member Functions | |
static Object * | GetByTile (TileIndex tile) |
Get the object associated with a tile. More... | |
static void | IncTypeCount (ObjectType type) |
Increment the count of objects for this type. More... | |
static void | DecTypeCount (ObjectType type) |
Decrement the count of objects for this type. More... | |
static uint16_t | GetTypeCount (ObjectType type) |
Get the count of objects for this type. More... | |
static void | ResetTypeCounts () |
Resets object counts. | |
Static Public Member Functions inherited from Pool< Titem, Tindex, Tgrowth_step, Tmax_size, Tpool_type, Tcache, Tzero >::PoolItem<&_object_pool > | |
static bool | CanAllocateItem (size_t n=1) |
Helper functions so we can use PoolItem::Function() instead of _poolitem_pool.Function() More... | |
static bool | CleaningPool () |
Returns current state of pool cleaning - yes or no. More... | |
static bool | IsValidID (size_t index) |
Tests whether given index can be used to get valid (non-nullptr) Titem. More... | |
static Titem * | Get (size_t index) |
Returns Titem with given index. More... | |
static Titem * | GetIfValid (size_t index) |
Returns Titem with given index. More... | |
static size_t | GetPoolSize () |
Returns first unused index. More... | |
static size_t | GetNumItems () |
Returns number of valid items in the pool. More... | |
static void | PostDestructor ([[maybe_unused]] size_t index) |
Dummy function called after destructor of each member. More... | |
static Pool::IterateWrapper< Titem > | Iterate (size_t from=0) |
Returns an iterable ensemble of all valid Titem. More... | |
Data Fields | |
ObjectType | type |
Type of the object. | |
Town * | town |
Town the object is built in. | |
TileArea | location |
Location of the object. | |
TimerGameCalendar::Date | build_date |
Date of construction. | |
uint8_t | colour |
Colour of the object, for display purpose. | |
uint8_t | view |
The view setting for this object. | |
Data Fields inherited from Pool< Titem, Tindex, Tgrowth_step, Tmax_size, Tpool_type, Tcache, Tzero >::PoolItem<&_object_pool > | |
Tindex | index |
Index of this pool item. | |
Static Protected Attributes | |
static uint16_t | counts [NUM_OBJECTS] |
Number of objects per type ingame. | |
Additional Inherited Members | |
Public Types inherited from Pool< Titem, Tindex, Tgrowth_step, Tmax_size, Tpool_type, Tcache, Tzero >::PoolItem<&_object_pool > | |
typedef struct Pool< Titem, Tindex, Tgrowth_step, Tmax_size, Tpool_type, Tcache, Tzero > | Pool |
Type of the pool this item is going to be part of. | |
An object, such as transmitter, on the map.
Definition at line 23 of file object_base.h.
|
inlinestatic |
Decrement the count of objects for this type.
type | ObjectType to decrement |
Definition at line 54 of file object_base.h.
References counts, NUM_OBJECTS, and type.
Referenced by ReallyClearObjectTile().
Get the object associated with a tile.
tile | The tile to fetch the object for. |
Definition at line 55 of file object_cmd.cpp.
References Pool< Titem, Tindex, Tgrowth_step, Tmax_size, Tpool_type, Tcache, Tzero >::PoolItem<&_object_pool >::Get(), and GetObjectIndex().
Referenced by AnimateNewObjectTile(), DrawNewObjectTile(), NIHObject::GetInstance(), GetObjectIDAtOffset(), GetObjectType(), NIHObject::GetParent(), ObjectScopeResolver::GetVariable(), IncreaseAnimationStage(), and NIHObject::Resolve().
|
inlinestatic |
Get the count of objects for this type.
type | ObjectType to query |
Definition at line 65 of file object_base.h.
Referenced by GetCountAndDistanceOfClosestInstance().
|
inlinestatic |
Increment the count of objects for this type.
type | ObjectType to increment |
Definition at line 43 of file object_base.h.
References counts, NUM_OBJECTS, and type.