MCPcopy Create free account
hub / github.com/OpenLoco/OpenLoco / openChallenge

Function openChallenge

src/OpenLoco/src/Ui/Windows/CompanyWindow.cpp:2612–2644  ·  view source on GitHub ↗

00434731

Source from the content-addressed store, hash-verified

2610
2611 // 00434731
2612 Window* openChallenge(CompanyId companyId)
2613 {
2614 auto window = WindowManager::bringToFront(WindowType::company, enumValue(companyId));
2615 if (window != nullptr)
2616 {
2617 if (ToolManager::isToolActive(window->type, window->number))
2618 {
2619 ToolManager::toolCancel();
2620 window = WindowManager::bringToFront(WindowType::company, enumValue(companyId));
2621 }
2622 }
2623
2624 if (window == nullptr)
2625 {
2626 window = create(companyId);
2627 }
2628
2629 window->currentTab = Common::tab_challenge - Common::tab_status;
2630 window->width = Challenge::kWindowSize.width;
2631 window->height = Challenge::kWindowSize.height;
2632 window->invalidate();
2633
2634 window->setWidgets(Challenge::widgets);
2635 window->holdableWidgets = 0;
2636 window->eventHandlers = &Challenge::getEvents();
2637 window->activatedWidgets = 0;
2638
2639 Common::disableChallengeTab(window);
2640 window->initScrollWidgets();
2641 window->moveInsideScreenEdges();
2642
2643 return window;
2644 }
2645
2646 namespace Common
2647 {

Callers 1

Calls 10

bringToFrontFunction · 0.85
enumValueFunction · 0.85
isToolActiveFunction · 0.85
disableChallengeTabFunction · 0.85
setWidgetsMethod · 0.80
initScrollWidgetsMethod · 0.80
moveInsideScreenEdgesMethod · 0.80
toolCancelFunction · 0.70
createFunction · 0.70
invalidateMethod · 0.45

Tested by

no test coverage detected