[6773] | 1 | -- MenuSheet.lua |
---|
| 2 | -- Base class for all GUI sheets that represent a menu. |
---|
| 3 | -- Inherits itself from GUISheet |
---|
| 4 | |
---|
| 5 | local P = {} -- Local alias, always use it in this file |
---|
| 6 | MenuSheet = P -- Global name |
---|
| 7 | setmetatable(P, require("GUISheet")) -- Inherit from GUISheet |
---|
| 8 | P.__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 _tShowCursor 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. |
---|
| 14 | function P.new(_name, _bHidePrevious, _tShowCursor, _tUseKeyboard, _bBlockJoyStick) |
---|
| 15 | local newSheet = GUISheet.new(_name) |
---|
| 16 | newSheet.bHidePrevious = handleDefArg(_bHidePrevious, true) |
---|
| 17 | newSheet.tShowCursor = handleDefArg(_tShowCursor, TriBool.True) |
---|
| 18 | newSheet.tUseKeyboard = handleDefArg(_tUseKeyboard, TriBool.Dontcare) |
---|
| 19 | newSheet.bBlockJoyStick = handleDefArg(_bBlockJoyStick, false) |
---|
| 20 | |
---|
| 21 | setmetatable(newSheet, P) |
---|
| 22 | return newSheet |
---|
| 23 | end |
---|
| 24 | |
---|
| 25 | function 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 |
---|
| 34 | end |
---|
| 35 | |
---|
| 36 | return P |
---|