Pushkoff
> так понимаю ITexture это интерфейс, который подразумевает кучу разновидностей
> текстур. нужно ли это7
нужно ли это - не знаю, но используется :)
nes
> а жабой насколько я знаю нельзя создать полноценного приложения
зефика в студию!
AvrDragon
> Это же классический компоновщик, как из книжки гаммы.
перечитать срочно!
если нужен совет то раздели класс на 2 части, одна разруливает чилдов, второая логику.
innuendo
> нужно ли это - не знаю, но используется :)
ну используется. но оно частенько нарушает LSP
Pushkoff
> > нужно ли это - не знаю, но используется :)
> ну используется. но оно частенько нарушает LSP
примеры
Pushkoff
перечитал, все как я и говорил
>если нужен совет то раздели класс на 2 части, одна разруливает чилдов, второая логику.
хм....даже не знаю, может в этом что-то и есть, хотя надо попробовать
Pushkoff
Пока планирую не большую иерархию вида:
GLTextureES : public ITexture; GLTextureCubemapES : public ITexture;
;
nes
> Пока планирую не большую иерархию вида:
не надо там никакого наследования :)
innuendo
Это почему?
nes
> Это почему?
в смысле наследования для расширения интерфейса, будет типа GLTexture : public ITexture
Pushkoff
перечитал повнимательней...и правда, там он выделен в отдельный класс
innuendo
Интерфейс будет один, это я будущуюю реализацию привел в качестве примера.
Т.е будет что-то вроде:
IGraphicsSystem* graphicsSystem = graphicsSystem(); // some singleton ITexture* cubemap = graphicsSystem->createTexture( TEXTURE_TYPE_CUBEMAP, ...); ITexture* texture2d = graphicsSystem->createTexture( TEXTURE_TYPE_2D, ...);
nes
> Т.е будет что-то вроде:
угу
nes
ну да, у меня чисто простенький 2д. Еслиб юзал физ двиг, то конечно вместо collisionType был бы обьект которомуб делегировал всю физику.
так же есть подкласс Enemy, он делает еще 50% общих операций
AvrDragon
> public virtual class GameObject {
Это как?
Лис®©™
Никак=) Всмысле абстрактный. Это псевдокод. Но abstract не подсвечивается. И еще в плюсах нет foreach.
Тема в архиве.