Пример #1
0
void ColorChange::setup() {  
  INFO("Creating a ColorChange ...");

  if(colorMask & BLUE)
      color = "FlatBlue";
  else if(colorMask & GREEN)
    color = "FlatGreen";
  else if(colorMask & RED)
    color = "FlatRed";
  else if(colorMask & GREY)
    color = "FlatGrey";
  
  colorChange = ObjectPtr(new Object(
                   LoadManager::getMesh("cube.obj"),
                   MaterialManager::getMaterial(color)));

  RenderEngine::getRenderElement("regular")->addObject(colorChange);

  colorChange->scale(glm::vec3(.5, .5, .5));
  colorChange->translate(position);

    
  setCollisionID(16);
  setCollideWithID(2);
  setCanCollide(true);

  setBoundingBox(BoundingBox(glm::vec3(.5f,.5f,.5f), glm::vec3(-.5f,-.5f,-.5f)));
  getBoundingBox()->setPosition(position);
}
Пример #2
0
void EnemyPatroller::die() {
	setCanCollide(false);
	dying = true;
	freeze();
	setCurrentAnimation("die");
	fireSound->playSound();
}
Пример #3
0
void CollectibleArmor::collide(Actor& otherActor) {
	if (otherActor.isPlayer())
	{
		setCanCollide(false);
		hidden = true;
		((Player&)otherActor).armor += 1;
	}
}
Пример #4
0
void CollectibleWeaponUpgrade::collide(Actor& otherActor) {
	if (otherActor.isPlayer())
	{
		soundCache["gmae.ogg"]->playSound();
		setCanCollide(false);
		hidden = true;
		((Player&)otherActor).upgradeWeapon();
	}
}
Пример #5
0
void CollectiblePill::collide(Actor& otherActor) {
	if (otherActor.isPlayer())
	{
		fireSound = soundCache["energyblip.ogg"];
		fireSound->playSound();
		setCanCollide(false);
		hidden = true;
        // give player 5 energy, but only up to max energy + 100
        if(((Player&)otherActor).energy < ((Player&)otherActor).energy_max + 100) {
            ((Player&)otherActor).energy = min(((Player&)otherActor).energy_max + 100, ((Player&)otherActor).energy + 5.0f);
        }
	}
}
Пример #6
0
ParticleEmitter::ParticleEmitter(float x, float y)
:Actor(x, y, 32.0f, 32.0f)
{

	emissionRate = 5.f;
	maxAge = 3.f;

	if (!image.LoadFromFile("images/smoke.png"))
		printf("failed to load images/smoke.png\n");

	sprite.SetImage(image);
	sprite.SetCenter(16, 16);

	maxParticles = int(maxAge*emissionRate);
	timeLeft = 0;
	nextIdx = 0;
	setVelocityFunc(no_gravity);
	setCanCollide(false);
}
Пример #7
0
void Collectible::reset() {
	setCanCollide(true);
	hidden = false;
}