public void Update(EventCheckArgs args) { if (args.Receiver != Object) { Debug.LogError("Попытка обновить запись чужого получателя события."); return; } Stage = Stage | args.Stage; time2 = Time.time; }
private static void OnEvent(EventHandler <EventCheckArgs> handler, EventsCheckStage stage, SimpleEvent simpleEvent, object receiver, int priority) { if (handler != null) { EventCheckArgs args = new EventCheckArgs(); args.Stage = stage; args.Event = simpleEvent; args.Receiver = receiver; args.Priority = priority; handler(null, args); } }
public void Add(object target, EventCheckArgs args) { if (currentEvent == null || currentEvent.Event != args.Event) { if (currentEvent != null) { currentEvent.Event = null; } currentEvent = new EventLogLine(args); events.Add(currentEvent); } else { currentEvent.Update(args); } }
public ReceiverLogLine(EventCheckArgs args) { object target = args.Receiver; Type = target != null?target.GetType() : null; Object = target as UnityEngine.Object; Name = Object != null ? Object.name : ""; Component component = target as Component; Tag = component != null ? component.tag : ""; Mask = component != null ? component.gameObject.layer : -1; Stage = args.Stage; Priority = args.Priority; time = Time.time; time2 = 0; }
public void Update(EventCheckArgs args) { if (Event != args.Event) { Debug.LogError("Попытка обновить запись чужого события."); return; } var receiver = receivers.Find(r => r.Object == args.Receiver && r.Priority == args.Priority && (r.Stage & (EventsCheckStage.Error | EventsCheckStage.Stop)) == 0); if (receiver != null) { receiver.Update(args); } else { receivers.Add(new ReceiverLogLine(args)); } }
public EventLogLine(EventCheckArgs args) { object target = args.Event.target; SourceType = target != null?target.GetType() : null; Source = target as UnityEngine.Object; SourceName = Source != null ? Source.name : ""; Component component = target as Component; SourceTag = component != null ? component.tag : ""; SourceLayerMask = component != null ? component.gameObject.layer: -1; EventName = args.Event.eventName; Event = args.Event; receivers = new List <ReceiverLogLine>(); ReceiverLogLine receiver = new ReceiverLogLine(args); time = Time.time; receivers.Add(receiver); }