Exemple #1
0
    // 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();
        }
    }