public void AddListen(FSMEventListener FSMEventListener) { if (!MessageDispatcher.ContainsKey(FSMEventListener.GetType().ToString())) { MessageDispatcher.Add(FSMEventListener.GetType().ToString(), null); } MessageDispatcher[FSMEventListener.GetType().ToString()] += FSMEventListener.ReceiveMessage; }
public static void ReceivingMessageError(FSMEventListener FSMEventListener, Exception InitialError) { if (FSMDebug.Instance.FSMDebugConfiguration.WriteInFile) { string lineToWrite = Format(); lineToWrite += FSMEventListener.name + "/" + FSMEventListener.GetInstanceID() + " - "; lineToWrite += ("ERROR - Event listener has received a message but has failed to process : " + InitialError.Message + Environment.NewLine + InitialError.StackTrace); FSMDebug.Instance.Write(lineToWrite); } }
public void RemoveListen(FSMEventListener FSMEventListener) { MessageDispatcher[FSMEventListener.GetType().ToString()] -= FSMEventListener.ReceiveMessage; }