Skip to content
This repository was archived by the owner on Aug 10, 2021. It is now read-only.

Commit 17877ea

Browse files
committed
Add game event editors which would allow to trigger them via the inspector
1 parent 9fe8051 commit 17877ea

25 files changed

+262
-0
lines changed

Assets/Editor/GameEvents.meta

Lines changed: 8 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Assets/Editor/GameEvents/Bool.meta

Lines changed: 3 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
using GameEvents.Generic;
2+
using UnityEditor;
3+
4+
namespace GameEvents.Bool
5+
{
6+
[CustomEditor(typeof(BoolGameEvent))]
7+
public class BoolGameEventEditor : ArgumentGameEventEditor<BoolGameEvent, bool>
8+
{
9+
protected override bool DrawArgumentField(bool value)
10+
{
11+
return EditorGUILayout.Toggle(value);
12+
}
13+
}
14+
}

Assets/Editor/GameEvents/Bool/BoolGameEventEditor.cs.meta

Lines changed: 3 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Assets/Editor/GameEvents/Float.meta

Lines changed: 3 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
using GameEvents.Generic;
2+
using UnityEditor;
3+
4+
namespace GameEvents.Float
5+
{
6+
[CustomEditor(typeof(FloatGameEvent))]
7+
public class FloatGameEventEditor : ArgumentGameEventEditor<FloatGameEvent, float>
8+
{
9+
protected override float DrawArgumentField(float value)
10+
{
11+
return EditorGUILayout.FloatField(value);
12+
}
13+
}
14+
}

Assets/Editor/GameEvents/Float/FloatGameEventEditor.cs.meta

Lines changed: 3 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Assets/Editor/GameEvents/Game.meta

Lines changed: 3 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.
Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
using GameEvents.Generic;
2+
using UnityEditor;
3+
using UnityEngine;
4+
5+
namespace GameEvents.Game
6+
{
7+
[CanEditMultipleObjects]
8+
[CustomEditor(typeof(GameEvent))]
9+
public class GameEventEditor : Editor
10+
{
11+
#region Pirvate Fields
12+
13+
private const int GroupSpacingPixels = 8;
14+
15+
#endregion
16+
17+
#region Public Methods
18+
19+
public override void OnInspectorGUI()
20+
{
21+
base.OnInspectorGUI();
22+
23+
var gameEvent = target as GameEvent;
24+
if (gameEvent == null) return;
25+
26+
GUI.enabled = Application.isPlaying;
27+
GUILayout.Space(GroupSpacingPixels);
28+
29+
DrawRaise(gameEvent);
30+
}
31+
32+
private static void DrawRaise(IGameEvent gameEvent)
33+
{
34+
GUILayout.Label("Raise event (play mode only)");
35+
if (GUILayout.Button("Raise")) gameEvent.RaiseGameEvent();
36+
}
37+
38+
#endregion
39+
}
40+
}

Assets/Editor/GameEvents/Game/GameEventEditor.cs.meta

Lines changed: 3 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)