This would help me next times when there's an Update
Add Events to ShootableWeapon.cs:
Editor Version of ShootableWeaponInspector.cs :
Add Events to ShootableWeapon.cs:
[Tooltip("Unity event that is invoked when the item is Used.")]
[SerializeField] protected UnityEvent m_OnWeaponFiredEvent;
[Tooltip("Unity event that is invoked when the item is Reloaded.")]
[SerializeField] protected UnityEvent m_OnReloadCompleteEventt;
public UnityEvent OnWeaponFiredEvent { get { return m_OnWeaponFiredEvent; } set { m_OnWeaponFiredEvent = value; } }
public UnityEvent OnReloadCompleteEvent { get { return m_OnReloadCompleteEvent; } set { m_OnReloadCompleteEvent = value; } }
Under Fire()
if (m_OnWeaponFiredEvent != null) {
m_OnWeaponFiredEvent.Invoke();
}
Under ItemReloadComplete()
if (m_OnReloadCompleteEvent != null) {
m_OnReloadCompleteEvent.Invoke();
}
Editor Version of ShootableWeaponInspector.cs :
if (Foldout("Events")) {
EditorGUI.indentLevel++;
Shared.Editor.Inspectors.Utility.InspectorUtility.UnityEventPropertyField(PropertyFromName("m_OnWeaponFiredEvent"));
Shared.Editor.Inspectors.Utility.InspectorUtility.UnityEventPropertyField(PropertyFromName("m_OnReloadCompleteEvent"));
EditorGUI.indentLevel--;
}