mirror of
https://github.com/ZDoom/gzdoom.git
synced 2024-12-02 08:53:42 +00:00
9b1870f71f
Mainly done so that searching for 'level.' returns less noise.
72 lines
No EOL
1.4 KiB
Text
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);
|
|
}
|
|
|
|
|
|
} |