gzdoom/wadsrc/static/zscript/menu/playermenu.txt

89 lines
2.1 KiB
Plaintext
Raw Normal View History

2017-02-17 15:53:36 +00:00
class PlayerMenu : ListMenu native
{
native int mRotation;
2017-02-17 17:21:59 +00:00
native PlayerClass mPlayerClass;
protected native void AutoaimChanged(float val);
protected native void ColorChanged(int red, int green, int blue);
protected void UpdateTranslation()
{
Translation.SetPlayerTranslation(TRANSLATION_Players, MAXPLAYERS, consoleplayer, mPlayerClass);
}
protected void SendNewColor (int red, int green, int blue)
{
ColorChanged(red, green, blue);
UpdateTranslation();
}
2017-02-17 15:53:36 +00:00
//=============================================================================
//
//
//
//=============================================================================
2017-02-17 17:21:59 +00:00
override bool MouseEvent(int type, int x, int y)
2017-02-17 15:53:36 +00:00
{
2017-02-17 17:21:59 +00:00
let li = mFocusControl;
bool res = Super.MouseEvent(type, x, y);
if (li == NULL) li = mFocusControl;
if (li != NULL)
{
// Check if the colors have changed
Name ctrl = li.GetAction();
bool resv;
int v;
[resv, v]= li.GetValue(0);
switch(ctrl)
{
case 'Red':
if (resv)
{
Color colr = players[consoleplayer].GetColor();
SendNewColor (v, colr.g, colr.b);
}
break;
2017-02-17 15:53:36 +00:00
2017-02-17 17:21:59 +00:00
case 'Green':
if (resv)
{
Color colr = players[consoleplayer].GetColor();
SendNewColor (colr.r, v, colr.b);
}
break;
case 'Blue':
if (resv)
{
Color colr = players[consoleplayer].GetColor();
SendNewColor (colr.r, colr.g, v);
}
break;
case 'Autoaim':
AutoaimChanged(v);
break;
}
}
return res;
}
2017-02-17 15:53:36 +00:00
2017-02-17 17:21:59 +00:00
//=============================================================================
//
//
//
//=============================================================================
override void Drawer ()
{
Super.Drawer();
2017-02-17 15:53:36 +00:00
String str = "PRESS " .. TEXTCOLOR_WHITE .. "SPACE";
screen.DrawText (SmallFont, Font.CR_GOLD, 320 - 32 - 32 - SmallFont.StringWidth (str)/2, 50 + 48 + 70, str, DTA_Clean, true);
str = mRotation ? "TO SEE FRONT" : "TO SEE BACK";
screen.DrawText (SmallFont, Font.CR_GOLD, 320 - 32 - 32 - SmallFont.StringWidth (str)/2, 50 + 48 + 70 + SmallFont.GetHeight (), str, DTA_Clean, true);
}
}