Ejemplo n.º 1
0
  // the trigger was just activated
  // ent.activator should be set to the activator so it can be held through a
  // delay so wait for the delay time before firing
  public static void multi_trigger(Entity ent) {
    if (ent.nextthink != 0) return; // already been triggered

    GameUtil.G_UseTargets(ent, ent.activator);

    if (ent.wait > 0) {
      ent.think = multi_wait;
      ent.nextthink = GameBase.level.time + ent.wait;
    } else { // we can't just remove (self) here, because this is a touch
      // function
      // called while looping through area links...
      ent.touch = null;
      ent.nextthink = GameBase.level.time + Constants.FRAMETIME;
      ent.think = GameUtil.G_FreeEdictA;
    }
  }