public override void OnInspectorGUI() { serializedObject.Update(); EditorGUILayout.Space(); EditorGUILayout.BeginVertical(GUI.skin.box); EditorGUILayout.LabelField("Change Color Settings", EditorStyles.boldLabel); EditorGUILayout.Space(); SerializedProperty changeModeProperty = serializedObject.FindProperty("changeMode"); EditorGUILayout.PropertyField(changeModeProperty); ChangeSpriteColor.CHANGE_MODE changeMode = (ChangeSpriteColor.CHANGE_MODE)changeModeProperty.intValue; if (changeMode == ChangeSpriteColor.CHANGE_MODE.CUSTOM) { SerializedProperty customProperty = serializedObject.FindProperty("customColor"); EditorGUILayout.PropertyField(customProperty); } EditorGUILayout.EndVertical(); serializedObject.ApplyModifiedProperties(); EditorGUILayout.Space(); if (changeMode == ChangeSpriteColor.CHANGE_MODE.RANDOM) { EditorGUILayout.HelpBox("Color Will Be Randomize. Be Carefull.", MessageType.Info); } if (GUILayout.Button("Change Color")) { ChangeSpriteColor changeColorScript = target as ChangeSpriteColor; switch (changeMode) { case ChangeSpriteColor.CHANGE_MODE.RANDOM: Color randoColor = new Color(); randoColor.r = Random.Range(0f, 1f); randoColor.g = Random.Range(0f, 1f); randoColor.b = Random.Range(0f, 1f); randoColor.a = 1f; changeColorScript.GetComponent <SpriteRenderer>().color = randoColor; break; case ChangeSpriteColor.CHANGE_MODE.CUSTOM: changeColorScript.GetComponent <SpriteRenderer>().color = changeColorScript.customColor; break; } } }
public override void OnInspectorGUI() { serializedObject.Update(); EditorGUILayout.BeginVertical(GUI.skin.box); EditorGUILayout.LabelField("Change Color Settings", EditorStyles.boldLabel); EditorGUILayout.Space(); SerializedProperty changeModeProperty = serializedObject.FindProperty("changeMode"); EditorGUILayout.PropertyField(changeModeProperty); ChangeSpriteColor.ChangeMode changeMode = (ChangeSpriteColor.ChangeMode)changeModeProperty.intValue; if (changeMode == ChangeSpriteColor.ChangeMode.Custom) { SerializedProperty customColorProperty = serializedObject.FindProperty("customColor"); EditorGUILayout.PropertyField(customColorProperty); } EditorGUILayout.EndVertical(); serializedObject.ApplyModifiedProperties(); EditorGUILayout.Space(); if (changeMode == ChangeSpriteColor.ChangeMode.Random) { EditorGUILayout.HelpBox("Color will be randomize. Be careful !", MessageType.Info); EditorGUILayout.Space(); } ChangeSpriteColor changeSpriteColor = target as ChangeSpriteColor; if (!GUILayout.Button("Change Color") || changeSpriteColor == null) { return; } Color color; // Undo.RecordObject(changeSpriteColor, "Change Color"); switch (changeMode) { case ChangeSpriteColor.ChangeMode.Random: color = new Color { r = Random.Range(0f, 1f), g = Random.Range(0f, 1f), b = Random.Range(0f, 1f), a = 1f }; break; case ChangeSpriteColor.ChangeMode.Custom: color = changeSpriteColor.customColor; break; default: color = Color.white; break; } changeSpriteColor.GetComponent <SpriteRenderer>().color = color; }
private void Start() { movementComponent = GetComponent <NewMovement>(); spriteComponent = GetComponentInChildren <ChangeSpriteColor>(); animatorComponent = GetComponentInChildren <Animator>(); }