Example #1
0
		// This virtual method is automatically called byt map/layer, when update is called from main.cpp
		virtual void update(float deltaTime)
		{
			// Call update to base class
			CharacterController::update(deltaTime);

			// AutoAttackFlagCarryingBot
			if (m_gameObjectToShoot != 0)
			{
				float rotation = m_gameObjectToShoot->getRotation();
				slm::vec2 enemyForwardDir;
				enemyForwardDir.x = cosf(rotation);
				enemyForwardDir.y = sinf(rotation);
				autoUsePrimaryWeapon(m_gameObjectToShoot->getPosition() + m_predictionDistance*enemyForwardDir, m_aimTolerance);
			}

			// DirectMoverAI
			if (m_gameObjectToGo != 0)
			{
				// Move to position
				m_distanceToDestination = moveDirectToPosition(m_gameObjectToGo->getPosition(), m_reachTolerance);
			}

			// If has collided to home base, then drop bomb.
			if (m_collisionToHomeBase)
			{
				// Obly if I has flag
				if (hasItem())
				{
					dropItem1();
				}

				m_collisionToHomeBase = false;
			}
		}
Example #2
0
void Dummies::update(float deltaTime)
{
	// Call update to base class
	CharacterController::update(deltaTime);
	if (m_gameObjectToShoot != 0)
	{
		float rotation = m_gameObjectToShoot->getRotation();
		slm::vec2 enemyForwardDir;
		enemyForwardDir.x = cosf(rotation);
		enemyForwardDir.y = sinf(rotation);
		autoUsePrimaryWeapon(m_gameObjectToShoot->getPosition() + m_predictionDistance*enemyForwardDir, m_aimTolerance);

		//if (hasCooledDownSecondary() == true)
		//{
		//	tryUseSecondaryWeapon();
		//}

	}

	// Call update to base class
	//CharacterController::update(deltaTime);
	if (m_gameObjectToGo != 0)
	{
		// Move to position
		m_distanceToDestination = moveDirectToPosition(m_gameObjectToGo->getPosition(), m_reachTolerance);
	}

	// If has collided to home base, then drop bomb.
	if (m_collisionToHomeBase)
	{
		// Obly if I has flag
		if (hasItem())
		{
			dropItem1();
		}

		m_collisionToHomeBase = false;
	}
}