From 951ec3ccd00bdfab3bf98c53fdd94383ee1e6eca Mon Sep 17 00:00:00 2001 From: Eric Heine <erheine@nps.edu> Date: Tue, 28 Jan 2020 10:12:42 -0800 Subject: [PATCH] Added game event loggers for the four types of basic value game events. --- .../BooleanGameEventLogger.cs | 22 +++++++++++++++++++ .../BooleanGameEventLogger.cs.meta | 13 +++++++++++ .../FloatGameEventLogger.cs | 22 +++++++++++++++++++ .../FloatGameEventLogger.cs.meta | 13 +++++++++++ .../Scriptable Variables/GameEventLogger.cs | 6 ++++- .../IntGameEventLogger.cs | 22 +++++++++++++++++++ .../IntGameEventLogger.cs.meta | 13 +++++++++++ .../StringGameEventLogger.cs | 22 +++++++++++++++++++ .../StringGameEventLogger.cs.meta | 13 +++++++++++ 9 files changed, 145 insertions(+), 1 deletion(-) create mode 100644 Event Logger/Scriptable Variables/BooleanGameEventLogger.cs create mode 100644 Event Logger/Scriptable Variables/BooleanGameEventLogger.cs.meta create mode 100644 Event Logger/Scriptable Variables/FloatGameEventLogger.cs create mode 100644 Event Logger/Scriptable Variables/FloatGameEventLogger.cs.meta create mode 100644 Event Logger/Scriptable Variables/IntGameEventLogger.cs create mode 100644 Event Logger/Scriptable Variables/IntGameEventLogger.cs.meta create mode 100644 Event Logger/Scriptable Variables/StringGameEventLogger.cs create mode 100644 Event Logger/Scriptable Variables/StringGameEventLogger.cs.meta diff --git a/Event Logger/Scriptable Variables/BooleanGameEventLogger.cs b/Event Logger/Scriptable Variables/BooleanGameEventLogger.cs new file mode 100644 index 0000000..2b0ba48 --- /dev/null +++ b/Event Logger/Scriptable Variables/BooleanGameEventLogger.cs @@ -0,0 +1,22 @@ +using UnityEngine; +using Shared.ScriptableVariables; + +namespace Shared.EventLog { + // Logs a boolean game event when it is raised + // Depends on ScriptableVariable package + public class BooleanGameEventLogger : BooleanGameEventListener { + [Tooltip("The event log to add the event trigger log to")] + public EventLog eventLog; + [Tooltip("The custom key to use in the event log (if not set, the key will be the event name itself)")] + public string customKey; + [Tooltip("The custom format of the event value output (if not set, the value will be the ToString() of the value)")] + public string customValueFormat; + + //--------------------------------------------------------------------------- + // Overridden event listening function to add the event to the event log + public override void OnEventRaised(bool value) { + eventLog.Add(string.IsNullOrEmpty(customKey) ? $"{eventToListenTo.name} Triggered" : customKey, !string.IsNullOrEmpty(customValueFormat) ? string.Format(customValueFormat, value) : value.ToString()); + base.OnEventRaised(value); + } + } +} diff --git a/Event Logger/Scriptable Variables/BooleanGameEventLogger.cs.meta b/Event Logger/Scriptable Variables/BooleanGameEventLogger.cs.meta new file mode 100644 index 0000000..e48a86b --- /dev/null +++ b/Event Logger/Scriptable Variables/BooleanGameEventLogger.cs.meta @@ -0,0 +1,13 @@ +fileFormatVersion: 2 +guid: 8e522c9f678eaa648a263ea5e6919776 +timeCreated: 1510685488 +licenseType: Pro +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Event Logger/Scriptable Variables/FloatGameEventLogger.cs b/Event Logger/Scriptable Variables/FloatGameEventLogger.cs new file mode 100644 index 0000000..4269228 --- /dev/null +++ b/Event Logger/Scriptable Variables/FloatGameEventLogger.cs @@ -0,0 +1,22 @@ +using UnityEngine; +using Shared.ScriptableVariables; + +namespace Shared.EventLog { + // Logs a float game event when it is raised + // Depends on ScriptableVariable package + public class FloatGameEventLogger : FloatGameEventListener { + [Tooltip("The event log to add the event trigger log to")] + public EventLog eventLog; + [Tooltip("The custom key to use in the event log (if not set, the key will be the event name itself)")] + public string customKey; + [Tooltip("The custom format of the event value output (if not set, the value will be the ToString() of the value)")] + public string customValueFormat; + + //--------------------------------------------------------------------------- + // Overridden event listening function to add the event to the event log + public override void OnEventRaised(float value) { + eventLog.Add(string.IsNullOrEmpty(customKey) ? $"{eventToListenTo.name} Triggered" : customKey, !string.IsNullOrEmpty(customValueFormat) ? string.Format(customValueFormat, value) : value.ToString()); + base.OnEventRaised(value); + } + } +} diff --git a/Event Logger/Scriptable Variables/FloatGameEventLogger.cs.meta b/Event Logger/Scriptable Variables/FloatGameEventLogger.cs.meta new file mode 100644 index 0000000..ef7469f --- /dev/null +++ b/Event Logger/Scriptable Variables/FloatGameEventLogger.cs.meta @@ -0,0 +1,13 @@ +fileFormatVersion: 2 +guid: 5e790628a507f5d449c58dc70a429127 +timeCreated: 1510685488 +licenseType: Pro +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Event Logger/Scriptable Variables/GameEventLogger.cs b/Event Logger/Scriptable Variables/GameEventLogger.cs index 7274632..2b01361 100644 --- a/Event Logger/Scriptable Variables/GameEventLogger.cs +++ b/Event Logger/Scriptable Variables/GameEventLogger.cs @@ -7,11 +7,15 @@ namespace Shared.EventLog { public class GameEventLogger : GameEventListener { [Tooltip("The event log to add the event trigger log to")] public EventLog eventLog; + [Tooltip("The custom key to use in the event log")] + public string customKey; + [Tooltip("The custom value to use in the event log")] + public string customValue; //--------------------------------------------------------------------------- // Overridden event listening function to add the event to the event log public override void OnEventRaised() { - eventLog.Add(eventToListenTo.name + " Triggered", ""); + eventLog.Add(string.IsNullOrEmpty(customKey) ? $"{eventToListenTo.name} Triggered" : customKey, string.IsNullOrEmpty(customValue) ? "" : customValue); base.OnEventRaised(); } } diff --git a/Event Logger/Scriptable Variables/IntGameEventLogger.cs b/Event Logger/Scriptable Variables/IntGameEventLogger.cs new file mode 100644 index 0000000..2b058fb --- /dev/null +++ b/Event Logger/Scriptable Variables/IntGameEventLogger.cs @@ -0,0 +1,22 @@ +using UnityEngine; +using Shared.ScriptableVariables; + +namespace Shared.EventLog { + // Logs a int game event when it is raised + // Depends on ScriptableVariable package + public class IntGameEventLogger : IntGameEventListener { + [Tooltip("The event log to add the event trigger log to")] + public EventLog eventLog; + [Tooltip("The custom key to use in the event log (if not set, the key will be the event name itself)")] + public string customKey; + [Tooltip("The custom format of the event value output (if not set, the value will be the ToString() of the value)")] + public string customValueFormat; + + //--------------------------------------------------------------------------- + // Overridden event listening function to add the event to the event log + public override void OnEventRaised(int value) { + eventLog.Add(string.IsNullOrEmpty(customKey) ? $"{eventToListenTo.name} Triggered" : customKey, !string.IsNullOrEmpty(customValueFormat) ? string.Format(customValueFormat, value) : value.ToString()); + base.OnEventRaised(value); + } + } +} diff --git a/Event Logger/Scriptable Variables/IntGameEventLogger.cs.meta b/Event Logger/Scriptable Variables/IntGameEventLogger.cs.meta new file mode 100644 index 0000000..9920d97 --- /dev/null +++ b/Event Logger/Scriptable Variables/IntGameEventLogger.cs.meta @@ -0,0 +1,13 @@ +fileFormatVersion: 2 +guid: 21cd7582d990fe44a9d0987067a01d07 +timeCreated: 1510685488 +licenseType: Pro +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Event Logger/Scriptable Variables/StringGameEventLogger.cs b/Event Logger/Scriptable Variables/StringGameEventLogger.cs new file mode 100644 index 0000000..5dccdfc --- /dev/null +++ b/Event Logger/Scriptable Variables/StringGameEventLogger.cs @@ -0,0 +1,22 @@ +using UnityEngine; +using Shared.ScriptableVariables; + +namespace Shared.EventLog { + // Logs a string game event when it is raised + // Depends on ScriptableVariable package + public class StringGameEventLogger : StringGameEventListener { + [Tooltip("The event log to add the event trigger log to")] + public EventLog eventLog; + [Tooltip("The custom key to use in the event log (if not set, the key will be the event name itself)")] + public string customKey; + [Tooltip("The custom format of the event value output (if not set, the value will be the ToString() of the value)")] + public string customValueFormat; + + //--------------------------------------------------------------------------- + // Overridden event listening function to add the event to the event log + public override void OnEventRaised(string value) { + eventLog.Add(string.IsNullOrEmpty(customKey) ? $"{eventToListenTo.name} Triggered" : customKey, !string.IsNullOrEmpty(customValueFormat) ? string.Format(customValueFormat, value) : value); + base.OnEventRaised(value); + } + } +} diff --git a/Event Logger/Scriptable Variables/StringGameEventLogger.cs.meta b/Event Logger/Scriptable Variables/StringGameEventLogger.cs.meta new file mode 100644 index 0000000..f73156c --- /dev/null +++ b/Event Logger/Scriptable Variables/StringGameEventLogger.cs.meta @@ -0,0 +1,13 @@ +fileFormatVersion: 2 +guid: 149bda40b8fd7124eb7f66dff5220467 +timeCreated: 1510685488 +licenseType: Pro +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: -- GitLab