GameSidePanel < Panel image-source: images/sidepanel.png image-border: 4 GameBottomPanel < Panel image-source: images/bottompanel.png image-border: 4 GameMapPanel < UIGameMap padding: 4 image-source: images/mappanel.png image-border: 4 UIWidget id: gameRootPanel anchors.fill: parent anchors.top: topMenu.bottom GameMapPanel id: gameMapPanel anchors.left: gameLeftPanel.right anchors.right: gameRightPanel.left anchors.top: parent.top anchors.bottom: gameBottomPanel.top focusable: false UISplitter id: mapSplitter anchors.left: gameLeftPanel.right anchors.right: gameRightPanel.left anchors.bottom: parent.bottom relative-margin: bottom margin-bottom: 172 height: 4 margin-top: -2 @canUpdateMargin: function(self, newMargin) return math.min(math.max(newMargin, 100), self:getParent():getHeight() - 300) end @onGeometryChange: function(self) self:setMarginBottom(math.min(self:getParent():getHeight() - 300, self:getMarginBottom())) end GameBottomPanel id: gameBottomPanel anchors.left: gameLeftPanel.right anchors.right: gameRightPanel.left anchors.top: mapSplitter.top anchors.bottom: parent.bottom GameSidePanel id: gameRightPanel width: 190 layout: verticalBox anchors.right: parent.right anchors.top: parent.top anchors.bottom: parent.bottom focusable: false GameSidePanel id: gameLeftPanel width: 0 layout: verticalBox anchors.left: parent.left anchors.top: parent.top anchors.bottom: parent.bottom focusable: false UIWidget id: mouseGrabber focusable: false visible: false