OpenTTD Source 20241224-master-gf74b0cf984
|
Handling of league tables. More...
#include "stdafx.h"
#include "league_cmd.h"
#include "league_base.h"
#include "command_type.h"
#include "command_func.h"
#include "industry.h"
#include "story_base.h"
#include "town.h"
#include "window_func.h"
#include "core/pool_func.hpp"
#include "safeguards.h"
Go to the source code of this file.
Functions | |
bool | IsValidLink (Link link) |
Checks whether a link is valid, i.e. | |
std::tuple< CommandCost, LeagueTableID > | CmdCreateLeagueTable (DoCommandFlag flags, const std::string &title, const std::string &header, const std::string &footer) |
Create a new league table. | |
std::tuple< CommandCost, LeagueTableElementID > | CmdCreateLeagueTableElement (DoCommandFlag flags, LeagueTableID table, int64_t rating, CompanyID company, const std::string &text, const std::string &score, LinkType link_type, LinkTargetID link_target) |
Create a new element in a league table. | |
CommandCost | CmdUpdateLeagueTableElementData (DoCommandFlag flags, LeagueTableElementID element, CompanyID company, const std::string &text, LinkType link_type, LinkTargetID link_target) |
Update the attributes of a league table element. | |
CommandCost | CmdUpdateLeagueTableElementScore (DoCommandFlag flags, LeagueTableElementID element, int64_t rating, const std::string &score) |
Update the score of a league table element. | |
CommandCost | CmdRemoveLeagueTableElement (DoCommandFlag flags, LeagueTableElementID element) |
Remove a league table element. | |
Variables | |
LeagueTableElementPool | _league_table_element_pool ("LeagueTableElement") |
LeagueTablePool | _league_table_pool ("LeagueTable") |
Handling of league tables.
Definition in file league_cmd.cpp.
std::tuple< CommandCost, LeagueTableID > CmdCreateLeagueTable | ( | DoCommandFlag | flags, |
const std::string & | title, | ||
const std::string & | header, | ||
const std::string & | footer | ||
) |
Create a new league table.
flags | type of operation |
title | Title of the league table |
header | Text to show above the table |
footer | Text to show below the table |
Definition at line 56 of file league_cmd.cpp.
References _current_company, Pool< Titem, Tindex, Tgrowth_step, Tmax_size, Tpool_type, Tcache, Tzero >::PoolItem<&_league_table_pool >::CanAllocateItem(), CMD_ERROR, DC_EXEC, LeagueTable::footer, LeagueTable::header, Pool< Titem, Tindex, Tgrowth_step, Tmax_size, Tpool_type, Tcache, Tzero >::PoolItem< Tpool >::index, INVALID_LEAGUE_TABLE, OWNER_DEITY, and LeagueTable::title.
std::tuple< CommandCost, LeagueTableElementID > CmdCreateLeagueTableElement | ( | DoCommandFlag | flags, |
LeagueTableID | table, | ||
int64_t | rating, | ||
CompanyID | company, | ||
const std::string & | text, | ||
const std::string & | score, | ||
LinkType | link_type, | ||
LinkTargetID | link_target | ||
) |
Create a new element in a league table.
flags | type of operation |
table | Id of the league table this element belongs to |
rating | Value that elements are ordered by |
company | Company to show the color blob for or INVALID_COMPANY |
text | Text of the element |
score | String representation of the score associated with the element |
link_type | Type of the referenced object |
link_target | Id of the referenced object |
Definition at line 86 of file league_cmd.cpp.
References _current_company, Pool< Titem, Tindex, Tgrowth_step, Tmax_size, Tpool_type, Tcache, Tzero >::PoolItem<&_league_table_element_pool >::CanAllocateItem(), CMD_ERROR, LeagueTableElement::company, DC_EXEC, Pool< Titem, Tindex, Tgrowth_step, Tmax_size, Tpool_type, Tcache, Tzero >::PoolItem< Tpool >::index, INVALID_COMPANY, INVALID_LEAGUE_TABLE_ELEMENT, InvalidateWindowData(), Pool< Titem, Tindex, Tgrowth_step, Tmax_size, Tpool_type, Tcache, Tzero >::PoolItem<&_company_pool >::IsValidID(), IsValidLink(), LeagueTableElement::link, OWNER_DEITY, LeagueTableElement::rating, LeagueTableElement::score, LeagueTableElement::table, LeagueTableElement::text, and WC_COMPANY_LEAGUE.
CommandCost CmdRemoveLeagueTableElement | ( | DoCommandFlag | flags, |
LeagueTableElementID | element | ||
) |
Remove a league table element.
flags | type of operation |
element | Id of the element to update |
Definition at line 164 of file league_cmd.cpp.
References _current_company, CMD_ERROR, DC_EXEC, Pool< Titem, Tindex, Tgrowth_step, Tmax_size, Tpool_type, Tcache, Tzero >::PoolItem<&_league_table_element_pool >::GetIfValid(), InvalidateWindowData(), OWNER_DEITY, and WC_COMPANY_LEAGUE.
CommandCost CmdUpdateLeagueTableElementData | ( | DoCommandFlag | flags, |
LeagueTableElementID | element, | ||
CompanyID | company, | ||
const std::string & | text, | ||
LinkType | link_type, | ||
LinkTargetID | link_target | ||
) |
Update the attributes of a league table element.
flags | type of operation |
element | Id of the element to update |
company | Company to show the color blob for or INVALID_COMPANY |
text | Text of the element |
link_type | Type of the referenced object |
link_target | Id of the referenced object |
Definition at line 118 of file league_cmd.cpp.
References _current_company, CMD_ERROR, DC_EXEC, Pool< Titem, Tindex, Tgrowth_step, Tmax_size, Tpool_type, Tcache, Tzero >::PoolItem<&_league_table_element_pool >::GetIfValid(), INVALID_COMPANY, InvalidateWindowData(), Pool< Titem, Tindex, Tgrowth_step, Tmax_size, Tpool_type, Tcache, Tzero >::PoolItem<&_company_pool >::IsValidID(), IsValidLink(), OWNER_DEITY, and WC_COMPANY_LEAGUE.
CommandCost CmdUpdateLeagueTableElementScore | ( | DoCommandFlag | flags, |
LeagueTableElementID | element, | ||
int64_t | rating, | ||
const std::string & | score | ||
) |
Update the score of a league table element.
flags | type of operation |
element | Id of the element to update |
rating | Value that elements are ordered by |
score | String representation of the score associated with the element |
Definition at line 144 of file league_cmd.cpp.
References _current_company, CMD_ERROR, DC_EXEC, Pool< Titem, Tindex, Tgrowth_step, Tmax_size, Tpool_type, Tcache, Tzero >::PoolItem<&_league_table_element_pool >::GetIfValid(), InvalidateWindowData(), OWNER_DEITY, and WC_COMPANY_LEAGUE.
bool IsValidLink | ( | Link | link | ) |
Checks whether a link is valid, i.e.
has a valid target.
link | the link to check |
Definition at line 34 of file league_cmd.cpp.
References Pool< Titem, Tindex, Tgrowth_step, Tmax_size, Tpool_type, Tcache, Tzero >::PoolItem<&_company_pool >::IsValidID(), Pool< Titem, Tindex, Tgrowth_step, Tmax_size, Tpool_type, Tcache, Tzero >::PoolItem<&_story_page_pool >::IsValidID(), Pool< Titem, Tindex, Tgrowth_step, Tmax_size, Tpool_type, Tcache, Tzero >::PoolItem<&_town_pool >::IsValidID(), Pool< Titem, Tindex, Tgrowth_step, Tmax_size, Tpool_type, Tcache, Tzero >::PoolItem<&_industry_pool >::IsValidID(), IsValidTile(), LT_COMPANY, LT_INDUSTRY, LT_NONE, LT_STORY_PAGE, LT_TILE, and LT_TOWN.
Referenced by CmdCreateLeagueTableElement(), and CmdUpdateLeagueTableElementData().