using UnityEditor;
|
|
namespace ActionGameFramework.Projectiles.Editor
|
{
|
[CustomEditor(typeof(BallisticProjectile))]
|
public class BallisticProjectileEditor : UnityEditor.Editor
|
{
|
protected SerializedProperty m_FireModeSelector;
|
protected SerializedProperty m_StartSpeedSelector;
|
protected SerializedProperty m_StartAngleSelector;
|
protected SerializedProperty m_ArcPreferenceSelector;
|
|
public override void OnInspectorGUI()
|
{
|
serializedObject.Update();
|
|
EditorGUILayout.PropertyField(m_ArcPreferenceSelector);
|
|
EditorGUILayout.LabelField("Choose whether FireAtPoint is calculated based on set angle or set velocity.");
|
EditorGUILayout.PropertyField(m_FireModeSelector);
|
|
if (m_FireModeSelector.enumValueIndex == (int) BallisticFireMode.UseLaunchSpeed)
|
{
|
EditorGUILayout.PropertyField(m_StartSpeedSelector);
|
}
|
else
|
{
|
EditorGUILayout.PropertyField(m_StartAngleSelector);
|
}
|
|
serializedObject.ApplyModifiedProperties();
|
}
|
|
void OnEnable()
|
{
|
m_FireModeSelector = serializedObject.FindProperty("fireMode");
|
m_StartAngleSelector = serializedObject.FindProperty("firingAngle");
|
m_StartSpeedSelector = serializedObject.FindProperty("startSpeed");
|
m_ArcPreferenceSelector = serializedObject.FindProperty("arcPreference");
|
}
|
}
|
}
|