void Person::HandleFixed(Environment &env, const Event &e) { Elevator *ele = static_cast<Elevator*>(e.GetSender()); if (ele == elevator_) { RequestFloor(env); } }
void Person::HandleBeeped(Environment &env, const Event &e) { Elevator *ele = static_cast<Elevator*>(e.GetSender()); if (beeping_ && elevator_ == ele) { beeping_ = false; Cancel(env); RequestFloor(env); } }
void Person::HandleEntered(Environment &env, const Event &e) { if (FromMe(e) ) { isEnteringOrExiting_ = false; if (elevator_->GetState() != Elevator::Malfunction) { RequestFloor(env); } else { Exit(env); } } }
void ElevatorManager::OnAction() { int temp = RequestFloor(); if(temp > -1 && temp < 5) { floorCalls[temp] = true; } }