File tree Expand file tree Collapse file tree 3 files changed +10
-9
lines changed Expand file tree Collapse file tree 3 files changed +10
-9
lines changed Original file line number Diff line number Diff line change 6
6
#include < le2d/event.hpp>
7
7
#include < le2d/renderer.hpp>
8
8
#include < le2d/service_locator.hpp>
9
- #include " glm/ext/vector_float2.hpp"
10
- #include " gsl/pointers"
9
+ #include < optional>
11
10
#include " le2d/texture.hpp"
11
+
12
12
namespace miracle {
13
13
class Lighthouse {
14
14
public:
15
15
explicit Lighthouse (gsl::not_null<le::ServiceLocator const *> services);
16
- void rotate_towards_cursor (glm::vec2 const & cursor_pos);
16
+
17
+ void rotate_towards_cursor (glm::vec2 cursor_pos);
17
18
void render (le::Renderer& renderer) const ;
18
19
19
20
private:
20
- le::drawable::Circle m_sprite{};
21
- std::optional<le::Texture> m_texture;
22
21
gsl::not_null<le::ServiceLocator const *> m_services;
22
+ std::optional<le::Texture> m_texture;
23
+ le::drawable::Circle m_sprite{};
23
24
};
24
25
} // namespace miracle
Original file line number Diff line number Diff line change 3
3
#include " le2d/data_loader.hpp"
4
4
5
5
namespace miracle {
6
-
7
6
Lighthouse::Lighthouse (gsl::not_null<le::ServiceLocator const *> services) : m_services(services) {
8
7
m_sprite.create (200 .0f );
9
8
@@ -13,17 +12,18 @@ Lighthouse::Lighthouse(gsl::not_null<le::ServiceLocator const*> services) : m_se
13
12
m_texture = asset_loader.load_texture (" images/lighthouse.png" );
14
13
m_sprite.texture = &m_texture.value ();
15
14
}
16
- void Lighthouse::rotate_towards_cursor (glm::vec2 const & cursor_pos) {
15
+
16
+ void Lighthouse::rotate_towards_cursor (glm::vec2 cursor_pos) {
17
17
auto const dist_sq = glm::length2 ((cursor_pos));
18
18
if (dist_sq > 0 .1f ) {
19
19
auto const dist = std::sqrt (dist_sq);
20
20
auto const normalized = cursor_pos / dist;
21
- static constexpr auto up_v = glm::vec2 (0 .01f , 1 .0f );
21
+ static constexpr auto up_v = glm::vec2 (0 .0f , 1 .0f );
22
22
auto const dot = glm::dot (normalized, up_v);
23
23
auto const angle = glm::degrees (std::acos (dot));
24
24
m_sprite.transform .orientation = cursor_pos.x > 0 .0f ? -angle : angle;
25
25
}
26
26
}
27
27
28
28
void Lighthouse::render (le::Renderer& renderer) const { m_sprite.draw (renderer); }
29
- } // namespace miracle
29
+ } // namespace miracle
You can’t perform that action at this time.
0 commit comments