Beispiel #1
0
    private void OnTriggerEnter(Collider other)
    {
        IAsteroidColider collider = other.GetComponent <IAsteroidColider>();

        if (collider != null)
        {
            collider.OnCollision();
            OnCollision.Invoke(collider.Damage());
        }
    }
    public void InitializeAsteroid()
    {
        GameObject asteroid = pool.Get();

        asteroid.transform.position = new Vector3(spawnPointX, RandomYPosition(), 0);
        asteroid.transform.parent   = transform;

        MovingComponent moving = asteroid.GetComponent <MovingComponent>();

        moving.Initialize(RandomSpeed(), new LeftInputAdapter());
        moving.StartCoroutine(WaitForDestruction(asteroid));

        IAsteroidColider asteroidColider = asteroid.GetComponent <IAsteroidColider>();

        asteroidColider.SetCollisionCallback(ReturnToPool);
    }