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
	};
}