class GameTimer {
	tick:number;
	wait:number;
	trigger:Trigger;

	constructor(wait:number) {
		this.wait = wait;
		this.tick = window.getTime() + this.wait;
		this.trigger = new Trigger();
	}

	tryFire(t:number) {
		if (t >= this.tick)
			this.fire(t);
	}

	fire(t:number) {
		// GameTimerは、あえて正確を度外視した大体の処理
		// ちゃんと差分とる場合はこう。 this.tick += this.wait
		this.tick = t + this.wait;
		// 起動が保証されないfastFire
		this.trigger.fastFire(t);
	}
}