Planet
navi homePPSaboutscreenshotsdownloaddevelopmentforum

source: code/branches/presentation3/data/gui/scripts/MenuSheet.lua @ 7007

Last change on this file since 7007 was 6746, checked in by rgrieder, 15 years ago

Merged gamestates2 branch back to trunk.
This brings in some heavy changes in the GUI framework.
It should also fix problems with triggered asserts in the InputManager.

Note: PickupInventory does not seem to work —> Segfault when showing because before, the owner in GUIOverlay::setGUIName is already NULL.
I haven't tested it before, so I can't tell whether it's my changes.

File size: 1.3 KB
Line 
1-- MenuSheet.lua
2-- Base class for all GUI sheets that represent a menu.
3-- Inherits itself from GUISheet
4
5local P = {}  -- Local alias, always use it in this file
6MenuSheet = P -- Global name
7setmetatable(P, require("GUISheet")) -- Inherit from GUISheet
8P.__index = P -- Provide class character
9
10-- Use this function to construct a new MenuSheet.
11-- Parameters:
12-- Except for _name, you can provide nil. Then the default value will be used.
13-- For _tShowCusor and _tUseKeyboard you can specify TriBool.Dontcare if the value doesn't matter at all. Then the value of the underlaying sheet will be used.
14function P.new(_name, _bHidePrevious, _tShowCursor, _tUseKeyboard, _bBlockJoyStick)
15    local newSheet = GUISheet.new(_name)
16    newSheet.bHidePrevious  = handleDefArg(_bHidePrevious,  true)
17    newSheet.tShowCursor    = handleDefArg(_tShowCusor,     TriBool.True)
18    newSheet.tUseKeyboard   = handleDefArg(_tUseKeyboard,   TriBool.Dontcare)
19    newSheet.bBlockJoyStick = handleDefArg(_bBlockJoyStick, false)
20
21    setmetatable(newSheet, P)
22    return newSheet
23end
24
25function P:load()
26    -- Create the input state
27    self.inputState = guiMgr:createInputState("GUI_" .. self.name,
28        self.tShowCursor, self.tUseKeyboard, self.bBlockJoyStick)
29
30    -- load() of base 'class'
31    GUISheet.load(self)
32
33    return self
34end
35
36return P
Note: See TracBrowser for help on using the repository browser.