Example #1
0
 public static void StopListening(ObjectEventType eventType, UnityAction <object> action)
 {
     if (Instance._eventRegisterObject.TryGetValue(eventType, out var listener))
     {
         listener.RemoveListener(action);
     }
 }
Example #2
0
 public static void RaiseEvent(ObjectEventType eventType, object arg = null)
 {
     if (Instance._eventRegisterObject.TryGetValue(eventType, out var listener))
     {
         listener.Invoke(arg);
     }
 }
Example #3
0
        public static void StartListening(ObjectEventType eventType, UnityAction <object> action)
        {
            if (!Instance._eventRegisterObject.Keys.Contains(eventType))
            {
                Instance._eventRegisterObject.Add(eventType, new UnityEventWithObject());
            }

            var eventListener = Instance._eventRegisterObject[eventType];

            eventListener.AddListener(action);
        }
Example #4
0
        public ObjectEvent(ObjectEventType type, Boolean actionKeyMode = false, InputType actionKey = InputType.Action)
        {
            Type = type;

            ActionKeyMode = actionKeyMode;
            ActionKey = actionKey;

            Actions = new List<Action>();

            IsActive = true;
        }
Example #5
0
        public static TraceEventType ConvertToTraceEvent(ObjectEventType objectEvent)
        {
            switch (objectEvent)
            {
            case ObjectEventType.Critical:
                return(TraceEventType.Critical);

            case ObjectEventType.Error:
                return(TraceEventType.Error);

            case ObjectEventType.Warning:
                return(TraceEventType.Warning);

            case ObjectEventType.Information:
                return(TraceEventType.Information);

            default:
                return(TraceEventType.Verbose);
            }
        }
Example #6
0
        public void CallEvent(ObjectEventType type, ObjectEventArgs args)
        {
            while (EventsToRemove.Count > 0)
                Events.Remove(EventsToRemove.Dequeue());

            if (!IsActive)
                return;

            foreach (ObjectEvent evt in Events)
            {
                if (evt.Type != type)
                    continue;

                evt.Call(args);
            }
        }
Example #7
0
 public void CallEvent(ObjectEventType type, EBoundingBox source, EBoundingBox trigger)
 {
     CallEvent(type, new ObjectEventArgs(source, trigger));
 }
Example #8
0
        private void WriteException(Exception ex, IEnumerable <LogCategory> categories, ObjectEventType severity)
        {
            if (!IsLoggingEnabled)
            {
                return;
            }

            if (ex == null)
            {
                return;
            }

            WriteException(ex.InnerException, categories, severity);
            WriteEntry(new LogMessage(string.Concat(ex.Message, Environment.NewLine, ex.StackTrace)), categories, severity);
        }
Example #9
0
        private void WriteEntry(LogMessage message, IEnumerable <LogCategory> categories, ObjectEventType severity)
        {
            if (!IsLoggingEnabled)
            {
                return;
            }

            Logger.Writer.Write(new LogEntry()
            {
                Categories = categories.Select(c => c.Category).ToList(),
                Message    = message.Message,
                Severity   = ObjectEventHelper.ConvertToTraceEvent(severity)
            });
        }
Example #10
0
 public TemporaryEvent(int tempCount = DEFAULT_TEMP_COUNT, ObjectEventType type = DEFAULT_TYPE, bool actionKeyMode = DEFAULT_ACTION_KEY_MODE, InputType actionKey = DEFAULT_ACTION_KEY)
     : base(type, actionKeyMode, actionKey)
 {
     TempCount = tempCount;
 }
 /// <summary>
 /// Initializes a new instance of the <see cref="RobotObjectEventArgs"/> class.
 /// </summary>
 /// <param name="objectEventType">Type of the object event.</param>
 internal RobotObjectEventArgs(ObjectEventType objectEventType) : base(EventType.ObjectEvent)
 {
     ObjectEventType = objectEventType;
 }
 /// <summary>
 /// Initializes a new instance of the <see cref="RobotObjectEventArgs"/> class.
 /// </summary>
 /// <param name="e">The event.</param>
 internal RobotObjectEventArgs(ExternalInterface.Event e) : base(e)
 {
     ObjectEventType = (ObjectEventType)e.ObjectEvent.ObjectEventTypeCase;
 }