OpenTTD Source 20260108-master-g8ba1860eaa
Goal Struct Reference

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

#include <goal_base.h>

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

Public Member Functions

 Goal (GoalID index, GoalType type=GT_NONE, GoalTypeID dst=0, CompanyID company=CompanyID::Invalid(), const EncodedString &text={})
 
 ~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, Tpool_type, Tcache >::PoolItem<&_goal_pool >
 PoolItem (Tindex index)
 Construct the item.
 
void * operator new (size_t)=delete
 Do not use new PoolItem, but rather PoolItem::Create.
 
void * operator new (size_t size, Tindex index)=delete
 Do not use new (index) PoolItem(...), but rather PoolItem::CreateAtIndex(index, ...).
 
void * operator new (size_t, void *ptr)=delete
 Do not use new (address) PoolItem(...).
 
void operator delete (void *p, size_t size)
 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, Tpool_type, Tcache >::PoolItem<&_goal_pool >
static T * Create (Targs &&... args)
 Creates a new T-object in the associated pool.
 
static T * CreateAtIndex (Tindex index, Targs &&... args)
 Creates a new T-object in the associated 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 (auto index)
 Tests whether given index can be used to get valid (non-nullptr) Titem.
 
static Titem * Get (auto index)
 Returns Titem with given index.
 
static Titem * GetIfValid (auto 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 = CompanyID::Invalid()
 Goal is for a specific company; CompanyID::Invalid() if it is global.
 
GoalType type = GT_NONE
 Type of the goal.
 
GoalTypeID dst = 0
 Index of type.
 
EncodedString text {}
 Text of the goal.
 
EncodedString progress {}
 Progress text of the goal.
 
bool completed = false
 Is the goal completed or not?
 
- Data Fields inherited from Pool< Titem, Tindex, Tgrowth_step, Tpool_type, Tcache >::PoolItem<&_goal_pool >
const Tindex index
 Index of this pool item.
 

Additional Inherited Members

- Public Types inherited from Pool< Titem, Tindex, Tgrowth_step, Tpool_type, Tcache >::PoolItem<&_goal_pool >
typedef struct Pool< Titem, Tindex, Tgrowth_step, Tpool_type, Tcache > Pool
 Type of the pool this item is going to be part of.
 

Detailed Description

Struct about goals, current and completed.

Definition at line 22 of file goal_base.h.

Constructor & Destructor Documentation

◆ Goal()

Goal::Goal ( GoalID  index,
GoalType  type = GT_NONE,
GoalTypeID  dst = 0,
CompanyID  company = CompanyID::Invalid(),
const EncodedString text = {} 
)
inline

Definition at line 30 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 36 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 = CompanyID::Invalid()

Goal is for a specific company; CompanyID::Invalid() if it is global.

Definition at line 23 of file goal_base.h.

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

◆ completed

bool Goal::completed = false

Is the goal completed or not?

Definition at line 28 of file goal_base.h.

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

◆ dst

GoalTypeID Goal::dst = 0

Index of type.

Definition at line 25 of file goal_base.h.

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

◆ progress

EncodedString Goal::progress {}

Progress text of the goal.

Definition at line 27 of file goal_base.h.

Referenced by CmdSetGoalProgress().

◆ text

EncodedString Goal::text {}

Text of the goal.

Definition at line 26 of file goal_base.h.

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

◆ type

GoalType Goal::type = GT_NONE

Type of the goal.

Definition at line 24 of file goal_base.h.

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


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