Exemplo n.º 1
0
        public static void AddRawImage()
        {
            GameObject tGameObject = Selection.activeGameObject;

            if (tGameObject == null)
            {
                return;
            }

            if (WillLosePrefab(tGameObject) == false)
            {
                return;
            }

            Undo.RecordObject(tGameObject, "Add a child UI RawImage");                  // アンドウバッファに登録

            GameObject tChild = new GameObject(GetName <UIRawImage>(), typeof(RectTransform));

            Transform tTransform = tChild.transform;

            tTransform.SetParent(tGameObject.transform, false);
            tTransform.localPosition = Vector3.zero;
            tTransform.localRotation = Quaternion.identity;
            tTransform.localScale    = Vector3.one;

            UIRawImage tRawImage = tChild.AddComponent <UIRawImage>();

            tRawImage.SetDefault();

            Selection.activeGameObject = tChild;

            UnityEditor.SceneManagement.EditorSceneManager.MarkSceneDirty(UnityEditor.SceneManagement.EditorSceneManager.GetActiveScene());
        }
Exemplo n.º 2
0
        private void DeleteRenderTexture()
        {
            if (m_TargetCamera != null)
            {
                m_TargetCamera.targetTexture = null;
            }

            if (m_RenderImage != null)
            {
                m_RenderImage.texture = null;
                DestroyImmediate(m_RenderImage.gameObject);
                m_RenderImage = null;
            }

            if (m_RenderTexture != null)
            {
                DestroyImmediate(m_RenderTexture);
                m_RenderTexture = null;
            }

            if (m_TargetCamera != null)
            {
                m_TargetCamera.clearFlags = CameraClearFlags.Depth;
            }
        }
Exemplo n.º 3
0
        private void ResizeRenderTexture()
        {
            if (m_TargetCamera == null || m_RenderTexture == null || m_RenderImage == null)
            {
                return;
            }

            m_TargetCamera.targetTexture = null;

            m_RenderImage.texture = null;

            DestroyImmediate(m_RenderTexture);
            m_RenderTexture = null;

            if (_w > 0 && _h > 0)
            {
                m_RenderTexture = new RenderTexture(( int )_w, ( int )_h, 24);
                m_RenderTexture.antiAliasing = 2;
                m_RenderTexture.depth        = 24;              // 24以上にしないとステンシルがサポートされない事に注意する
            }
            if (m_RenderTexture == null)
            {
                if (m_RenderImage != null)
                {
                    m_RenderImage.texture = null;
                    DestroyImmediate(m_RenderImage.gameObject);
                    m_RenderImage = null;
                }

                return;
            }

            m_TargetCamera.targetTexture = m_RenderTexture;
            m_RenderImage.texture        = m_RenderTexture;
        }
Exemplo n.º 4
0
        private void CreateRenderTexture()
        {
            if (m_TargetCamera == null)
            {
                return;
            }

            m_TargetCamera.clearFlags = CameraClearFlags.SolidColor;

            if (m_RenderTexture == null && _w > 0 && _h > 0)
            {
                m_RenderTexture = new RenderTexture(( int )_w, ( int )_h, 24);
                m_RenderTexture.antiAliasing = 2;
                m_RenderTexture.depth        = 24;              // 24以上にしないとステンシルがサポートされない事に注意する
            }
            if (m_RenderTexture == null)
            {
                return;
            }

            if (m_RenderImage == null)
            {
                m_RenderImage = AddView <UIRawImage>();
            }
            m_RenderImage.SetAnchorToStretch();

            m_TargetCamera.targetTexture = m_RenderTexture;
            m_RenderImage.texture        = m_RenderTexture;

            m_RenderImage.isMask      = imageMask;
            m_RenderImage.isInversion = imageInversion;
            m_RenderImage.isShadow    = imageShadow;
            m_RenderImage.isOutline   = imageOutline;
            m_RenderImage.isGradient  = imageGradient;
        }
Exemplo n.º 5
0
        override protected void DrawInspectorGUI()
        {
            UIRawImage tTarget = target as UIRawImage;

            EditorGUILayout.Separator();                // 少し区切りスペース

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

            // マテリアル選択
            DrawMaterial(tTarget);

            EditorGUILayout.Separator();                // 少し区切りスペース

            GUILayout.BeginHorizontal();                // 横並び
            {
                bool tAutoCreateDrawableTexture = EditorGUILayout.Toggle(tTarget.autoCreateDrawableTexture, GUILayout.Width(16f));
                if (tAutoCreateDrawableTexture != tTarget.autoCreateDrawableTexture)
                {
                    Undo.RecordObject(tTarget, "UIRawImage : Auto Create DrawableTexture Change");                              // アンドウバッファに登録
                    tTarget.autoCreateDrawableTexture = tAutoCreateDrawableTexture;
                    EditorUtility.SetDirty(tTarget);
                }
                GUILayout.Label("Auto Create Drawable Texture");
            }
            GUILayout.EndHorizontal();                  // 横並び終了

            GUILayout.BeginHorizontal();                // 横並び
            {
                bool tIsFlipVertical = EditorGUILayout.Toggle(tTarget.isFlipVertical, GUILayout.Width(16f));
                if (tIsFlipVertical != tTarget.isFlipVertical)
                {
                    Undo.RecordObject(tTarget, "UIRawImage : Is Flip Vertical Change");                         // アンドウバッファに登録
                    tTarget.isFlipVertical = tIsFlipVertical;
                    EditorUtility.SetDirty(tTarget);
                }
                GUILayout.Label("Is Flip Vertical");
            }
            GUILayout.EndHorizontal();                          // 横並び終了
        }