Graphical user interface for bridge construction. More...
#include "stdafx.h"
#include "gui.h"
#include "command_func.h"
#include "economy_func.h"
#include "bridge.h"
#include "rail.h"
#include "strings_func.h"
#include "window_func.h"
#include "sound_func.h"
#include "gfx_func.h"
#include "tunnelbridge.h"
#include "sortlist_type.h"
#include "widgets/dropdown_func.h"
#include "core/geometry_func.hpp"
#include "table/strings.h"
Go to the source code of this file.
Data Structures | |
struct | BuildBridgeData |
Carriage for the data we need if we want to build a bridge. More... | |
class | BuildBridgeWindow |
Typedefs | |
typedef GUIList< BuildBridgeData > | GUIBridgeList |
Enumerations | |
enum | BuildBridgeSelectionWidgets { BBSW_CAPTION, BBSW_DROPDOWN_ORDER, BBSW_DROPDOWN_CRITERIA, BBSW_BRIDGE_LIST, BBSW_SCROLLBAR } |
Functions | |
void | CcBuildBridge (const CommandCost &result, TileIndex tile, uint32 p1, uint32 p2) |
Callback executed after a build Bridge CMD has been called. | |
void | ShowBuildBridgeWindow (TileIndex start, TileIndex end, TransportType transport_type, byte road_rail_type) |
Prepare the data for the build a bridge window. | |
Variables | |
static BridgeType | _last_railbridge_type = 0 |
The type of the last built rail bridge. | |
static BridgeType | _last_roadbridge_type = 0 |
The type of the last built road bridge. | |
static const NWidgetPart | _nested_build_bridge_widgets [] |
static const WindowDesc | _build_bridge_desc (WDP_AUTO, 200, 114, WC_BUILD_BRIDGE, WC_BUILD_TOOLBAR, WDF_CONSTRUCTION, _nested_build_bridge_widgets, lengthof(_nested_build_bridge_widgets)) |
Graphical user interface for bridge construction.
Definition in file bridge_gui.cpp.
void CcBuildBridge | ( | const CommandCost & | result, | |
TileIndex | tile, | |||
uint32 | p1, | |||
uint32 | p2 | |||
) |
Callback executed after a build Bridge CMD has been called.
result | Whether the build succeded | |
tile | The tile where the command has been executed | |
p1 | not used | |
p2 | not used |
Definition at line 53 of file bridge_gui.cpp.
References CommandCost::Succeeded().
Referenced by BuildDocksToolbarWindow::OnPlaceMouseUp(), and ShowBuildBridgeWindow().
void ShowBuildBridgeWindow | ( | TileIndex | start, | |
TileIndex | end, | |||
TransportType | transport_type, | |||
byte | road_rail_type | |||
) |
Prepare the data for the build a bridge window.
If we can't build a bridge under the given conditions show an error message.
start | The start tile of the bridge | |
end | The end tile of the bridge | |
transport_type | The transport type | |
road_rail_type | The road/rail type |
Definition at line 355 of file bridge_gui.cpp.
References _ctrl_pressed, _last_railbridge_type, _last_roadbridge_type, SmallVector< T, S >::Append(), CalcBridgeLenCostFactor(), CcBuildBridge(), CheckBridgeAvailability(), CMD_BUILD_BRIDGE, CMD_MSG, DC_AUTO, DC_QUERY_COST, DeleteWindowByClass(), DoCommand(), DoCommandP(), CommandCost::Failed(), CommandCost::GetCost(), GetTunnelBridgeLength(), INVALID_STRING_ID, SmallVector< T, S >::Length(), BridgeSpec::price, RailBuildCost(), ShowErrorMessage(), CommandCost::Succeeded(), TILE_SIZE, TileX(), TileY(), TRANSPORT_RAIL, and TRANSPORT_ROAD.
Referenced by BuildRoadToolbarWindow::OnPlaceMouseUp(), and BuildRailToolbarWindow::OnPlaceMouseUp().
const NWidgetPart _nested_build_bridge_widgets[] [static] |
{ NWidget(NWID_HORIZONTAL), NWidget(WWT_CLOSEBOX, COLOUR_DARK_GREEN), NWidget(WWT_CAPTION, COLOUR_DARK_GREEN, BBSW_CAPTION), SetDataTip(STR_SELECT_RAIL_BRIDGE_CAPTION, STR_TOOLTIP_WINDOW_TITLE_DRAG_THIS), EndContainer(), NWidget(NWID_HORIZONTAL), NWidget(NWID_VERTICAL), NWidget(NWID_HORIZONTAL), NWidget(WWT_TEXTBTN, COLOUR_DARK_GREEN, BBSW_DROPDOWN_ORDER), SetFill(1, 0), SetDataTip(STR_BUTTON_SORT_BY, STR_TOOLTIP_SORT_ORDER), NWidget(WWT_DROPDOWN, COLOUR_DARK_GREEN, BBSW_DROPDOWN_CRITERIA), SetFill(1, 0), SetDataTip(0x0, STR_TOOLTIP_SORT_CRITERIA), EndContainer(), NWidget(WWT_MATRIX, COLOUR_DARK_GREEN, BBSW_BRIDGE_LIST), SetFill(1, 0), SetResize(0, 22), SetDataTip(0x401, STR_SELECT_BRIDGE_SELECTION_TOOLTIP), EndContainer(), NWidget(NWID_VERTICAL), NWidget(WWT_SCROLLBAR, COLOUR_DARK_GREEN, BBSW_SCROLLBAR), NWidget(WWT_RESIZEBOX, COLOUR_DARK_GREEN), EndContainer(), EndContainer(), }
Definition at line 311 of file bridge_gui.cpp.