#pragma once

#include "holly/ta_parameter.hpp"
#include "math/float_types.hpp"

namespace demo {

  struct scene {
    virtual mat4x4 init() = 0;
    virtual void analog(float dl, float dr, float dx, float dy) {}
    virtual void a() {}
    virtual void b() {}
    virtual void x() {}
    virtual void y() {}
    virtual void ra() {}
    virtual void la() {}
    virtual void da() {}
    virtual void ua() {}
    virtual void start() {}
    virtual void update() = 0;
    virtual void draw(ta_parameter_writer& writer, const mat4x4& trans) = 0;
  };
};
