commit x64 compilation from lulu cause the other branch dont seems to compile properly at home
This commit is contained in:
84
include/modules/script_squirrel/legacy/trigger_binding.cpp
Normal file
84
include/modules/script_squirrel/legacy/trigger_binding.cpp
Normal file
@ -0,0 +1,84 @@
|
||||
/* -----------------------------------------------------------------------------
|
||||
GSFramework
|
||||
Copyright 2001-2013 Emmanuel Julien. All Rights Reserved.
|
||||
----------------------------------------------------------------------------- */
|
||||
|
||||
|
||||
#include "binding_helpers.h"
|
||||
#include "scene3d/mtrigger.h"
|
||||
|
||||
using namespace GS::S3D;
|
||||
using namespace GS::Core;
|
||||
using namespace GS::Script;
|
||||
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
SQInteger TriggerGetItemList(HSQUIRRELVM vm)
|
||||
{
|
||||
__SQ_GETSINGLESAFEPTR(t, MTrigger, typetag_Trigger)
|
||||
sq_newarray(vm, 0);
|
||||
ListForeachPtr(Trigger::ItemInTrigger *, i, t->items_in_trigger)
|
||||
if (i->inside)
|
||||
{
|
||||
CObject::Push(vm, (void *)i, typetag_Item);
|
||||
sq_arrayappend(vm, -2);
|
||||
}
|
||||
return 1;
|
||||
}
|
||||
SQInteger TriggerTestItem(HSQUIRRELVM vm)
|
||||
{
|
||||
__SQ_GETSTART(2)
|
||||
__SQ_GETSAFEPTR(t, MTrigger, typetag_Trigger)
|
||||
__SQ_GETSAFEPTR(i, MItem, typetag_Item)
|
||||
__SQ_GETEND
|
||||
|
||||
ListForeachPtr(Trigger::ItemInTrigger *, _i, t->items_in_trigger)
|
||||
if (_i->inside && (i == (MItem *)_i->item->mitem))
|
||||
__SQ_RETURNBOOL(true)
|
||||
|
||||
__SQ_RETURNBOOL(false)
|
||||
}
|
||||
SQInteger TriggerPosInside(HSQUIRRELVM vm)
|
||||
{
|
||||
__SQ_GETSTART(2)
|
||||
__SQ_GETSAFEPTR(t, MTrigger, typetag_Trigger)
|
||||
__SQ_GETVECTOR(p)
|
||||
__SQ_GETEND
|
||||
|
||||
__SQ_RETURNBOOL(t->IsInside(p))
|
||||
}
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
void RegisterTriggerBinding(HSQUIRRELVM vm)
|
||||
{
|
||||
/*#
|
||||
Topic: Trigger
|
||||
Type: Trigger
|
||||
Related: Item
|
||||
#*/
|
||||
|
||||
/*#
|
||||
Section: TriggerGeneral
|
||||
Desc: Trigger general functions.
|
||||
#*/
|
||||
/*#
|
||||
Func: TriggerGetItemList
|
||||
Proto: array:Item
|
||||
Desc: Return an array of items currently inside this trigger.
|
||||
#*/
|
||||
sq_register(vm, TriggerGetItemList, "TriggerGetItemList", _SC(".x"));
|
||||
/*#
|
||||
Func: TriggerTestItem
|
||||
Proto: bool:Item trigger,Item item
|
||||
Desc: Test if a given item is currently inside this trigger.
|
||||
#*/
|
||||
sq_register(vm, TriggerTestItem, "TriggerTestItem", _SC(".xx"));
|
||||
/*#
|
||||
Func: TriggerPosInside
|
||||
Proto: bool:Item trigger,Vector p
|
||||
Desc: Test if a given p is currently inside this trigger.
|
||||
#*/
|
||||
sq_register(vm, TriggerPosInside, "TriggerPosInside", _SC(".xx"));
|
||||
}
|
||||
//------------------------------------------------------------------------------
|
||||
Reference in New Issue
Block a user