Exemplo n.º 1
0
        void OnGUI()
        {
            EditorGUILayout.BeginHorizontal();
            EditorGUILayout.HelpBox("Create a voxel prefab from a 2D texture.", MessageType.Info);
            EditorGUILayout.EndHorizontal();
            EditorGUILayout.Separator();

            EditorGUILayout.BeginHorizontal();
            EditorGUILayout.LabelField("Texture", GUILayout.Width(120));
            EditorGUI.BeginChangeCheck();
            texture = (Texture2D)EditorGUILayout.ObjectField(texture, typeof(Texture2D), false);
            if (EditorGUI.EndChangeCheck())
            {
                if (texture != null)
                {
                    VoxelPlayEditorCommons.CheckImportSettings(texture, true);
                }
            }
            EditorGUILayout.EndHorizontal();

            EditorGUILayout.BeginHorizontal();
            EditorGUILayout.LabelField(new GUIContent("Size", "Size of the resulting prefab."), GUILayout.Width(120));
            size = EditorGUILayout.Vector3Field("", size);
            EditorGUILayout.EndHorizontal();

            EditorGUILayout.Separator();
            GUI.enabled = texture != null;
            EditorGUILayout.BeginHorizontal();
            if (GUILayout.Button("Generate Prefab"))
            {
                GeneratePrefab();
                GUIUtility.ExitGUI();
            }
            if (GUILayout.Button("Generate Item Definition"))
            {
                GenerateItemDefinitionAsset();
                GUIUtility.ExitGUI();
            }
            GUI.enabled = false;
            EditorGUILayout.EndHorizontal();
        }
Exemplo n.º 2
0
        void TextureField(SerializedProperty texture, string label = null, string tooltip = null)
        {
            EditorGUI.BeginChangeCheck();
            if (label != null)
            {
                EditorGUILayout.PropertyField(texture, new GUIContent(label, tooltip));
            }
            else
            {
                EditorGUILayout.PropertyField(texture);
            }

            if (EditorGUI.EndChangeCheck())
            {
                if (texture.objectReferenceValue != null)
                {
                    Texture textureAsset = (Texture)texture.objectReferenceValue;
                    VoxelPlayEditorCommons.CheckImportSettings(textureAsset);
                }
            }
        }