Пример #1
0
    void Update()
    {
        /*
         *  Dit is niet moeder's mooiste, oordeel niet :'(
         */

        float distance = Vector3.Distance(cam.transform.position, transform.position);

        Vector3 pos3 = -Vector3.Normalize(cam.transform.position - transform.position.normalized);
        Vector2 pos  = new Vector2(pos3.x, pos3.z).normalized;
        Vector3 dir3 = cam.transform.forward.normalized;
        Vector2 dir  = new Vector2(dir3.x, dir3.z).normalized;

        float dot = Vector3.Dot(dir, pos);

        if (timer >= cooldown &&
            distance < spawnDistance + margin &&
            distance > spawnDistance &&
            dot >= 0)
        {
            Debug.Log("Spawn");

            if (type == Type.Roodkapje)
            {
                manager.SpawnRoodkapje(transform.position);
            }
            else
            {
                manager.SpawnRabbit(transform.position);
            }

            timer = 0;
        }
        else
        {
            timer += Time.deltaTime;
        }
    }