private void OnEnable() { script = (bl_WeaponAnimation)target; Gun = script.transform.parent.GetComponent <bl_Gun>(); gType = bl_GameData.Instance.GetWeapon(Gun.GunID).Type; if (script.m_AnimationType == bl_WeaponAnimation.AnimationType.Animator) { _animator = script.GetComponent <Animator>(); } list = new ReorderableList(serializedObject, serializedObject.FindProperty("FireAnimations"), true, true, true, true); list.drawElementCallback = (Rect rect, int index, bool isActive, bool isFocused) => { var element = list.serializedProperty.GetArrayElementAtIndex(index); rect.y += 2; EditorGUI.PropertyField(new Rect(rect.x, rect.y, rect.width, EditorGUIUtility.singleLineHeight), element, GUIContent.none); }; list.drawHeaderCallback = (Rect rect) => { EditorGUI.LabelField(rect, "Fire Animations"); }; }
public override void OnInspectorGUI() { if (script == null) { script = (bl_WeaponAnimation)target; } EditorGUI.BeginChangeCheck(); serializedObject.Update(); allowSceneObjects = !EditorUtility.IsPersistent(script); GUILayout.BeginVertical("box"); GUILayout.BeginVertical("box"); script.m_AnimationType = (bl_WeaponAnimation.AnimationType)EditorGUILayout.EnumPopup("Animation Type", script.m_AnimationType); GUILayout.EndVertical(); if (script.m_AnimationType == bl_WeaponAnimation.AnimationType.Animation) { AnimationGUI(); } else { AnimatorGUI(); } GUILayout.EndVertical(); if (Gun.SoundReloadByAnim && gType != GunType.Knife) { GUILayout.BeginVertical("box"); script.Reload_1 = EditorGUILayout.ObjectField("Clip Out Audio", script.Reload_1, typeof(AudioClip), allowSceneObjects) as AudioClip; script.Reload_2 = EditorGUILayout.ObjectField("Clip In Audio", script.Reload_2, typeof(AudioClip), allowSceneObjects) as AudioClip; script.Reload_3 = EditorGUILayout.ObjectField("Slide Audio", script.Reload_3, typeof(AudioClip), allowSceneObjects) as AudioClip; GUILayout.EndVertical(); } EditorGUI.EndChangeCheck(); if (GUI.changed) { EditorUtility.SetDirty(target); } serializedObject.ApplyModifiedProperties(); }