00001 #if 0 // OBSOLETE FILE
00002 #include "lugre_prefix.h"
00003 #include "lugre_scripting.h"
00004 #include "lugre_luabind.h"
00005 #include "HUDElement2D.h"
00006
00007 extern "C" {
00008 #include "lua.h"
00009 #include "lauxlib.h"
00010 #include "lualib.h"
00011 }
00012
00013
00014 using namespace Lugre;
00015
00016 class cHUDElement2D_L : public cLuaBind<cHUDElement2D> { public:
00018 virtual void RegisterMethods (lua_State *L) { PROFILE
00019
00020
00021
00022
00023 lua_register(L,"CreateHUDElement2D", &cHUDElement2D_L::CreateHUDElement2D);
00024
00025 #define REGISTER_METHOD(methodname) mlMethod.push_back(make_luaL_reg(#methodname,&cHUDElement2D_L::methodname));
00026 REGISTER_METHOD(Destroy);
00027
00028
00029 cScripting* scripting = cScripting::GetSingletonPtr();
00030 #define RegisterClassConstant(name) scripting->SetGlobal(#name,cHUDElement2D::name)
00031 RegisterClassConstant(kPosMode_None);
00032 RegisterClassConstant(kPosMode_Object);
00033 RegisterClassConstant(kPosMode_Aim);
00034 RegisterClassConstant(kPosMode_ObjectDir);
00035 RegisterClassConstant(kTurnMode_None);
00036 RegisterClassConstant(kTurnMode_Constant);
00037 RegisterClassConstant(kTurnMode_ObjectDist);
00038 RegisterClassConstant(kTurnMode_ObjectDir);
00039 RegisterClassConstant(kTextMode_None);
00040 RegisterClassConstant(kTextMode_Dist);
00041 RegisterClassConstant(kTextMode_RelSpeed);
00042 RegisterClassConstant(kTextMode_FPS);
00043 RegisterClassConstant(kTextMode_AbsSpeed);
00044 }
00045
00047 virtual void RegisterMembers () { PROFILE
00048 cHUDElement2D* prototype = new cHUDElement2D();
00049 cMemberVar_REGISTER(prototype, kVarType_bool, mbVisible, kVarFlag_NotifyChange);
00050 cMemberVar_REGISTER(prototype, kVarType_bool, mbPosModeObject_UpdateSize, kVarFlag_NotifyChange);
00051 cMemberVar_REGISTER(prototype, kVarType_bool, mbWatchMouse, 0);
00052 cMemberVar_REGISTER(prototype, kVarType_bool, mbMouseIsOver, 0);
00053
00054 cMemberVar_REGISTER(prototype, kVarType_size_t, miUID, kVarFlag_Readonly);
00055 cMemberVar_REGISTER(prototype, kVarType_size_t, miPosMode, kVarFlag_NotifyChange);
00056 cMemberVar_REGISTER(prototype, kVarType_size_t, miTurnMode, kVarFlag_NotifyChange);
00057 cMemberVar_REGISTER(prototype, kVarType_size_t, miTextMode, kVarFlag_NotifyChange);
00058
00059 cMemberVar_REGISTER(prototype, kVarType_Vector2, mvBase, kVarFlag_NotifyChange);
00060 cMemberVar_REGISTER(prototype, kVarType_Vector2, mvParam, kVarFlag_NotifyChange);
00061 cMemberVar_REGISTER(prototype, kVarType_Vector2, mvParam2, kVarFlag_NotifyChange);
00062 cMemberVar_REGISTER(prototype, kVarType_Vector2, mvSizeParam, kVarFlag_NotifyChange);
00063
00064 cMemberVar_REGISTER(prototype, kVarType_Real, mfParam, kVarFlag_NotifyChange);
00065 cMemberVar_REGISTER(prototype, kVarType_Real, mfCurRotate, kVarFlag_NotifyChange);
00066 cMemberVar_REGISTER(prototype, kVarType_Real, mfTurnBase, kVarFlag_NotifyChange);
00067 cMemberVar_REGISTER(prototype, kVarType_Real, mfTurnParam, kVarFlag_NotifyChange);
00068 cMemberVar_REGISTER(prototype, kVarType_Real, mfTurnParam2, kVarFlag_NotifyChange);
00069 cMemberVar_REGISTER(prototype, kVarType_Real, mfTurnMin, kVarFlag_NotifyChange);
00070 cMemberVar_REGISTER(prototype, kVarType_Real, mfTurnMax, kVarFlag_NotifyChange);
00071
00072 cMemberVar_REGISTER(prototype, kVarType_ObjSmartPtr, mpObj1, kVarFlag_NotifyChange);
00073
00074
00075 cMemberVar_REGISTER(prototype, kVarType_Gfx2D, mpGfx2D, kVarFlag_Readonly);
00076 }
00077
00078 virtual void NotifyChange (cHUDElement2D* x,const char* sMemberVarName) { PROFILE
00079 assert(x);
00080 x->VarUpdate();
00081 }
00082
00084
00085
00088 static int CreateHUDElement2D (lua_State *L) { PROFILE
00089 cHUDElement2D* target = new cHUDElement2D();
00090 target->Init();
00091 return CreateUData(L,target);
00092 }
00093
00095 static int Destroy (lua_State *L) { PROFILE
00096
00097 delete checkudata_alive(L);
00098
00099 return 0;
00100 }
00101
00102 virtual const char* GetLuaTypeName () { return "sfz.HUDElement2D"; }
00103 };
00104
00106 void cHUDElement2D::LuaRegister (lua_State *L) { PROFILE
00107 cLuaBind<cHUDElement2D>::GetSingletonPtr(new cHUDElement2D_L())->LuaRegister(L);
00108 }
00109
00110 #endif