FFInterface::~FFInterface (void) { Disconnect (); ClearTasks (); pthread_mutex_destroy (&mtx_TaskList); ITERATE (GoalToPrerequisites_hmp_t, hmp_GoalToPrerequisites, ite) delete ite->second; ITERATE (GoalToPlan_hmp_t, hmp_GoalToPlan, ite) delete ite->second; }
DWORD Model::Human::OnAction(Terrain::Hex* Hex, DWORD Flag) { if(!ds::Input::KeyDown(Skeleton::Key(Skeleton::KeyBindCommands))) ClearTasks(); switch(Flag) { //-------------------------------------- case Action::ActionMoveAt: if(!Hex || Hex->GetType() != Terrain::Hex::HexEmpty) return Result::ResultWrongParams; InsertTask(new Task::HumanMove(Hex)); return Result::ResultOk; //-------------------------------------- case Action::ActionRepair: if(!Hex->GetUnit()) return Result::ResultWrongParams; if(m_Major != MajorEngineer) return Result::ResultUnknown; InsertTask(new Task::HumanMove(Hex)); InsertTask(new Task::HumanRepairUnit(Hex->GetUnit())); return Result::ResultOk; //-------------------------------------- case Action::ActionBuild: if(!Hex->GetUnit()) return Result::ResultWrongParams; InsertTask(new Task::HumanMove(Hex)); InsertTask(new Task::HumanRepairUnit(Hex->GetUnit())); return Result::ResultOk; //-------------------------------------- case Action::ActionGetSupply: InsertTask(new Task::HumanMove(Hex)); return Result::ResultOk; } return Result::ResultUnknown; }
MainTray::~MainTray() { ClearTasks(); delete contMenu; }