From e829b650b4b9fd7a0c2bec0650c8883118628c00 Mon Sep 17 00:00:00 2001 From: Easelm Date: Mon, 11 Aug 2014 18:04:06 -0400 Subject: [PATCH] GameObject Documentation Removed all documented methods from LuaFunctions.cpp. This excludes commented out code. --- GameObjectMethods.h | 132 ++++++++++++++++++++++++++++++++++++++++++-- LuaFunctions.cpp | 32 +++++------ 2 files changed, 144 insertions(+), 20 deletions(-) diff --git a/GameObjectMethods.h b/GameObjectMethods.h index 816f3ff..df1401a 100644 --- a/GameObjectMethods.h +++ b/GameObjectMethods.h @@ -9,7 +9,12 @@ namespace LuaGameObject { - /* BOOLEAN */ + /** + * Returns 'true' if the &GameObject has the specified quest + * + * @param uint32 questId : quest entry Id to check + * @return bool hasQuest + */ int HasQuest(lua_State* L, GameObject* go) { uint32 questId = Eluna::CHECKVAL(L, 2); @@ -22,18 +27,33 @@ namespace LuaGameObject return 1; } + /** + * Returns 'true' if the &GameObject is spawned + * + * @return bool isSpawned + */ int IsSpawned(lua_State* L, GameObject* go) { Eluna::Push(L, go->isSpawned()); return 1; } + /** + * Returns 'true' if the &GameObject is a transport + * + * @return bool isTransport + */ int IsTransport(lua_State* L, GameObject* go) { Eluna::Push(L, go->IsTransport()); return 1; } + /** + * Returns 'true' if the &GameObject is active + * + * @return bool isActiveObject + */ int IsActive(lua_State* L, GameObject* go) { Eluna::Push(L, go->isActiveObject()); @@ -46,26 +66,74 @@ namespace LuaGameObject return 1; }*/ - /* GETTERS */ + /** + * Returns display Id of the &GameObject + * + * @return uint32 displayId + */ int GetDisplayId(lua_State* L, GameObject* go) { Eluna::Push(L, go->GetDisplayId()); return 1; } + /** + * Returns the state of a &GameObject + * Below are client side GOStates off of 3.3.5a + * + *
+     * enum GOState
+     * {
+     *     GO_STATE_ACTIVE             = 0,                        // show in world as used and not reset (closed door open)
+     *     GO_STATE_READY              = 1,                        // show in world as ready (closed door close)
+     *     GO_STATE_ACTIVE_ALTERNATIVE = 2                         // show in world as used in alt way and not reset (closed door open by cannon fire)
+     *  };
+     * 
+ * + * @return uint32 goState + */ int GetGoState(lua_State* L, GameObject* go) { Eluna::Push(L, go->GetGoState()); return 1; } + /** + * Returns the loot state of a &GameObject + * Below are Loot States off of 3.3.5a + * + *
+     * enum LootState
+     * {
+     *     GO_NOT_READY = 0,
+     *     GO_READY,                                               // can be ready but despawned, and then not possible activate until spawn
+     *     GO_ACTIVATED,
+     *     GO_JUST_DEACTIVATED
+     * };
+     * 
+ * + * @return uint32 lootState + */ int GetLootState(lua_State* L, GameObject* go) { Eluna::Push(L, go->getLootState()); return 1; } - /* SETTERS */ + /** + * Sets the state of a &GameObject + * + *
+     * enum GOState
+     * {
+     *     GO_STATE_ACTIVE             = 0,                        // show in world as used and not reset (closed door open)
+     *     GO_STATE_READY              = 1,                        // show in world as ready (closed door close)
+     *     GO_STATE_ACTIVE_ALTERNATIVE = 2                         // show in world as used in alt way and not reset (closed door open by cannon fire)
+     *  };
+     * 
+ * + * @param uint32 state : all available go states can be seen above + */ int SetGoState(lua_State* L, GameObject* go) { uint32 state = Eluna::CHECKVAL(L, 2, 0); @@ -80,6 +148,22 @@ namespace LuaGameObject return 0; } + /** + * Sets the loot state of a &GameObject + * Below are Loot States off of 3.3.5a + * + *
+     * enum LootState
+     * {
+     *     GO_NOT_READY = 0,
+     *     GO_READY,                                               // can be ready but despawned, and then not possible activate until spawn
+     *     GO_ACTIVATED,
+     *     GO_JUST_DEACTIVATED
+     * };
+     * 
+ * + * @param uint32 state : all available loot states can be seen above + */ int SetLootState(lua_State* L, GameObject* go) { uint32 state = Eluna::CHECKVAL(L, 2, 0); @@ -96,13 +180,21 @@ namespace LuaGameObject return 0; } - /* OTHER */ + /** + * Saves &GameObject to the database + * + */ int SaveToDB(lua_State* /*L*/, GameObject* go) { go->SaveToDB(); return 0; } + /** + * Removes &GameObject from the world + * + * @param bool deleteFromDB : if true, it will delete the go from the database + */ int RemoveFromWorld(lua_State* L, GameObject* go) { bool deldb = Eluna::CHECKVAL(L, 2, false); @@ -112,6 +204,14 @@ namespace LuaGameObject return 0; } + /** + * Registers a event to the &GameObject + * + * @param function function : function to register the event with + * @param uint32 delay : set time in milliseconds for the event to trigger + * @param uint32 repeats : how many times for the event to repeat, 0 is infinite + * @return int32 functionReference + */ int RegisterEvent(lua_State* L, GameObject* go) { luaL_checktype(L, 2, LUA_TFUNCTION); @@ -126,6 +226,11 @@ namespace LuaGameObject return 1; } + /** + * Removes event from a &GameObject by the specified event Id + * + * @param int32 eventId : event Id to remove + */ int RemoveEventById(lua_State* L, GameObject* go) { int eventId = Eluna::CHECKVAL(L, 2); @@ -133,12 +238,21 @@ namespace LuaGameObject return 0; } + /** + * Removes all events from a &GameObject + * + */ int RemoveEvents(lua_State* /*L*/, GameObject* go) { sEluna->m_EventMgr->RemoveEvents(&go->m_Events); return 0; } + /** + * Changes the state of a &GameObject to a door or button + * + * @param uint32 delay : cooldown time to restore the go + */ int UseDoorOrButton(lua_State* L, GameObject* go) { uint32 delay = Eluna::CHECKVAL(L, 2, 0); @@ -147,6 +261,11 @@ namespace LuaGameObject return 0; } + /** + * Despawns a &GameObject + * + * @param uint32 delay : time of despawn + */ int Despawn(lua_State* L, GameObject* go) { uint32 delay = Eluna::CHECKVAL(L, 2, 1); @@ -158,6 +277,11 @@ namespace LuaGameObject return 0; } + /** + * Respawns a &GameObject + * + * @param uint32 delay : time of respawn + */ int Respawn(lua_State* L, GameObject* go) { uint32 delay = Eluna::CHECKVAL(L, 2, 1); diff --git a/LuaFunctions.cpp b/LuaFunctions.cpp index 6eb6803..2839cee 100644 --- a/LuaFunctions.cpp +++ b/LuaFunctions.cpp @@ -798,30 +798,30 @@ ElunaRegister CreatureMethods[] = ElunaRegister GameObjectMethods[] = { // Getters - { "GetDisplayId", &LuaGameObject::GetDisplayId }, // :GetDisplayId() - { "GetGoState", &LuaGameObject::GetGoState }, // :GetGoState() - Returns state - { "GetLootState", &LuaGameObject::GetLootState }, // :GetLootState() - Returns loot state + { "GetDisplayId", &LuaGameObject::GetDisplayId }, + { "GetGoState", &LuaGameObject::GetGoState }, + { "GetLootState", &LuaGameObject::GetLootState }, // Setters { "SetGoState", &LuaGameObject::SetGoState }, { "SetLootState", &LuaGameObject::SetLootState }, // Boolean - { "IsTransport", &LuaGameObject::IsTransport }, // :IsTransport() - // {"IsDestructible", &LuaGameObject::IsDestructible}, // :IsDestructible() - { "IsActive", &LuaGameObject::IsActive }, // :IsActive() - { "HasQuest", &LuaGameObject::HasQuest }, // :HasQuest(questId) - { "IsSpawned", &LuaGameObject::IsSpawned }, // :IsSpawned() + { "IsTransport", &LuaGameObject::IsTransport }, + // {"IsDestructible", &LuaGameObject::IsDestructible}, // :IsDestructible() + { "IsActive", &LuaGameObject::IsActive }, + { "HasQuest", &LuaGameObject::HasQuest }, + { "IsSpawned", &LuaGameObject::IsSpawned }, // Other - { "RegisterEvent", &LuaGameObject::RegisterEvent }, // :RegisterEvent(function, delay, calls) - The timer ticks if this gameobject is visible to someone. The function is called with arguments (eventid, delay, repeats, gameobject) after the time has passed if the gameobject exists. Returns EventId - { "RemoveEventById", &LuaGameObject::RemoveEventById }, // :RemoveEventById(eventID) - Removes a Registered (timed) event by it's ID. - { "RemoveEvents", &LuaGameObject::RemoveEvents }, // :RemoveEvents() - Removes all registered timed events - { "RemoveFromWorld", &LuaGameObject::RemoveFromWorld }, // :RemoveFromWorld(del) - { "UseDoorOrButton", &LuaGameObject::UseDoorOrButton }, // :UseDoorOrButton(delay) - Activates/closes/opens after X delay UNDOCUMENTED - { "Despawn", &LuaGameObject::Despawn }, // :Despawn([delay]) - Despawns the object after delay - { "Respawn", &LuaGameObject::Respawn }, // :Respawn([delay]) - respawns the object after delay - { "SaveToDB", &LuaGameObject::SaveToDB }, // :SaveToDB() - Saves to database + { "RegisterEvent", &LuaGameObject::RegisterEvent }, + { "RemoveEventById", &LuaGameObject::RemoveEventById }, + { "RemoveEvents", &LuaGameObject::RemoveEvents }, + { "RemoveFromWorld", &LuaGameObject::RemoveFromWorld }, + { "UseDoorOrButton", &LuaGameObject::UseDoorOrButton }, + { "Despawn", &LuaGameObject::Despawn }, + { "Respawn", &LuaGameObject::Respawn }, + { "SaveToDB", &LuaGameObject::SaveToDB }, { NULL, NULL }, };