gzdoom/wadsrc/static/zscript/statusbar/sbarinfowrapper.txt
Christoph Oelckers 9b1870f71f - capitalization of 'level' in all places where no changes will be needed.
Mainly done so that searching for 'level.' returns less noise.
2019-01-06 14:38:51 +01:00

72 lines
No EOL
1.4 KiB
Text

struct SBarInfo native ui
{
native void Destroy();
native void AttachToPlayer(PlayerInfo player);
native void Draw(int state, LevelLocals l);
native void NewGame();
native bool MustDrawLog(int state);
native void Tick(LevelLocals l);
native void ShowPop(int popnum);
native int GetProtrusion(double scalefac);
}
// The sole purpose of this wrapper is to eliminate the native dependencies of the status bar object
// because those would seriously impede the script conversion of the base class.
class SBarInfoWrapper : BaseStatusBar
{
private clearscope SBarInfo core;
override void OnDestroy()
{
if (core != null) core.Destroy(); // note that the core is not a GC'd object!
Super.OnDestroy();
}
override void AttachToPlayer(PlayerInfo player)
{
Super.AttachToPlayer(player);
core.AttachToPlayer(player);
}
override void Draw(int state, double TicFrac)
{
Super.Draw(state, TicFrac);
core.Draw(state, Level);
}
override void NewGame()
{
Super.NewGame();
if (CPlayer != NULL)
{
core.NewGame();
}
}
override bool MustDrawLog(int state)
{
return core.MustDrawLog(state);
}
override void Tick()
{
Super.Tick();
core.Tick(Level);
}
override void ShowPop(int popnum)
{
Super.ShowPop(popnum);
core.ShowPop(popnum);
}
override int GetProtrusion(double scaleratio) const
{
return core.GetProtrusion(scaleratio);
}
}