// Update is called once per frame void Update() { waitTimer.Update(TimeSpan.FromSeconds(Time.deltaTime)); ObjectPool objectPool = GameObject.Find("Object Pool").GetComponent <ObjectPool> (); if (waitTimer.Alarm) { if (lastEmitted == ObjectType.JumperGround) { lastEmitted = ObjectType.Ground; waitTimer = new WaitTimer(TimeSpan.FromSeconds(1.00)); return; } else { waitTimer = new WaitTimer(TimeSpan.FromSeconds(0.25)); } GameObject obj = objectPool.GetObject( lastEmitted = (lastEmitted != ObjectType.Ground) ? ObjectType.Ground : Randomizer.GetRandomNumber(percentages) ); if (obj == null) { throw new Exception(); } obj.transform.position = new Vector3(5.25f - ((waitTimer.Elapsed - waitTimer.Objective).Seconds * -1.45f), -1.4f, 0); waitTimer.Clear(); } }