nes
> что это?
амёба :)
теперь я уже амеба?
nes
> теперь я уже амеба?
амёба - один из базовых классов в биологии
public virtual class GameObject { Vecor2 pos; Point size; float angle; float speed; Animation[] anims; int currentAnim; List<Vector2> poly; enum CollsionType {POLY, CIRCLE}; CollsionType collsionType = CollsionType.CIRCLE; Color drawColor; Timer timer; // lazy List<GameObject> children; // composite String tag; //callbacks public virtual void onDeath() = 0; public virtual void onCollision( ) = 0; public virtual bool isTrash( ) = 0; public virtual int getPoints( ) = 0; public void draw( ) { draw( anims[currentAnim], pos, angle, drawColor); for( GameObject go : children) { go.draw( ); } } public void update( float dt) { pos.x += Math.cos( angle) * speed * dt; pos.y += Math.sin( angle) * speed * dt; for( GameObject go : children) { go.update( dt); } } ...getters/setters/constructors... }
nes
> Если объект был удален а другой объект после смерти первого пытается к нему
> обратиться, как тут поможет сборщик мусора?
там невозможны такие ситуации
nes
> Стараюсь не злоупотреблять шаблонами
тогда С++ тебе точно не нужен
nes
> да и запись вида ITexture* texturePtr, как-то приятнее чем shared_ptr<Texture>
> texturePtr
эстеты курят яву
С++ для тех кто считает второй вариант симпатичнее
Pushkoff
> nes
> > да и запись вида ITexture* texturePtr, как-то приятнее чем
> > shared_ptr<Texture>
> > texturePtr
> эстеты курят яву
> С++ для тех кто считает второй вариант симпатичнее
или для тех, кто умеет правильно использовать typedef
Pushkoff
> С++ для тех кто считает второй вариант симпатичнее
это для мембера или результата функции ? :)
innuendo
> это для мембера или результата функции ? :)
есть разница?
nes
почему к стати
> ITexture
?
Pushkoff
> > это для мембера или результата функции ? :)
> есть разница?
лишние add\release при возврате
Pushkoff
> почему к стати
> > ITexture
> ?
какие ещё предложения ?
AvrDragon
у тебя в классе типичное нарушение SRP
класс кроме своих обширных обязанностей выполняет еще и менеджмент чилдов
innuendo
> лишние add\release при возврате
хорошее замечание, не подумал как-то сразу
innuendo
>амёба - один из базовых классов в биологии
На ряду с бутофорией туфелькой, что-то помню такое )
AvrDragon
Смахивает на God Object, хотя для 2д игры в принципе так даже проще.
Я планирую компонентную модель игрового объекта использовать, хочу первую игру сразу 3д делать с физикой, аи, скриптами, все как у больших дядек )
zlos
В шарпе Object является базовым классом абсолютно для всех классов.
У меня не все объекты будут наследоваться от IEntity, только те, которые теоретически могут шариться другими объектами, например разного рода ресурсы и игровые сущности.
Pushkoff
Скажем так я предпочитаю облегченную версию С++ в силу слабости своего ума, а жабой насколько я знаю нельзя создать полноценного приложения, хотя конечно могу и ошибаться.
Pushkoff
Это же классический компоновщик, как из книжки гаммы. А кто тогда должен обновлять детей, если не родитель?
innuendo
> какие ещё предложения ?
я так понимаю ITexture это интерфейс, который подразумевает кучу разновидностей текстур. нужно ли это7
Тема в архиве.