should be finish but for sure won't work
This commit is contained in:
@@ -3,7 +3,7 @@
|
||||
#include "xf/initialevent.h"
|
||||
#include "xf/behavior.h"
|
||||
|
||||
// TODO: Implement code for XFBehavior class
|
||||
// TODO done: Implement code for XFBehavior class
|
||||
|
||||
XFBehavior::XFBehavior() {
|
||||
|
||||
@@ -14,11 +14,12 @@ XFBehavior::~XFBehavior() {
|
||||
}
|
||||
|
||||
void XFBehavior::startBehavior() {
|
||||
|
||||
GEN(XFInitialEvent());
|
||||
}
|
||||
|
||||
void XFBehavior::pushEvent(XFEvent *pEvent) {
|
||||
|
||||
pEvent->setBehavior(this);
|
||||
this->getDispatcher()->pushEvent(pEvent);
|
||||
}
|
||||
|
||||
bool XFBehavior::deleteOnTerminate() const {
|
||||
@@ -34,11 +35,15 @@ const XFEvent *XFBehavior::getCurrentEvent() const {
|
||||
}
|
||||
|
||||
interface::XFDispatcher *XFBehavior::getDispatcher() {
|
||||
|
||||
return interface::XFDispatcher::getInstance();
|
||||
}
|
||||
|
||||
const XFTimeout *XFBehavior::getCurrentTimeout() {
|
||||
|
||||
if(pCurrentEvent_->getEventType() == XFEvent::Timeout) {
|
||||
return (XFTimeout*) pCurrentEvent_;
|
||||
} else {
|
||||
return nullptr;
|
||||
}
|
||||
}
|
||||
|
||||
void XFBehavior::setCurrentEvent(const XFEvent *pEvent) {
|
||||
@@ -47,6 +52,11 @@ void XFBehavior::setCurrentEvent(const XFEvent *pEvent) {
|
||||
|
||||
XFBehavior::TerminateBehavior XFBehavior::process(const XFEvent *pEvent) {
|
||||
setCurrentEvent(pEvent);
|
||||
processEvent();
|
||||
return deleteOnTerminate_;
|
||||
XFEventStatus status = XFEventStatus::Unknown;
|
||||
status = processEvent();
|
||||
if(status == XFEventStatus::Consumed) {
|
||||
return deleteOnTerminate_;
|
||||
} else {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user