Как справиться с обновлением анимации из IDrawable? - PullRequest
0 голосов
/ 17 августа 2011

У меня есть два интерфейса, IDrawable и IUpdateable. Некоторые конкретные чертежи могут быть обновлены, но не все. Например, спрайт с анимацией реализует как IDrawable, так и IUpdateable, но статическое изображение просто реализует IDrawable.

Проблема очевидна ... как я могу обновить анимацию только с помощью ссылки IDrawable? Если я передаю Sprite кнопке для использования в качестве графического представления, кнопка просто остается статичной, потому что она не может улучшать анимацию спрайтов.

Идеи? * * 1005

1 Ответ

0 голосов
/ 17 августа 2011

Решение состоит в том, чтобы определить новую абстракцию:

public interface IXXXObject {
   IDrawable Drawable { get; } // return null if not support IDrawable
   IUpdatable Updatable { get; } // return null if not support IUpdatable
}

Все ваши объекты должны реализовывать этот интерфейс. Теперь вы должны передать объекты как IXXXObject и можете вызывать функцию, если она поддерживает.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...