RType
TextComponent.cpp
Go to the documentation of this file.
1 /*
2 ** EPITECH PROJECT, 2023
3 ** R-type
4 ** File description:
5 ** R-type
6 */
7 
8 #include "TextComponent.hpp"
9 
10 #include <utility>
11 
12 /**
13  * @brief Construct a new Text Component:: Text Component object
14  *
15  * @param core
16  * @param socket
17  */
18 TextComponent::TextComponent(ClientCore *core, std::shared_ptr<ClientSocket> socket) :
19  AComponent(core)
20 {
21  _type = ComponentType::TEXT;
22  _text = "base_text";
23  _sfText.setString(_text);
24  _font.loadFromFile("../src/client/assets/fonts/DecemberShow.ttf");
25  _sfText.setFont(_font);
26  _position = sf::Vector2f(0, 0);
27  _sfText.setPosition(_position);
28  _color = sf::Color::White;
29  _sfText.setFillColor(_color);
30  _size = 30;
31  _sfText.setCharacterSize(_size);
32  _attribute = "";
33  _socket = std::move(socket);
34 }
35 
37 {
38 }
39 
40 /**
41  * @brief setText, set the text
42  * @param text
43  */
44 void TextComponent::setText(std::string text)
45 {
46  _text = std::move(text);
47  _sfText.setString(_text);
48 }
49 
50 /**
51  * @brief setFont, set the font
52  * @param font
53  */
54 void TextComponent::setFont(const sf::Font &font)
55 {
56  _font = font;
57  _sfText.setFont(_font);
58 }
59 
60 /**
61  * @brief setPosition, set the position
62  * @param position
63  */
64 void TextComponent::setPosition(sf::Vector2f position)
65 {
66  _position = position;
67  _sfText.setPosition(_position);
68 }
69 
70 /**
71  * @brief setColor, set the color
72  * @param color
73  */
74 void TextComponent::setColor(sf::Color color)
75 {
76  _color = color;
77  _sfText.setFillColor(_color);
78 }
79 
80 /**
81  * @brief setSize, set the size
82  * @param size
83  */
84 void TextComponent::setSize(unsigned int size)
85 {
86  _size = size;
87  _sfText.setCharacterSize(_size);
88 }
89 
90 /**
91  * @brief display, display the text
92  * @param window
93  */
94 void TextComponent::display(sf::RenderWindow &window)
95 {
96  window.draw(_sfText);
97 }
98 
99 void TextComponent::handleEvent(const sf::Event &event, sf::RenderWindow &window)
100 {
101 }