Exemple #1
0
    public override void OnInspectorGUI()
    {
        SwordWhip script = (SwordWhip)target;

        parts = EditorGUILayout.Foldout(parts, "Sword Objects");
        if (parts)
        {
            EditorGUILayout.BeginHorizontal();
            GUILayout.Label("Hilt");
            script.hilt = (GameObject)EditorGUILayout.ObjectField(script.hilt, typeof(GameObject), false);
            EditorGUILayout.EndHorizontal();

            EditorGUILayout.BeginHorizontal();
            GUILayout.Label("Segment");
            script.segment = (GameObject)EditorGUILayout.ObjectField(script.segment, typeof(GameObject), false);
            EditorGUILayout.EndHorizontal();

            EditorGUILayout.BeginHorizontal();
            GUILayout.Label("Tip");
            script.tip = (GameObject)EditorGUILayout.ObjectField(script.tip, typeof(GameObject), false);
            EditorGUILayout.EndHorizontal();
        }

        variables = EditorGUILayout.Foldout(variables, "Sword Variables");
        if (variables)
        {
            script.segments       = EditorGUILayout.IntField("Segments", ((script.segments >= 0) ? script.segments : 0));
            script.open           = EditorGUILayout.Toggle("Starts Open", script.open);
            script.jointClosedPos = EditorGUILayout.Vector3Field("Closed Position", script.jointClosedPos);
            script.time           = Mathf.Abs(EditorGUILayout.FloatField("Animation Time", script.time));
        }


        audio = EditorGUILayout.Foldout(audio, "Audio Variables");
        if (audio)
        {
            EditorGUILayout.BeginHorizontal();
            GUILayout.Label("Sword Action Audio Source");
            script.swordAudioSource = (AudioSource)EditorGUILayout.ObjectField(script.swordAudioSource, typeof(AudioSource), true);
            EditorGUILayout.EndHorizontal();

            EditorGUILayout.BeginHorizontal();
            GUILayout.Label("Sword Ambient Audio Source");
            script.swordAmbientAudioSource = (AudioSource)EditorGUILayout.ObjectField(script.swordAmbientAudioSource, typeof(AudioSource), true);
            EditorGUILayout.EndHorizontal();

            EditorGUILayout.BeginHorizontal();
            GUILayout.Label("Sword Swing Audio Source");
            script.swordSwingAudioSource = (AudioSource)EditorGUILayout.ObjectField(script.swordSwingAudioSource, typeof(AudioSource), true);
            EditorGUILayout.EndHorizontal();

            // EditorGUILayout.BeginHorizontal();
            // GUILayout.Label("Sword Ambient Audio");
            // script.swordAmbientAudio = (AudioClip)EditorGUILayout.ObjectField(script.swordAmbientAudio, typeof(AudioClip), true);
            // EditorGUILayout.EndHorizontal();

            EditorGUILayout.BeginHorizontal();
            GUILayout.Label("Sword Open");
            script.swordOpenAudio = (AudioClip)EditorGUILayout.ObjectField(script.swordOpenAudio, typeof(AudioClip), true);
            EditorGUILayout.EndHorizontal();

            EditorGUILayout.BeginHorizontal();
            GUILayout.Label("Sword Open Ambient");
            script.swordOpenAmbient = (AudioClip)EditorGUILayout.ObjectField(script.swordOpenAmbient, typeof(AudioClip), true);
            EditorGUILayout.EndHorizontal();

            EditorGUILayout.BeginHorizontal();
            GUILayout.Label("Sword Close");
            script.swordCloseAudio = (AudioClip)EditorGUILayout.ObjectField(script.swordCloseAudio, typeof(AudioClip), true);
            EditorGUILayout.EndHorizontal();

            EditorGUILayout.BeginHorizontal();
            GUILayout.Label("Sword Close Ambient");
            script.swordCloseAmbient = (AudioClip)EditorGUILayout.ObjectField(script.swordCloseAmbient, typeof(AudioClip), true);
            EditorGUILayout.EndHorizontal();

            EditorGUILayout.BeginHorizontal();
            GUILayout.Label("Whip Audio Loop");
            script.whipLoopAudio = (AudioClip)EditorGUILayout.ObjectField(script.whipLoopAudio, typeof(AudioClip), true);
            EditorGUILayout.EndHorizontal();
        }


        if (GUILayout.Button("Create Sword"))
        {
            script.CreateSword();
        }
        if (GUILayout.Button("Toggle State"))
        {
            script.toggleState();
        }
    }