summaryrefslogtreecommitdiff
path: root/Pathfinding Visualizer/Assets/CodeMonkey/MonoBehaviours/ComponentActions.cs
diff options
context:
space:
mode:
authorSimon O'Shea <osheas1@wit.edu>2023-07-31 18:45:01 -0400
committerSimon O'Shea <osheas1@wit.edu>2023-07-31 18:45:01 -0400
commit5f9e8f979deb94e9219113ed09b49142c040cb57 (patch)
treea67bd606205f7fb28e48d351028b3478bc49145b /Pathfinding Visualizer/Assets/CodeMonkey/MonoBehaviours/ComponentActions.cs
parent4699ce72871eaa6ee27c01971383b9d1fced1946 (diff)
import successful, grid has visuals
cell values and grid lines are displayed. no interaction available yet.
Diffstat (limited to 'Pathfinding Visualizer/Assets/CodeMonkey/MonoBehaviours/ComponentActions.cs')
-rw-r--r--Pathfinding Visualizer/Assets/CodeMonkey/MonoBehaviours/ComponentActions.cs60
1 files changed, 60 insertions, 0 deletions
diff --git a/Pathfinding Visualizer/Assets/CodeMonkey/MonoBehaviours/ComponentActions.cs b/Pathfinding Visualizer/Assets/CodeMonkey/MonoBehaviours/ComponentActions.cs
new file mode 100644
index 0000000..e0eedc8
--- /dev/null
+++ b/Pathfinding Visualizer/Assets/CodeMonkey/MonoBehaviours/ComponentActions.cs
@@ -0,0 +1,60 @@
+/*
+ ------------------- Code Monkey -------------------
+
+ Thank you for downloading the Code Monkey Utilities
+ I hope you find them useful in your projects
+ If you have any questions use the contact form
+ Cheers!
+
+ unitycodemonkey.com
+ --------------------------------------------------
+ */
+
+using System;
+using UnityEngine;
+
+namespace CodeMonkey.MonoBehaviours {
+
+ /*
+ * Trigger Actions on MonoBehaviour Component events
+ * */
+ public class ComponentActions : MonoBehaviour {
+
+ public Action OnDestroyFunc;
+ public Action OnEnableFunc;
+ public Action OnDisableFunc;
+ public Action OnUpdate;
+
+ private void OnDestroy() {
+ if (OnDestroyFunc != null) OnDestroyFunc();
+ }
+
+ private void OnEnable() {
+ if (OnEnableFunc != null) OnEnableFunc();
+ }
+
+ private void OnDisable() {
+ if (OnDisableFunc != null) OnDisableFunc();
+ }
+
+ private void Update() {
+ if (OnUpdate != null) OnUpdate();
+ }
+
+
+ public static void CreateComponent(Action OnDestroyFunc = null, Action OnEnableFunc = null, Action OnDisableFunc = null, Action OnUpdate = null) {
+ GameObject gameObject = new GameObject("ComponentActions");
+ AddComponent(gameObject, OnDestroyFunc, OnEnableFunc, OnDisableFunc, OnUpdate);
+ }
+
+ public static void AddComponent(GameObject gameObject, Action OnDestroyFunc = null, Action OnEnableFunc = null, Action OnDisableFunc = null, Action OnUpdate = null) {
+ ComponentActions componentFuncs = gameObject.AddComponent<ComponentActions>();
+ componentFuncs.OnDestroyFunc = OnDestroyFunc;
+ componentFuncs.OnEnableFunc = OnEnableFunc;
+ componentFuncs.OnDisableFunc = OnDisableFunc;
+ componentFuncs.OnUpdate = OnUpdate;
+ }
+
+ }
+
+} \ No newline at end of file