55 lines
1.2 KiB
Text
55 lines
1.2 KiB
Text
// Classes for menu tabs
|
|
|
|
Class DemolitionistMenuTab ui abstract
|
|
{
|
|
DemolitionistMenu master;
|
|
String title;
|
|
bool bHidden; // tab does not display and can't be selected
|
|
|
|
// tab initialization
|
|
virtual DemolitionistMenuTab Init( DemolitionistMenu master )
|
|
{
|
|
self.master = master;
|
|
return self;
|
|
}
|
|
|
|
// called for menu input (direction keys, enter, back)
|
|
virtual void MenuInput( int key )
|
|
{
|
|
}
|
|
|
|
// called for mouse input (left/right click, mouse wheel up/down, mouse drag/release)
|
|
virtual void MouseInput( Vector2 pos, int btn )
|
|
{
|
|
}
|
|
|
|
// called after this tab is selected
|
|
virtual void OnSelect()
|
|
{
|
|
}
|
|
|
|
// called before another tab is selected
|
|
virtual void OnDeselect()
|
|
{
|
|
}
|
|
|
|
// called every tic while selected
|
|
virtual void Ticker()
|
|
{
|
|
}
|
|
|
|
// called every frame while selected
|
|
virtual void Drawer()
|
|
{
|
|
// placeholder (so don't call super)
|
|
String str = "NOT IMPLEMENTED";
|
|
Screen.DrawText(smallfont,Font.CR_RED,int(master.ss.x-smallfont.StringWidth(str))/2,int(master.ss.y-smallfont.GetHeight())/2,str,DTA_VirtualWidthF,master.ss.x,DTA_VirtualHeightF,master.ss.y,DTA_KeepRatio,true);
|
|
}
|
|
}
|
|
|
|
// for add-ons
|
|
Class DemolitionistMenuTabCustom : DemolitionistMenuTab abstract
|
|
{
|
|
// wow it's literally nothing
|
|
// just subclass from this in your add-ons
|
|
}
|