Files
Webcam/include/engine/scene3d/scene_trigger.cpp

30 lines
899 B
C++

/* -----------------------------------------------------------------------------
GSFramework
Copyright 2001-2013 Emmanuel Julien. All Rights Reserved.
----------------------------------------------------------------------------- */
#include "scene3d/scene.h"
#include "scene3d/mtrigger.h"
using namespace GS::S3D;
//------------------------------------------------------------------------------
void Scene::UpdateTriggers()
{
ListForeachPtr(MTrigger *, t, trigger_list)
if (t->isActive())
{
t->ReadyItemList();
ArrayListForeachPtr(MItem *, i, active_list)
if (i->mitem_flags.IsSet(MItem::Flag_TriggerDetected)) // TODO make a dedicated list.
if (i->isActive() && t->IsInside(i->GetBaseItem()->GetMatrix().GetRow(3)))
t->MarkItem(i->GetBaseItem());
t->PurgeItemList();
}
}
//------------------------------------------------------------------------------