CSC8503_Advanced_Game_Technologies / CSC8503 / CSC8503Common / State.h
State.h
Raw
#pragma once
#include <functional>

namespace NCL {
	namespace CSC8503 {
		typedef std::function<void(float)> StateUpdateFunction;

		class State {
		public:
			State() {}
			State(StateUpdateFunction someFunc) {
				func = someFunc;
			}
			void Update(float dt){
				if (func != nullptr) {
					func(dt);
				}
			}
		protected:
			StateUpdateFunction func;
		};
	}
}