protected List <UIRect> FindActivityUIRectsWithCanvas()
        {
            if (Canvas == null || !Canvas.IsActivite)
            {
                Canvas = GetRoot() as CanvasUIRect;
            }
            var uirects   = new List <UIRect>();
            int deeporder = 0;

            FindActivityUIRects(uirects, Canvas.UIComponent.transform, null, Canvas.SortOrder, ref deeporder);
            return(uirects);
        }
        public override void SetRoot(Behaviour root)
        {
            Canvas c = root as Canvas;

            if (c == null)
            {
                return;
            }
            UIRect rootui;

            if (UIRectPool.TryGetValue(root.transform.GetInstanceID(), out rootui))
            {
                this.Canvas = rootui as CanvasUIRect;
            }
            else
            {
                this.Canvas = new CanvasUIRect(root);
            }
        }