public override void OnInspectorGUI() { m_object.Update(); DrawDefaultInspector(); _2dxFX_Blur _2dxScript = (_2dxFX_Blur)target; Texture2D icon = Resources.Load("2dxfxinspector") as Texture2D; if (icon) { Rect r; float ih = icon.height; float iw = icon.width; float result = ih / iw; float w = Screen.width; result = result * w; r = GUILayoutUtility.GetRect(ih, result); EditorGUI.DrawTextureTransparent(r, icon); } EditorGUILayout.PropertyField(m_object.FindProperty("ActiveUpdate"), new GUIContent("Active Update", "Active Update, for animation / Animator only")); EditorGUILayout.PropertyField(m_object.FindProperty("ForceMaterial"), new GUIContent("Shared Material", "Use a unique material, reduce drastically the use of draw call")); if (_2dxScript.ForceMaterial == null) { _2dxScript.ActiveChange = true; } else { if (GUILayout.Button("Remove Shared Material")) { _2dxScript.ForceMaterial = null; _2dxScript.ShaderChange = 1; _2dxScript.ActiveChange = true; _2dxScript.CallUpdate(); } EditorGUILayout.PropertyField(m_object.FindProperty("ActiveChange"), new GUIContent("Change Material Property", "Change The Material Property")); } if (_2dxScript.ActiveChange) { EditorGUILayout.BeginVertical("Box"); Texture2D icone = Resources.Load("2dxfx-icon-blur") as Texture2D; EditorGUILayout.PropertyField(m_object.FindProperty("Blur"), new GUIContent("Blur", icone, "Change the size of the blur")); EditorGUILayout.BeginVertical("Box"); icone = Resources.Load("2dxfx-icon-fade") as Texture2D; EditorGUILayout.PropertyField(m_object.FindProperty("_Alpha"), new GUIContent("Fading", icone, "Fade from nothing to showing")); EditorGUILayout.EndVertical(); EditorGUILayout.EndVertical(); } m_object.ApplyModifiedProperties(); }
// Start is called before the first frame update void Start() { _shadow = new GameObject("Shadow"); _shadow.transform.parent = transform; _shadow.transform.localPosition = Offset; _shadow.transform.localRotation = Quaternion.identity; SpriteRenderer renderer = GetComponent <SpriteRenderer>(); SpriteRenderer sr = _shadow.AddComponent <SpriteRenderer>(); sr.sprite = renderer.sprite; sr.material = material; sr.color = Color.black; sr.sortingLayerName = renderer.sortingLayerName; sr.sortingOrder = renderer.sortingOrder - 1; _2dxFX_Blur blur = _shadow.AddComponent <_2dxFX_Blur>(); blur.Blur = 10; blur._Alpha = 0.2f; }