MCPcopy Create free account
hub / github.com/OpenTTD/OpenTTD / HandleLinkClick

Function HandleLinkClick

src/league_gui.cpp:206–246  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

204}
205
206static void HandleLinkClick(Link link)
207{
208 TileIndex xy;
209 switch (link.type) {
210 case LT_NONE: return;
211
212 case LT_TILE:
213 if (!IsValidTile(link.target)) return;
214 xy = TileIndex{link.target};
215 break;
216
217 case LT_INDUSTRY:
218 if (!Industry::IsValidID(link.target)) return;
219 xy = Industry::Get(link.target)->location.tile;
220 break;
221
222 case LT_TOWN:
223 if (!Town::IsValidID(link.target)) return;
224 xy = Town::Get(link.target)->xy;
225 break;
226
227 case LT_COMPANY:
228 ShowCompany((CompanyID)link.target);
229 return;
230
231 case LT_STORY_PAGE: {
232 if (!StoryPage::IsValidID(link.target)) return;
233 CompanyID story_company = StoryPage::Get(link.target)->company;
234 ShowStoryBook(story_company, static_cast<StoryPageID>(link.target));
235 return;
236 }
237
238 default: NOT_REACHED();
239 }
240
241 if (_ctrl_pressed) {
242 ShowExtraViewportWindow(xy);
243 } else {
244 ScrollMainWindowToTile(xy);
245 }
246}
247
248
249class ScriptLeagueWindow : public Window {

Callers 1

OnClickMethod · 0.85

Calls 6

IsValidTileFunction · 0.85
ShowCompanyFunction · 0.85
ShowStoryBookFunction · 0.85
NOT_REACHEDFunction · 0.85
ShowExtraViewportWindowFunction · 0.85
ScrollMainWindowToTileFunction · 0.85

Tested by

no test coverage detected