Ejemplo n.º 1
0
    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;
    }
Ejemplo n.º 3
0
 private void Start()
 {
     movementComponent = GetComponent <NewMovement>();
     spriteComponent   = GetComponentInChildren <ChangeSpriteColor>();
     animatorComponent = GetComponentInChildren <Animator>();
 }