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;
}
Beispiel #2
0
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;
}
Beispiel #3
0
MainTray::~MainTray()
{
    ClearTasks();
    delete contMenu;
}