Exemple #1
0
            /* ******************************************************** */
            //! Get Manager-Draw

            /*!
             * @param	InstanceGameObject
             *      GameObject to start the search
             * @retval	Return-Value
             *      Instance of "Script_SpriteStudio_ManagerDraw"<br>
             *      null == Not-Found / Failure
             *
             * Get "Script_SpriteStudio_ManagerDraw" by examining "InstanceGameObject" and parents.
             */
            public static Script_SpriteStudio_ManagerDraw ManagerDrawGetParent(GameObject InstanceGameObject)
            {
                Transform InstanceTransform = InstanceGameObject.transform;
                Script_SpriteStudio_ManagerDraw InstanceManagerDraw = null;

                while (null != InstanceTransform)
                {
                    InstanceManagerDraw = InstanceTransform.gameObject.GetComponent <Script_SpriteStudio_ManagerDraw>();
                    if (null != InstanceManagerDraw)
                    {
                        break;
                    }
                    InstanceTransform = InstanceTransform.parent;
                }
                return(InstanceManagerDraw);
            }
    public override void OnInspectorGUI()
    {
        Script_SpriteStudio_ManagerDraw Data = (Script_SpriteStudio_ManagerDraw)target;

        EditorGUILayout.LabelField("[SpriteStudio Manager-Draw]");
        int LevelIndent = 0;

        EditorGUILayout.Space();
        Data.CameraTarget = EditorGUILayout.ObjectField("Camera", Data.CameraTarget, typeof(Camera), true) as Camera;
        EditorGUILayout.LabelField("- Objects to be drawn (Has \"Script_SpriteStudio_PartsRoot\")");
        EditorGUILayout.LabelField("  are Z-sort based on of this camera.");

        EditorGUILayout.Space();
        FoldOutCameraTarget = EditorGUILayout.Foldout(FoldOutCameraTarget, "\"Camera\" Setting");
        if (true == FoldOutCameraTarget)
        {
            EditorGUI.indentLevel = LevelIndent + 1;

            if (true == GUILayout.Button("Set \"Automatically Finding-Camera\""))
            {
                Data.CameraTarget = null;
            }
            EditorGUILayout.LabelField("- When you press this button, \"View (Camera)\" is set");
            EditorGUILayout.LabelField("  \"automatically scanning parent-GameObjects");
            EditorGUILayout.LabelField("  that have Camera-Component\".");
        }
        EditorGUI.indentLevel = LevelIndent;

        EditorGUILayout.Space();
        FoldOutDrawSetting = EditorGUILayout.Foldout(FoldOutDrawSetting, "Rendering Setting");
        if (true == FoldOutDrawSetting)
        {
            EditorGUI.indentLevel = LevelIndent + 1;

            EditorGUILayout.LabelField("Caution:");
            EditorGUILayout.LabelField("  This setting does not currently effect.");
            EditorGUILayout.LabelField("  Scheduled obsolete function in Ver.1.3.x.");
            EditorGUILayout.Space();

            int   CountKindQueue = (int)Library_SpriteStudio.ManagerDraw.KindDrawQueue.OVERLAY + 1;
            int[] IndexDrawKind  = new int[CountKindQueue];
            for (int i = 0; i < CountKindQueue; i++)
            {
                IndexDrawKind[i] = i;
            }
            int KindRenderQueueBaseNo = (int)Data.KindRenderQueueBase;
            KindRenderQueueBaseNo    = EditorGUILayout.IntPopup("Render-Queue Base", KindRenderQueueBaseNo, NameDrawKind, IndexDrawKind);
            Data.KindRenderQueueBase = (Library_SpriteStudio.ManagerDraw.KindDrawQueue)KindRenderQueueBaseNo;
            EditorGUI.indentLevel    = LevelIndent + 2;
            EditorGUILayout.LabelField("Details [" + NameDrawKind[KindRenderQueueBaseNo] + "]");
            switch ((Library_SpriteStudio.ManagerDraw.KindDrawQueue)KindRenderQueueBaseNo)
            {
            case Library_SpriteStudio.ManagerDraw.KindDrawQueue.SHADER_SETTING:
                EditorGUILayout.LabelField("- Value Base: Defined Tag\"Queue\" in Shader (Default: Transparent)");
                EditorGUILayout.LabelField("- Offset Range: Depend on Tag\"Queue\"(Default: 0-999)");
                break;

            case Library_SpriteStudio.ManagerDraw.KindDrawQueue.USER_SETTING:
                EditorGUILayout.LabelField("- Value Base: 0");
                EditorGUILayout.LabelField("- Offset Range: 1000-4999");
                break;

            default:
                EditorGUILayout.LabelField("- Value Base: " + Library_SpriteStudio.ManagerDraw.ValueKindDrawQueue[KindRenderQueueBaseNo]);
                EditorGUILayout.LabelField("- Offset Range: 0-" + (Library_SpriteStudio.ManagerDraw.ValueKindDrawQueue[KindRenderQueueBaseNo + 1] - Library_SpriteStudio.ManagerDraw.ValueKindDrawQueue[KindRenderQueueBaseNo] - 1));
                break;
            }
            EditorGUI.indentLevel = LevelIndent + 1;

            EditorGUILayout.Space();
            Data.OffsetDrawQueue = EditorGUILayout.IntField("Render-Queue Offset", Data.OffsetDrawQueue);

            EditorGUI.indentLevel = LevelIndent;
        }
        EditorGUILayout.Space();

        if (true == GUI.changed)
        {
            EditorUtility.SetDirty(target);
        }
    }