Exemple #1
0
 public void RemoveObject(CAnimationObject _object, QNode _node)
 {
     if (_node.GetChildNode(1) == null)
     {
         _node.RemoveObject(_object);
     }
     else
     {
         RemoveObject(_object, _node.GetChildNode(1));
         RemoveObject(_object, _node.GetChildNode(2));
         RemoveObject(_object, _node.GetChildNode(3));
         RemoveObject(_object, _node.GetChildNode(4));
     }
 }
Exemple #2
0
        public void InsertListObjectView(Rectangle viewport, QNode node)
        {
            int i = 0;
            int j = 0;

            if (m_RootNode == node)
            {
                if (m_ListObjectsInView.Count > 0)
                {
                    m_ListObjectsInView.Clear();
                }
            }

            if (node.GetChildNode(1) == null)        // NẾU TRỞ THÀNH NODE LÁ
            {
                if (node.Bound.Intersects(viewport)) // VA CHẠM VỚI NODE
                {
                    for (i = 0; i < node.GetListObjects().Count; ++i)
                    {
                        for (j = 0; j < m_RootNode.GetListObjects().Count; ++j)
                        {
                            if (node.GetListObjects()[i] == m_RootNode.GetListObjects()[j])
                            {
                                break;
                            }
                        }

                        if (j == m_RootNode.GetListObjects().Count)
                        {
                            m_ListObjectsInView.Add(node.GetListObjects()[i]);
                        }
                    }
                }
            }
            else
            {
                if (node.GetChildNode(1).Bound.Intersects(viewport))
                {
                    InsertListObjectView(viewport, node.GetChildNode(1));
                }
                if (node.GetChildNode(2).Bound.Intersects(viewport))
                {
                    InsertListObjectView(viewport, node.GetChildNode(2));
                }
                if (node.GetChildNode(3).Bound.Intersects(viewport))
                {
                    InsertListObjectView(viewport, node.GetChildNode(3));
                }
                if (node.GetChildNode(4).Bound.Intersects(viewport))
                {
                    InsertListObjectView(viewport, node.GetChildNode(4));
                }
            }
        }
        public void InsertListObjectView(Rectangle viewport, QNode node)
        {
            int i = 0;
            int j = 0;

            if (m_RootNode == node)
            {
                if (m_ListObjectsInView.Count > 0)
                    m_ListObjectsInView.Clear();
            }

            if (node.GetChildNode(1) == null) // NẾU TRỞ THÀNH NODE LÁ
            {
                if (node.Bound.Intersects(viewport)) // VA CHẠM VỚI NODE
                {
                    for (i = 0; i < node.GetListObjects().Count; ++i)
                    {
                        for (j = 0; j < m_RootNode.GetListObjects().Count; ++j)
                        {
                            if (node.GetListObjects()[i] == m_RootNode.GetListObjects()[j])
                                break;
                        }

                        if (j == m_RootNode.GetListObjects().Count)
                        {
                            m_ListObjectsInView.Add(node.GetListObjects()[i]);
                        }
                    }
                }
            }
            else
            {
                if (node.GetChildNode(1).Bound.Intersects(viewport))
                {
                    InsertListObjectView(viewport, node.GetChildNode(1));
                }
                if (node.GetChildNode(2).Bound.Intersects(viewport))
                {
                    InsertListObjectView(viewport, node.GetChildNode(2));
                }
                if (node.GetChildNode(3).Bound.Intersects(viewport))
                {
                    InsertListObjectView(viewport, node.GetChildNode(3));
                }
                if (node.GetChildNode(4).Bound.Intersects(viewport))
                {
                    InsertListObjectView(viewport, node.GetChildNode(4));
                }
            }
        }
 public void RemoveObject(CAnimationObject _object, QNode _node)
 {
     if (_node.GetChildNode(1) == null)
     {
         _node.RemoveObject(_object);
     }
     else
     {
         RemoveObject(_object, _node.GetChildNode(1));
         RemoveObject(_object, _node.GetChildNode(2));
         RemoveObject(_object, _node.GetChildNode(3));
         RemoveObject(_object, _node.GetChildNode(4));
     }
 }