protected override void SpawnBackend(Entity target)
        {
            if (m_Canvas == null)
            {
                m_Canvas = CanvasUtility.Create(World, 0, "ServerRoom", defaultAddRaycaster: true);
                //CanvasUtility.DisableInteractionOnActivePopup(World, m_Canvas);
            }

            base.SpawnBackend(target);
            var rt = LastBackend.GetComponent <RectTransform>();

            rt.SetParent(m_Canvas.transform, false);

            var folder = AddressBuilder.Client()
                         .Interface()
                         .Menu()
                         .Folder("Screens")
                         .Folder("SettingsScreen");

            LastBackend.Data = new SettingsScreenData
            {
                Panels = new []
                {
                    folder.GetAsset("GraphicSettingsPanel"),
                    folder.GetAsset("AudioSettingsPanel")
                }
            };

            CanvasUtility.ExtendRectTransform(rt);
        }
        protected override void SpawnBackend(Entity target)
        {
            if (m_Canvas == null)
            {
                m_Canvas = CanvasUtility.Create(World, 0, "ServerRoom", defaultAddRaycaster: true);
            }

            base.SpawnBackend(target);
            var rt = LastBackend.GetComponent <RectTransform>();

            rt.SetParent(m_Canvas.transform, false);

            CanvasUtility.ExtendRectTransform(rt);
        }
        protected override void SpawnBackend(Entity target)
        {
            base.SpawnBackend(target);

            var rt = LastBackend.GetComponent <RectTransform>();

            CanvasUtility.ExtendRectTransform(rt);

            var layout = LastBackend.GetComponent <LayoutElement>();

            layout.preferredHeight = 60;
            layout.minWidth        = 125;
            layout.minHeight       = 60;
            layout.flexibleWidth   = 1;
        }
        protected override void OnCreate()
        {
            base.OnCreate();
            EntityManager.CreateEntity(typeof(MenuData));

            m_Canvas = CanvasUtility.Create(World, -1, "Background Canvas");
            var bgGo = new GameObject("BackgroundQuad", typeof(RectTransform), typeof(CanvasRenderer), typeof(Image));

            bgGo.transform.SetParent(m_Canvas.transform, false);

            m_QuadBackground = bgGo.GetComponent <Image>();
            CanvasUtility.ExtendRectTransform(m_QuadBackground.GetComponent <RectTransform>());

            SetBackgroundCanvasColor(Color.clear);
        }
        protected override void SpawnBackend(Entity target)
        {
            if (m_Canvas == null)
            {
                // todo: order
                // todo: should we attach it to the Barracks interface canvas?
                m_Canvas = CanvasUtility.Create(World, 0, "UnitOverview", scalerMatchWidthOrHeight: 0.5f);
            }

            base.SpawnBackend(target);

            LastBackend.transform.SetParent(m_Canvas.transform, false);
            LastBackend.Data = new UnitOverviewData()
            {
                TargetUnitEntity = GetComponent <CurrentUnitOverview>(target).Target
            };

            CanvasUtility.ExtendRectTransform(LastBackend.GetComponent <RectTransform>());
        }