Artymon / game_engine

0 stars 1 forks source link

Наследование #1

Open Demetri0 opened 9 years ago

Demetri0 commented 9 years ago

Может имело бы смысл наследовать класс game_engine от классов ogre_engine и bullet_engine?

Artymon commented 9 years ago

да в моём коде сейчас мало смысла, просто вырезки из других исходников если подумать, насчёт этого подумаю если это будет полезно

Demetri0 commented 9 years ago

я сейчас подумал наследование наверно не лучший вариант, но классы bullet_engine<-(наследуемый от)physics_engine и ogre_engine<-graphics_engine полюбому нужны.

Думаю graphics_engine и physics_engine следует сделать виртуальными, потому как их экземпляры не должны создаваться, и они должны иметь методы init и что-нибудь ещё, пока из твоего проекта не видно что ещё в них можно вынести.

Добавлено: и ещё у тебя есть методы *_execution - что не совсем логично, обычно такие методы перехватывают полностью управление(т.е. обработку событий) и работают до завершения. лучше назвать методы stepSimulation или nextStep

class physics_engine{
    virtual int init() = 0;
    virtual int nextStep() = 0;
}
class bullet_engine : physics_engine{
    virtual int init(){...}
    virtual int nextStep(){...};
}

Когда сделаешь это возможно желание кодить появиться, потому как уже приличная часть кода начнёт разбиваться по модулям.