Esempio n. 1
0
void HydrusConsoleView::TargetingDelegate(EventData* aEventData)
{
	EventData_Targeting* eventData = static_cast<EventData_Targeting*> (aEventData);
	ActorId actorId = eventData->GetActorId();
	HydrusEncounter* encounter = eventData->GetEncounter();
	enum ActionType action = eventData->GetActionType();

	StrongActorPtr actor = p_gGame->GetActor(actorId);
	Brain* actorBrain = actor->GET_COMPONENT(Brain);

	ActorId attackTargetId = actorBrain->SelectTarget(actor->GetActorId(), encounter, action);

	encounter->CreateTargetedProc(actorId, attackTargetId, action);
}
Esempio n. 2
0
void HumanBrain::DetermineAction(HydrusEncounter* aEncounter)
{

	StrongActorPtr actor = MakeStrongPointer(this->GetActor());
	std::string actionType;

	system("cls");
	std::cout << actor->GetName() << std::endl;
	g_pStringHandler->PrintString(READY_OPTIONS);
	GalaxyAlgorithms::StringInput(actionType, "a");

	enum ActionType act = GalaxyAlgorithms::ConvertStringToAction(actionType);

	switch (act)
	{
	case ATTACK:
		p_gEventManager->FireEvent(StrongEventPtr(GALAXY_NEW TargetingEvent(GALAXY_NEW EventData_Targeting(actor->GetActorId(), aEncounter, ATTACK))));
		break;

	case PASS:
		// Nothing?
		break;
	default:
		assert(0);
		break;
	}
}