//----- method ----- protected override void AddGraphicComponentOnInit() { dicingImage = gameObject.AddComponent <DicingImage>(); }
//----- property ----- //----- method ----- public override void OnInspectorGUI() { instance = target as DicingImage; EditorGUILayout.Separator(); EditorGUI.BeginChangeCheck(); var dicingTexture = EditorLayoutTools.ObjectField("DicingTexture", instance.DicingTexture, false); if (EditorGUI.EndChangeCheck()) { UnityEditorUtility.RegisterUndo("DicingImageInspector-Undo", instance); instance.DicingTexture = dicingTexture; } // Color. EditorGUI.BeginChangeCheck(); var color = EditorGUILayout.ColorField("Color", instance.Color, GUILayout.Height(18f)); if (EditorGUI.EndChangeCheck()) { UnityEditorUtility.RegisterUndo("DicingImageInspector-Undo", instance); instance.Color = color; } // Material. EditorGUI.BeginChangeCheck(); var material = instance.Material.name == "Default UI Material" ? null : instance.Material; material = EditorLayoutTools.ObjectField("Material", material, false, GUILayout.Height(18f)); if (EditorGUI.EndChangeCheck()) { UnityEditorUtility.RegisterUndo("DicingImageInspector-Undo", instance); instance.Material = material; } // RaycastTarget. EditorGUI.BeginChangeCheck(); var raycastTarget = EditorGUILayout.Toggle("RaycastTarget", instance.RaycastTarget); if (EditorGUI.EndChangeCheck()) { UnityEditorUtility.RegisterUndo("DicingImageInspector-Undo", instance); instance.RaycastTarget = raycastTarget; } // CrossFade. EditorGUI.BeginChangeCheck(); var crossFade = EditorGUILayout.Toggle("CrossFade", instance.CrossFade, GUILayout.Height(18f)); if (EditorGUI.EndChangeCheck()) { UnityEditorUtility.RegisterUndo("DicingImageInspector-Undo", instance); instance.CrossFade = crossFade; } if (instance.CrossFade) { EditorGUI.BeginChangeCheck(); var crossFadeTime = EditorGUILayout.FloatField("FadeTime", instance.CrossFadeTime, GUILayout.Height(18f)); if (EditorGUI.EndChangeCheck()) { UnityEditorUtility.RegisterUndo("DicingImageInspector-Undo", instance); instance.CrossFadeTime = crossFadeTime; } } GUILayout.Space(2f); if (instance.DicingTexture != null) { using (new EditorGUILayout.HorizontalScope()) { if (EditorLayoutTools.DrawPrefixButton("Sprite")) { Action <string> onSelection = x => { instance.PatternName = x; EditorUtility.SetDirty(instance); InternalEditorUtility.RepaintAllViews(); }; var selection = instance.Current != null ? instance.Current.textureName : null; DicingSpriteSelector.Show(instance.DicingTexture, selection, onSelection, null); } if (instance.Current != null) { EditorGUILayout.SelectableLabel(instance.Current.textureName, new GUIStyle("TextArea"), GUILayout.Height(18f)); } } GUILayout.Space(5f); if (instance.Current != null) { using (new EditorGUILayout.HorizontalScope()) { GUILayout.Space(EditorGUIUtility.labelWidth); if (GUILayout.Button("SetNativeSize")) { instance.SetNativeSize(); } } } } }