//-------------------------- Process ------------------------------------------
//-----------------------------------------------------------------------------
int GoalAttackTarget::process()
{
	//if status is inactive, call Activate()
	activateIfInactive();

	//process the subgoals
	_status = processSubgoals();

	reactivateIfFailed();

	return _status;
}
//-------------------------- process ------------------------------------------
//-----------------------------------------------------------------------------
int GoalPersistanceAttack::process()
{
	//if status is INACTIVE, call activate()
	activateIfInactive();

	_status = processSubgoals();
	if (_status == COMPLETED && _owner->getTargetSys()->getTarget()->isAlive())
	{
		activate();
	}

	return _status;
}
	Goal<ZeldaEntity>::Status Goal_MoveToPosition::process(const sf::Time& dt)
	{
		if (isInactive())
		{
			activate();
		}

		setStatus(processSubgoals(dt));

		if (hasFailed())
		{
			activate();
		}

		return getStatus();
	}
Esempio n. 4
0
//------------------------------ process --------------------------------------
//
//  processes the subgoals
//-----------------------------------------------------------------------------
int GoalThink::process()
{
	activateIfInactive();

	int subgoal_status = processSubgoals();

	if (subgoal_status == COMPLETED || subgoal_status == FAILED)
	{
		if (!_owner->isPossessed())
		{
			_status = INACTIVE;
		}
	}

	return _status;
}