void LoadVariables() { defaultFont = Resources.GetBuiltinResource(typeof(Font), "Arial.ttf") as Font; style = EditorStyles.radioButton; images = new List <Image> (); allObjects = new List <GameObject> (); predicates = new Dictionary <int, bool> (); fonts = new Dictionary <Font, List <Text> > (); texts = new List <Text> (); spriteRenders = new List <SpriteRenderer> (); icon = new GUILayoutOption[] { GUILayout.Width(20), GUILayout.MaxWidth(20), GUILayout.MinWidth(20), GUILayout.ExpandWidth(false), GUILayout.Height(20) }; toolbar = new GUIContent [] { new GUIContent { image = EaEditorExtension.GetUnityTexture <Image>() }, new GUIContent { image = EaEditorExtension.GetUnityTexture <Font>() }, new GUIContent { image = EaEditorExtension.GetUnityTexture <Text>() }, new GUIContent { image = EaEditorExtension.GetUnityTexture <SpriteRenderer>() }, }; }
void DrawSprites() { Action <SpriteRenderer> spriteRenderDraw = spriteRender => { bool togged = Toggle(spriteRender); DrawButton(togged ? "-" : "+", () => predicates[hashCode(spriteRender)] = !togged); spriteRender.name = EditorGUILayout.TextField(spriteRender.name); spriteRender.color = EditorGUILayout.ColorField(spriteRender.color); spriteRender.material = EaEditorExtension.ObjectField <Material>(spriteRender.sharedMaterial); EditorGUILayout.EndHorizontal(); EditorGUILayout.BeginHorizontal(); if (togged) { EditorGUILayout.BeginVertical(); //----------->>>>>>draw sorting layer spriteRender.sprite = (Sprite)EditorGUILayout.ObjectField("Source Image", spriteRender.sprite, typeof(Sprite), false, GUILayout.MaxWidth(enumWidth), GUILayout.MaxHeight(15)); EditorGUILayout.BeginHorizontal(); EditorGUILayout.LabelField("Flip", GUILayout.MaxWidth(145)); // EditorGUILayout.BeginHorizontal(); spriteRender.flipX = EditorGUILayout.Toggle(spriteRender.flipX, GUILayout.MaxWidth(10)); EditorGUILayout.LabelField("X", GUILayout.MaxWidth(10)); spriteRender.flipY = EditorGUILayout.Toggle(spriteRender.flipY, GUILayout.MaxWidth(10)); EditorGUILayout.LabelField("Y"); // EditorGUILayout.EndHorizontal(); EditorGUILayout.EndHorizontal(); { var EaLayer = (EaSortingLayer)Enum.Parse(typeof(EaSortingLayer), spriteRender.sortingLayerName); spriteRender.drawMode = (SpriteDrawMode)EditorGUILayout.EnumPopup("Draw Mode", spriteRender.drawMode, GUILayout.MaxWidth(enumWidth)); spriteRender.sortingLayerName = Enum.GetName(typeof(EaSortingLayer), EditorGUILayout.EnumPopup("Sorting Layer", EaLayer, GUILayout.MaxWidth(enumWidth))); } spriteRender.sortingOrder = EditorGUILayout.IntField("Order in Layer", spriteRender.sortingOrder, GUILayout.MaxWidth(enumWidth)); spriteRender.maskInteraction = (SpriteMaskInteraction)EditorGUILayout.EnumPopup("Mask Interaction", spriteRender.maskInteraction, GUILayout.MaxWidth(enumWidth)); EditorGUILayout.EndVertical(); spriteRender.sprite = (Sprite)EditorGUILayout.ObjectField(spriteRender.sprite, typeof(Sprite), false, GUILayout.MaxWidth(enumWidth), GUILayout.MaxHeight(100)); } }; DrawSelection(spriteRenderId, ref spriteRenders, spriteRenderDraw); }