Improve CallBacks

This commit is contained in:
2023-11-27 08:06:53 +01:00
parent 0d07b98cfd
commit 0ccfd522ee
8 changed files with 48 additions and 77 deletions

View File

@@ -31,6 +31,13 @@ XFEventStatus XFState::onState(const XFEvent* ev) {
assert(ev != nullptr);
assert(pBehavior != nullptr);
if(cbState_ != nullptr) {
(pBehavior->*cbState_)();
}
if(cbEvState_ != nullptr) {
(pBehavior->*cbEvState_)(ev);
}
for(transition t : transitions_) {
assert(t.nextState != nullptr);
@@ -59,7 +66,10 @@ XFEventStatus XFState::onState(const XFEvent* ev) {
void XFState::onEntry(const XFEvent* ev) {
if(cbEntry_ != nullptr) {
(pBehavior->*cbEntry_)(ev);
(pBehavior->*cbEntry_)();
}
if(cbEvEntry_ != nullptr) {
(pBehavior->*cbEvEntry_)(ev);
}
for(transition t : transitions_) {
@@ -73,6 +83,9 @@ void XFState::onEntry(const XFEvent* ev) {
}
void XFState::onExit(const XFEvent* ev) {
if(cbExit_ != nullptr) {
(pBehavior->*cbExit_)(ev);
(pBehavior->*cbExit_)();
}
if(cbEvExit_ != nullptr) {
(pBehavior->*cbEvExit_)(ev);
}
}