A game about forced loneliness, made by TACStudios
at master 134 lines 4.6 kB view raw
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}