OpenTTD Source 20250206-master-g6089ed8059
Goal Struct Reference

Struct about goals, current and completed. More...

#include <goal_base.h>

Inheritance diagram for Goal:
Pool< Titem, Tindex, Tgrowth_step, Tmax_size, Tpool_type, Tcache, Tzero >::PoolItem<&_goal_pool >

Public Member Functions

 Goal ()
 We need an (empty) constructor so struct isn't zeroed (as C++ standard states)
 
 ~Goal ()
 (Empty) destructor has to be defined else operator delete might be called with nullptr parameter
 
- Public Member Functions inherited from Pool< Titem, Tindex, Tgrowth_step, Tmax_size, Tpool_type, Tcache, Tzero >::PoolItem<&_goal_pool >
void * operator new (size_t size)
 Allocates space for new Titem.
 
void * operator new (size_t size, size_t index)
 Allocates space for new Titem with given index.
 
void * operator new (size_t, void *ptr)
 Allocates space for new Titem at given memory address.
 
void operator delete (void *p)
 Marks Titem as free.
 

Static Public Member Functions

static bool IsValidGoalDestination (CompanyID company, GoalType type, GoalTypeID dest)
 
- Static Public Member Functions inherited from Pool< Titem, Tindex, Tgrowth_step, Tmax_size, Tpool_type, Tcache, Tzero >::PoolItem<&_goal_pool >
static bool CanAllocateItem (size_t n=1)
 Helper functions so we can use PoolItem::Function() instead of _poolitem_pool.Function()
 
static bool CleaningPool ()
 Returns current state of pool cleaning - yes or no.
 
static bool IsValidID (size_t index)
 Tests whether given index can be used to get valid (non-nullptr) Titem.
 
static Titem * Get (size_t index)
 Returns Titem with given index.
 
static Titem * GetIfValid (size_t index)
 Returns Titem with given index.
 
static size_t GetPoolSize ()
 Returns first unused index.
 
static size_t GetNumItems ()
 Returns number of valid items in the pool.
 
static void PostDestructor (size_t index)
 Dummy function called after destructor of each member.
 
static Pool::IterateWrapper< Titem > Iterate (size_t from=0)
 Returns an iterable ensemble of all valid Titem.
 

Data Fields

CompanyID company
 Goal is for a specific company; INVALID_COMPANY if it is global.
 
GoalType type
 Type of the goal.
 
GoalTypeID dst
 Index of type.
 
std::string text
 Text of the goal.
 
std::string progress
 Progress text of the goal.
 
bool completed
 Is the goal completed or not?
 
- Data Fields inherited from Pool< Titem, Tindex, Tgrowth_step, Tmax_size, Tpool_type, Tcache, Tzero >::PoolItem<&_goal_pool >
Tindex index
 Index of this pool item.
 

Additional Inherited Members

- Public Types inherited from Pool< Titem, Tindex, Tgrowth_step, Tmax_size, Tpool_type, Tcache, Tzero >::PoolItem<&_goal_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.
 

Detailed Description

Struct about goals, current and completed.

Definition at line 21 of file goal_base.h.

Constructor & Destructor Documentation

◆ Goal()

Goal::Goal ( )
inline

We need an (empty) constructor so struct isn't zeroed (as C++ standard states)

Definition at line 32 of file goal_base.h.

◆ ~Goal()

Goal::~Goal ( )
inline

(Empty) destructor has to be defined else operator delete might be called with nullptr parameter

Definition at line 37 of file goal_base.h.

Member Function Documentation

◆ IsValidGoalDestination()

bool Goal::IsValidGoalDestination ( CompanyID  company,
GoalType  type,
GoalTypeID  dest 
)
static

Definition at line 34 of file goal.cpp.

Field Documentation

◆ company

CompanyID Goal::company

Goal is for a specific company; INVALID_COMPANY if it is global.

Definition at line 22 of file goal_base.h.

Referenced by CmdCreateGoal(), CmdRemoveGoal(), CmdSetGoalCompleted(), CmdSetGoalDestination(), CmdSetGoalProgress(), CmdSetGoalText(), and GoalListWindow::HandleClick().

◆ completed

bool Goal::completed

Is the goal completed or not?

Definition at line 27 of file goal_base.h.

Referenced by CmdCreateGoal(), CmdSetGoalCompleted(), and StoryBookWindow::GetPageElementSprite().

◆ dst

GoalTypeID Goal::dst

Index of type.

Definition at line 24 of file goal_base.h.

Referenced by CmdCreateGoal(), CmdSetGoalDestination(), and GoalListWindow::HandleClick().

◆ progress

std::string Goal::progress

Progress text of the goal.

Definition at line 26 of file goal_base.h.

Referenced by CmdSetGoalProgress().

◆ text

std::string Goal::text

Text of the goal.

Definition at line 25 of file goal_base.h.

Referenced by CmdCreateGoal(), CmdSetGoalText(), and StoryBookWindow::DrawWidget().

◆ type

GoalType Goal::type

Type of the goal.

Definition at line 23 of file goal_base.h.

Referenced by CmdCreateGoal(), CmdSetGoalDestination(), and GoalListWindow::HandleClick().


The documentation for this struct was generated from the following files: