Example #1
0
        //---------------------------------------------

        // 各派生クラスでの初期化処理を行う(メニューまたは AddView から生成される場合のみ実行れる)
        override protected void OnBuild(string option = "")
        {
            Toggle toggle = _toggle;

            if (toggle == null)
            {
                toggle = gameObject.AddComponent <Toggle>();
            }
            if (toggle == null)
            {
                // 異常
                return;
            }

            //-------------------------

            Vector2 tSize = GetCanvasSize();

            if (tSize.x > 0 && tSize.y > 0)
            {
                SetSize(tSize.y * 0.25f, tSize.y * 0.05f);
            }

            // Background
            background = AddView <UIImage>("Background");
            background.SetAnchorToLeftMiddle();
            background.SetPosition(_h * 0.5f, 0);
            background.SetSize(_h, _h);
            background.sprite     = Resources.Load <Sprite>("uGUIHelper/Textures/UIDefaultFrame");
            background.type       = Image.Type.Sliced;
            background.fillCenter = true;

            background.raycastTarget = true;                    // 必須

            if (isCanvasOverlay == true)
            {
                background.material = Resources.Load <Material>("uGUIHelper/Shaders/UI-Overlay-Default");
            }

            toggle.targetGraphic = background._image;

            // Checkmark
            checkmark = background.AddView <UIImage>("Checkmark");
            checkmark.SetAnchorToCenter();
            checkmark.SetSize(_h, _h);
            checkmark.sprite = Resources.Load <Sprite>("uGUIHelper/Textures/UIDefaultCheck");

            if (isCanvasOverlay == true)
            {
                checkmark.material = Resources.Load <Material>("uGUIHelper/Shaders/UI-Overlay-Default");
            }

            toggle.graphic = checkmark._image;

            // Label
            label = AddView <UIText>("Label");
            label.SetAnchorToLeftMiddle();
            label.SetPosition(_h * 1.2f, 0);
            label.SetPivot(0, 0.5f);
            //		label.text = "Toggle" ;
            label.fontSize = ( int )(_h * 0.75f);

            if (isCanvasOverlay == true)
            {
                label.material = Resources.Load <Material>("uGUIHelper/Shaders/UI-Overlay-Default");
            }

            //----------------------------------------

            // 親にグループがアタッチされていればグループとみなす
            ToggleGroup toggleGroup = GetComponentInParent <ToggleGroup>();

            if (toggleGroup != null)
            {
                toggle.group = toggleGroup;
            }

            //----------------------------------------

            ResetRectTransform();
        }