//============================================================================= // // base class for menu items // //============================================================================= class MenuItemBase : Object native { protected int mXpos, mYpos; protected Name mAction; bool mEnabled; protected void Init(int xpos = 0, int ypos = 0, Name actionname = 'None') { mXpos = xpos; mYpos = ypos; mAction = actionname; mEnabled = true; } virtual bool CheckCoordinate(int x, int y) { return false; } virtual void Ticker() {} virtual void Drawer(bool selected) {} virtual bool Selectable() {return false; } virtual bool Activate() { return false; } virtual Name, int GetAction() { return mAction, 0; } virtual bool SetString(int i, String s) { return false; } virtual bool, String GetString(int i) { return false, ""; } virtual bool SetValue(int i, int value) { return false; } virtual bool, int GetValue(int i) { return false, 0; } virtual void Enable(bool on) { mEnabled = on; } virtual bool MenuEvent (int mkey, bool fromcontroller) { return false; } virtual bool MouseEvent(int type, int x, int y) { return false; } virtual bool CheckHotkey(int c) { return false; } virtual int GetWidth() { return 0; } virtual void OffsetPositionY(int ydelta) { mYpos += ydelta; } virtual int GetY() { return mYpos; } virtual int GetX() { return mXpos; } virtual void SetX(int x) { mXpos = x; } /* virtual void DrawSelector(int xofs, int yofs, TextureID tex) { if (tex.isNull()) { if ((Menu.MenuTime() % 8) < 6) { screen.DrawText(ConFont, OptionSettings.mFontColorSelection, (mXpos + xofs - 160) * CleanXfac + screen.GetWidth() / 2, (mYpos + yofs - 100) * CleanYfac + screen.GetHeight() / 2, "\xd", DTA_CellX, 8 * CleanXfac, DTA_CellY, 8 * CleanYfac, TAG_DONE); } } else { screen.DrawTexture (tex, mXpos + xofs, mYpos + yofs, DTA_Clean, true, TAG_DONE); } } */ }