#pragma once #include <kernel/back/props/Physical.hpp> #include <kernel/back/engine/PhysicEngine.hpp> #include <engine/physic/front/object/TangibleStatic.hpp> #include <functional> #include <optional> namespace megu::kernel { class Fixed : public TangibleStatic, public Physical<PhysicEngine> { public: Fixed(float x, float y, float w, float h); void update_physic(double) const override; void on_collide(const Kernel &, const PhysicEngine &, Physical &, double) override; void apply(Kernel & k, PhysicEngine &) override; void setCollideLambda(const CollideLambda &); void setUpdateLambda(const UpdateLambda &); private: CollideLambda _collide; UpdateLambda _update; }; }