swwmgz_m/zscript/kbase/swwm_kbase_tab.zsc

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
}