public void Release(T obj) { if (m_stack.Count > 0 && ReferenceEquals(m_stack.Peek(), obj)) { PTThreadSafeLogger.LogError("Trying to destroy object that has already been released"); } m_stack.Push(obj); m_onRelease?.Invoke(obj); }
public void Unsubscribe() { if (!subscribed) { return; } subscribed = false; m_synchronizer.Unsubscribe(m_currentTime.UpdateEvent, m_handler); PTThreadSafeLogger.Debug($"Unsubscribing from {m_synchronizerName}.{PTUpdateEventMap.ToName(m_currentTime.UpdateEvent)}"); }
public void Subscribe() { if (subscribed) { return; } subscribed = true; m_synchronizer.Subscribe(m_currentTime.UpdateEvent, m_handler); PTThreadSafeLogger.Debug($"Subscribing to {m_synchronizerName}.{PTUpdateEventMap.ToName(m_currentTime.UpdateEvent)}"); }
public PTThreadTask RunMainTask() { try { argument = main?.Invoke(argument); } catch (Exception ex) { finalize = null; PTThreadSafeLogger.LogException(ex); } return(this); }
public static void LogException(Exception exception) { PTThreadSafeLogger.LogException(exception); }
public static void LogWarningFormat(string format, params object[] args) { PTThreadSafeLogger.LogWarningFormat(format, args); }
public static void LogWarning(object message) { PTThreadSafeLogger.LogWarning(message); }
public static void LogError(object message) { PTThreadSafeLogger.LogError(message); }
public static void DebugFormat(string format, params object[] args) { PTThreadSafeLogger.DebugFormat(format, args); }
public static void Debug(object message) { PTThreadSafeLogger.Debug(message); }