A game about forced loneliness, made by TACStudios
1using UnityEngine;
2using System.Collections.Generic;
3
4
5namespace TMPro
6{
7 public enum Compute_DistanceTransform_EventTypes { Processing, Completed };
8
9
10 public static class TMPro_EventManager
11 {
12 public static readonly FastAction<object, Compute_DT_EventArgs> COMPUTE_DT_EVENT = new FastAction<object, Compute_DT_EventArgs>();
13
14 // Event & Delegate used to notify TextMesh Pro objects that Material properties have been changed.
15 public static readonly FastAction<bool, Material> MATERIAL_PROPERTY_EVENT = new FastAction<bool, Material>();
16
17 public static readonly FastAction<bool, Object> FONT_PROPERTY_EVENT = new FastAction<bool, Object>();
18
19 public static readonly FastAction<bool, Object> SPRITE_ASSET_PROPERTY_EVENT = new FastAction<bool, Object>();
20
21 public static readonly FastAction<bool, Object> TEXTMESHPRO_PROPERTY_EVENT = new FastAction<bool, Object>();
22
23 public static readonly FastAction<GameObject, Material, Material> DRAG_AND_DROP_MATERIAL_EVENT = new FastAction<GameObject, Material, Material>();
24
25 public static readonly FastAction<bool> TEXT_STYLE_PROPERTY_EVENT = new FastAction<bool>();
26
27 public static readonly FastAction<Object> COLOR_GRADIENT_PROPERTY_EVENT = new FastAction<Object>();
28
29 public static readonly FastAction TMP_SETTINGS_PROPERTY_EVENT = new FastAction();
30
31 public static readonly FastAction RESOURCE_LOAD_EVENT = new FastAction();
32
33 public static readonly FastAction<bool, Object> TEXTMESHPRO_UGUI_PROPERTY_EVENT = new FastAction<bool, Object>();
34
35 public static readonly FastAction<Object> TEXT_CHANGED_EVENT = new FastAction<Object>();
36
37 //public static readonly FastAction WILL_RENDER_CANVASES = new FastAction();
38
39 public static void ON_MATERIAL_PROPERTY_CHANGED(bool isChanged, Material mat)
40 {
41 MATERIAL_PROPERTY_EVENT.Call(isChanged, mat);
42 }
43
44 public static void ON_FONT_PROPERTY_CHANGED(bool isChanged, Object obj)
45 {
46 FONT_PROPERTY_EVENT.Call(isChanged, obj);
47 }
48
49 public static void ON_SPRITE_ASSET_PROPERTY_CHANGED(bool isChanged, Object obj)
50 {
51 SPRITE_ASSET_PROPERTY_EVENT.Call(isChanged, obj);
52 }
53
54 public static void ON_TEXTMESHPRO_PROPERTY_CHANGED(bool isChanged, Object obj)
55 {
56 TEXTMESHPRO_PROPERTY_EVENT.Call(isChanged, obj);
57 }
58
59 public static void ON_DRAG_AND_DROP_MATERIAL_CHANGED(GameObject sender, Material currentMaterial, Material newMaterial)
60 {
61 DRAG_AND_DROP_MATERIAL_EVENT.Call(sender, currentMaterial, newMaterial);
62 }
63
64 public static void ON_TEXT_STYLE_PROPERTY_CHANGED(bool isChanged)
65 {
66 TEXT_STYLE_PROPERTY_EVENT.Call(isChanged);
67 }
68
69 public static void ON_COLOR_GRADIENT_PROPERTY_CHANGED(Object obj)
70 {
71 COLOR_GRADIENT_PROPERTY_EVENT.Call(obj);
72 }
73
74
75 public static void ON_TEXT_CHANGED(Object obj)
76 {
77 TEXT_CHANGED_EVENT.Call(obj);
78 }
79
80 public static void ON_TMP_SETTINGS_CHANGED()
81 {
82 TMP_SETTINGS_PROPERTY_EVENT.Call();
83 }
84
85 public static void ON_RESOURCES_LOADED()
86 {
87 RESOURCE_LOAD_EVENT.Call();
88 }
89
90 public static void ON_TEXTMESHPRO_UGUI_PROPERTY_CHANGED(bool isChanged, Object obj)
91 {
92 TEXTMESHPRO_UGUI_PROPERTY_EVENT.Call(isChanged, obj);
93 }
94
95 //public static void ON_BASE_MATERIAL_CHANGED(Material mat)
96 //{
97 // BASE_MATERIAL_EVENT.Call(mat);
98 //}
99
100 //public static void ON_PROGRESSBAR_UPDATE(Progress_Bar_EventTypes event_type, Progress_Bar_EventArgs eventArgs)
101 //{
102 // if (PROGRESS_BAR_EVENT != null)
103 // PROGRESS_BAR_EVENT(event_type, eventArgs);
104 //}
105
106 public static void ON_COMPUTE_DT_EVENT(object Sender, Compute_DT_EventArgs e)
107 {
108 COMPUTE_DT_EVENT.Call(Sender, e);
109 }
110 }
111
112
113 public class Compute_DT_EventArgs
114 {
115 public Compute_DistanceTransform_EventTypes EventType;
116 public float ProgressPercentage;
117 public Color[] Colors;
118
119
120 public Compute_DT_EventArgs(Compute_DistanceTransform_EventTypes type, float progress)
121 {
122 EventType = type;
123 ProgressPercentage = progress;
124 }
125
126 public Compute_DT_EventArgs(Compute_DistanceTransform_EventTypes type, Color[] colors)
127 {
128 EventType = type;
129 Colors = colors;
130 }
131
132 }
133
134}