public static EntityUpdate Get(ISceneEntity entity, PrimUpdateFlags flags, bool sendfam, bool sendobj)
        {
            lock (m_poollock)
            {
                if (m_poolPtr >= 0)
                {
                    EntityUpdate eu = m_pool[m_poolPtr];
                    m_pool[m_poolPtr] = null;
                    m_poolPtr--;
                    //if (m_min > m_poolPtr)
                    //    m_min = m_poolPtr;
                    eu.Entity = entity;
                    eu.Flags  = flags;
                    ObjectPropertyUpdateFlags tmp = 0;
                    if (sendfam)
                    {
                        tmp |= ObjectPropertyUpdateFlags.Family;
                    }

                    if (sendobj)
                    {
                        tmp |= ObjectPropertyUpdateFlags.Object;
                    }

                    eu.PropsFlags = tmp;
                    return(eu);
                }
            }
            return(new EntityUpdate(entity, flags, sendfam, sendobj));
        }
        public void UpdateFromNew(EntityUpdate newupdate, int pqueue)
        {
            m_propsFlags |= newupdate.PropsFlags;
            PrimUpdateFlags newFlags = newupdate.Flags;

            if ((newFlags & PrimUpdateFlags.UpdateProbe) != 0)
            {
                m_flags &= ~PrimUpdateFlags.UpdateProbe;
            }

            if ((newFlags & PrimUpdateFlags.CancelKill) != 0)
            {
                if ((newFlags & PrimUpdateFlags.UpdateProbe) != 0)
                {
                    m_flags = PrimUpdateFlags.UpdateProbe;
                }
                else
                {
                    newFlags = PrimUpdateFlags.FullUpdatewithAnim;
                }
            }
            else
            {
                m_flags |= newFlags;
            }

            PriorityQueue = pqueue;
        }
        public EntityUpdate(ISceneEntity entity, PrimUpdateFlags flags, bool sendfam, bool sendobj)
        {
            m_entity = entity;
            m_flags  = flags;

            if (sendfam)
            {
                m_propsFlags |= ObjectPropertyUpdateFlags.Family;
            }

            if (sendobj)
            {
                m_propsFlags |= ObjectPropertyUpdateFlags.Object;
            }
        }