camera_system.hpp 564 Bytes
Newer Older
1 2 3
#pragma once

#include <mirrage/utils/units.hpp>
Tim Scheiber's avatar
Tim Scheiber committed
4
#include <mirrage/ecs/entity_manager.hpp>
Tim Scheiber's avatar
Tim Scheiber committed
5
#include <mirrage/utils/messagebus.hpp>
Tim Scheiber's avatar
Tim Scheiber committed
6 7

#include "../messages.hpp"
8 9 10

#include "viewtarget_comp.hpp"
#include "spring_comp.hpp"
Tim Scheiber's avatar
Tim Scheiber committed
11
#include "shake_comp.hpp"
12 13 14 15 16

namespace phase_shifter::gameplay {

	class Camera_system {
	  public:
Tim Scheiber's avatar
Tim Scheiber committed
17
		Camera_system(mirrage::util::Message_bus& bus, mirrage::ecs::Entity_manager& entity_manager);
18 19 20 21
		void update(mirrage::util::Time dt);

	  private:
		mirrage::ecs::Entity_manager& _entity_manager;
Tim Scheiber's avatar
Tim Scheiber committed
22
		mirrage::util::Mailbox_collection _mailbox;
23 24
	};
}