[Quest API] Add Entity Variable Methods to Perl/Lua. (#2609)

* [Quest API] Add Entity Variable Methods to Perl/Lua.

# Perl
- Add `$mob->ClearEntityVariables()`.
- Add `$mob->DeleteEntityVariable(variable_name)`.
- Add `$object->ClearEntityVariables()`.
- Add `$object->DeleteEntityVariable(variable_name)`.

# Lua
- Add `mob:ClearEntityVariables()`.
- Add `mob:DeleteEntityVariable(variable_name)`.
- Add `object:ClearEntityVariables()`.
- Add `object:DeleteEntityVariable(variable_name)`.

# Notes
- Allows operators to clear all entity variables or delete one by name, previously you just had to set to an empty value to clear after being set.

* Cleanup.
This commit is contained in:
Alex King
2022-12-04 12:18:27 -05:00
committed by GitHub
parent 5d5c2a4194
commit 7abc084cd1
10 changed files with 126 additions and 4 deletions
+12
View File
@@ -206,6 +206,16 @@ float Perl_Object_GetTiltY(Object* self) // @categories Objects
return self->GetTiltY();
}
bool Perl_Object_ClearEntityVariables(Object* self) // @categories Script Utility
{
return self->ClearEntityVariables();
}
bool Perl_Object_DeleteEntityVariable(Object* self, std::string variable_name) // @categories Script Utility
{
return self->DeleteEntityVariable(variable_name);
}
bool Perl_Object_EntityVariableExists(Object* self, std::string variable_name) // @categories Objects
{
return self->EntityVariableExists(variable_name);
@@ -239,10 +249,12 @@ void perl_register_object()
auto package = perl.new_class<Object>("Object");
package.add_base_class("Entity");
package.add("ClearEntityVariables", &Perl_Object_ClearEntityVariables);
package.add("ClearUser", &Perl_Object_ClearUser);
package.add("Close", &Perl_Object_Close);
package.add("Delete", (void(*)(Object*))&Perl_Object_Delete);
package.add("Delete", (void(*)(Object*, bool))&Perl_Object_Delete);
package.add("DeleteEntityVariable", &Perl_Object_DeleteEntityVariable);
package.add("DeleteItem", &Perl_Object_DeleteItem);
package.add("Depop", &Perl_Object_Depop);
package.add("EntityVariableExists", &Perl_Object_EntityVariableExists);