template <> MetaStuff
inline auto registerMembers
{
return members(
member("name", &Engine::Object::getName),
member("position", &Engine::Object::position),
member("IsActive", &Engine::Object::IsActive)
);
}
class Item : public Engine::Object
{
public:
Item() = default;
Item(std::string name) : Object(name) { type = ItemType::item; weight = 0; }
virtual ~Item();
float getWeight();
ItemType getType();
protected:
ItemType type;
float weight;
};
template
class DebugWindows
{
public:
DebugWindows();
~DebugWindows();
void set(T* p)
{
ptr = p;
static_assert(meta::isRegistered
}
void draw(std::string nameTree, bool isFirstDraw = false);
private:
template
valueType checkType();
T* ptr;
sf::Vector2f size = { 400,400 };
};
class AnimationXml final : public Animation AnimationManager class Animation
{
public:
std::vector
sf::IntRect& tick(float time) override
{
frame += 0.009 * time;
if (frame > 19) frame = 0;
return frames[frame];
}
};
{
public:
float frame; ///< кол-во кадров
float frameCount;
float speed; ///< скорость анимации
std::string name;
sf::Vector2f scale;
virtual sf::IntRect& tick(float time) = 0;
};
Регистрация класса
void Engine::AudioPlayer::LoadMusic(std::string name, std::string patch)
{
auto Mus = new Music;
Mus->openFromFile(patch);
Mus->setVolume(volume);
Console::AppLog::addLog("Load music at path(" + patch + ")", Console::logType::system);
musList.emplace_back(name, Mus);
}
Если не удалось найти и скачать доклад-презентацию, Вы можете заказать его на нашем сайте. Мы постараемся найти нужный Вам материал и отправим по электронной почте. Не стесняйтесь обращаться к нам, если у вас возникли вопросы или пожелания:
Email: Нажмите что бы посмотреть