public override void OnInspectorGUI() { m_object.Update(); DrawDefaultInspector(); _2dxFX_AL_Smoke _2dxScript = (_2dxFX_AL_Smoke)target; Texture2D icon = Resources.Load("2dxfxinspector-al") 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.LabelField("Advanced Lightning may work on mobile high-end devices and may be slower than the Standard 2DxFX effects due to is lightning system. Use it only if you need it.", EditorStyles.helpBox); EditorGUILayout.PropertyField(m_object.FindProperty("AddShadow"), new GUIContent("Add Shadow", "Use a unique material, reduce drastically the use of draw call")); if (_2dxScript.AddShadow) { EditorGUILayout.PropertyField(m_object.FindProperty("ReceivedShadow"), new GUIContent("Received Shadow : No Transparency and Use Z Buffering instead of Sprite Order Layers", "Received Shadow, No Transparency and Use Z Buffering instead of Sprite Order Layers")); if (_2dxScript.ReceivedShadow) { EditorGUILayout.LabelField("Note 1: Blend Fusion work but without transparency\n", EditorStyles.helpBox); } } // Mode Blend string BlendMethode = "Normal"; if (_2dxScript.BlendMode == 0) { BlendMethode = "Normal"; } if (_2dxScript.BlendMode == 1) { BlendMethode = "Additive"; } if (_2dxScript.BlendMode == 2) { BlendMethode = "Darken"; } if (_2dxScript.BlendMode == 3) { BlendMethode = "Lighten"; } if (_2dxScript.BlendMode == 4) { BlendMethode = "Linear Burn"; } if (_2dxScript.BlendMode == 5) { BlendMethode = "Linear Dodge"; } if (_2dxScript.BlendMode == 6) { BlendMethode = "Multiply"; } if (_2dxScript.BlendMode == 7) { BlendMethode = "Soft Aditive"; } if (_2dxScript.BlendMode == 8) { BlendMethode = "2x Multiplicative"; } 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-brightness") as Texture2D; EditorGUILayout.PropertyField(m_object.FindProperty("_TurnToSmoke"), new GUIContent("Turn To Smoke", icone, "Turn To Smoke Value")); EditorGUILayout.PropertyField(m_object.FindProperty("_Color1"), new GUIContent("Smoke Color", icone, "Select the color of the Smoke")); EditorGUILayout.PropertyField(m_object.FindProperty("_Color2"), new GUIContent("Smoke Color 2", icone, "Select the color of the Smoke")); 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(); EditorGUILayout.BeginVertical("Box"); EditorGUILayout.LabelField("Change Blend Fusion = " + BlendMethode, EditorStyles.whiteLargeLabel); if (_2dxScript.ReceivedShadow) { EditorGUILayout.LabelField("Note: Blend Fusion is not working correctly with Received Shadow", EditorStyles.helpBox); } EditorGUILayout.BeginHorizontal("Box"); if (GUILayout.Button("Normal", EditorStyles.toolbarButton)) { _2dxScript.BlendMode = 0; _2dxScript.CallUpdate(); } if (GUILayout.Button("Additive", EditorStyles.toolbarButton)) { _2dxScript.BlendMode = 1; _2dxScript.CallUpdate(); } if (GUILayout.Button("Darken", EditorStyles.toolbarButton)) { _2dxScript.BlendMode = 2; _2dxScript.CallUpdate(); } if (GUILayout.Button("Lighten", EditorStyles.toolbarButton)) { _2dxScript.BlendMode = 3; _2dxScript.CallUpdate(); } if (GUILayout.Button("Linear Burn", EditorStyles.toolbarButton)) { _2dxScript.BlendMode = 4; _2dxScript.CallUpdate(); } EditorGUILayout.EndHorizontal(); EditorGUILayout.BeginHorizontal("Box"); if (GUILayout.Button("Linear Dodge", EditorStyles.toolbarButton)) { _2dxScript.BlendMode = 5; _2dxScript.CallUpdate(); } if (GUILayout.Button("Multiply", EditorStyles.toolbarButton)) { _2dxScript.BlendMode = 6; _2dxScript.CallUpdate(); } if (GUILayout.Button("Soft Aditive", EditorStyles.toolbarButton)) { _2dxScript.BlendMode = 7; _2dxScript.CallUpdate(); } if (GUILayout.Button("2x Multiplicative", EditorStyles.toolbarButton)) { _2dxScript.BlendMode = 8; _2dxScript.CallUpdate(); } EditorGUILayout.EndHorizontal(); EditorGUILayout.EndVertical(); } m_object.ApplyModifiedProperties(); }
void Awake() { _smokeEffect = GetComponent <_2dxFX_AL_Smoke>(); StartCoroutine("turnToSmoke"); }