#pragma once #include namespace NCL { namespace CSC8503 { typedef std::function StateUpdateFunction; class State { public: State() {} State(StateUpdateFunction someFunc) { func = someFunc; } void Update(float dt){ if (func != nullptr) { func(dt); } } protected: StateUpdateFunction func; }; } }