| 1 | #include "devenv/seadAssertConfig.h" |
|---|---|
| 2 | |
| 3 | namespace sead |
| 4 | { |
| 5 | AssertConfig::AssertEvent AssertConfig::sAssertEvent{}; |
| 6 | IDelegate1<const char*>* AssertConfig::sFinalCallback = nullptr; |
| 7 | |
| 8 | void AssertConfig::registerCallback(AssertEvent::Slot& slot) |
| 9 | { |
| 10 | sAssertEvent.connect(slot); |
| 11 | } |
| 12 | |
| 13 | void AssertConfig::unregisterCallback(AssertEvent::Slot& slot) |
| 14 | { |
| 15 | sAssertEvent.disconnect(slot); |
| 16 | } |
| 17 | |
| 18 | void AssertConfig::registerFinalCallback(IDelegate1<const char*>* cb) |
| 19 | { |
| 20 | sFinalCallback = cb; |
| 21 | } |
| 22 | |
| 23 | void AssertConfig::execCallbacks(const char* assertMessage) |
| 24 | { |
| 25 | sAssertEvent.emit(arg: assertMessage); |
| 26 | if (sFinalCallback) |
| 27 | sFinalCallback->invoke(a1: assertMessage); |
| 28 | } |
| 29 | } // namespace sead |
| 30 |