#ifndef GAMEITEM_H #define GAMEITEM_H #include "../oo.qh" #define ITEM_HANDLE(signal, ...) __Item_Send_##signal(__VA_ARGS__) /** If you register a new item, make sure to add it to all.inc */ CLASS(GameItem, Object) ATTRIB(GameItem, m_id, int, 0) ATTRIB(GameItem, m_name, string, string_null) ATTRIB(GameItem, m_icon, string, string_null) METHOD(GameItem, display, void(entity this, void(string name, string icon) returns)) { returns(this.m_name, this.m_icon ? sprintf("/gfx/hud/%s/%s", cvar_string("menu_skin"), this.m_icon) : string_null); } METHOD(GameItem, show, void(entity this)) { print("A game item\n"); } void ITEM_HANDLE(Show, entity this) { this.show(this); } ENDCLASS(GameItem) #endif