Files
Webcam/include/modules/script_squirrel/legacy/instance_binding.cpp

64 lines
1.7 KiB
C++

/* -----------------------------------------------------------------------------
GSFramework
Copyright 2001-2013 Emmanuel Julien. All Rights Reserved.
----------------------------------------------------------------------------- */
#include "binding_helpers.h"
#include "scene3d/instance.h"
#include "scene3d/group.h"
using namespace GS::S3D;
using namespace GS::Script;
//------------------------------------------------------------------------------
SQInteger InstanceGetItemList(HSQUIRRELVM vm)
{
__SQ_GETSINGLESAFEPTR(instance, Instance, typetag_Instance)
sq_newarray(vm, 0);
if (instance->instance_group)
ListForeachPtr(MItem *, i, instance->instance_group->GetItemList())
{
CObject::Push(vm, (void *)i, typetag_Item);
sq_arrayappend(vm, -2);
}
return 1;
}
SQInteger InstanceGetTemplatePath(HSQUIRRELVM vm)
{
__SQ_GETSINGLESAFEPTR(instance, Instance, typetag_Instance)
__SQ_RETURNSTRING(instance->template_path.c_str())
}
//------------------------------------------------------------------------------
//------------------------------------------------------------------------------
void RegisterInstanceBinding(HSQUIRRELVM vm)
{
/*#
Topic: Instance
Type: Instance
#*/
/*#
Section: InstanceGeneric
Desc: Generic functions
#*/
/*#
Func: InstanceGetItemList
Proto: array:Instance
Desc: Return instance item list. Note: The instance must have been instantiate to return any item.
#*/
sq_register(vm, InstanceGetItemList, "InstanceGetItemList", _SC(".x"));
/*#
Func: InstanceGetTemplatePath
Proto: string:Instance
Desc: Return instance path
#*/
sq_register(vm, InstanceGetTemplatePath, "InstanceGetTemplatePath", _SC(".x"));
}
//------------------------------------------------------------------------------