예제 #1
0
        public void Trigger(ITrigger trigger, OctProjectorMesh mesh, List <MeshOcTreeNode> nodeList, MeshOcTreeTriggerHandle handle)
        {
            if (handle == null)
            {
                return;
            }
            for (int i = 0; i < m_ChildNodes.Length; i++)
            {
                if (m_ChildNodes[i] > 0)
                {
                    nodeList[m_ChildNodes[i]].Trigger(trigger, mesh, nodeList, handle);
                }
            }

            if (trigger.IsDetected(this.bounds))
            {
                for (int i = 0; i < m_ItemList.Count; i++)
                {
                    if (trigger.IsDetected(m_ItemList[i].bounds))
                    {
                        handle(mesh, m_ItemList[i]);
                    }
                }
            }
        }