Доброго времени суток.
Может кто-то объяснить механизм реализации интерфейса в юнити?
Я имею в виду, что, допустим, мы имеем следующую ситуацию:
У нас есть интерфейс IDamagable, в котором мы декларируем метод Damage, к примеру.
Потом мы реализуем для каждого класса (Скажем, игрок, враг, стена, ) этот интерфейс.
Потом мы создаем скрипт, в котором считываем коллайдер объекта, с которым столкнулась, например, стрела. Далее происходит следующее:
IDamagable damagable = collider.GetComponent<IDamagable>();
damagable.Damage();
И вот у меня вопрос, что содержит в себе этот объект damagable. Почему, имея тип интерфейса, он знает, какой метод Damage надо конкретно реализовать? Как он знает об этом?
Спасибо