68 void initialiseClass(std::unordered_map<std::type_index, std::vector<std::any>> &ecsEntities);
70 void setNetworkClass(
const std::shared_ptr<GUI::Network::ThreadCapsule> &network);
90 void tick(
const std::vector<GUI::Network::MessageNode> &packets);
126 const std::string
getInfo(
const unsigned int indent = 0)
const;
149 void _gameOverSound();
158 void _spawn(
const std::uint32_t
id,
const std::pair<float, float> &pos);
166 void _spawnFriendBullet(
const std::uint32_t
id,
const std::pair<float, float> &pos);
174 void _spawnEnemyBullet(
const std::uint32_t
id,
const std::pair<float, float> &pos);
182 void _setPosition(
const std::uint32_t
id,
const std::pair<float, float> &pos);
189 void _killEntity(
const std::uint32_t
id);
208 void _spawnEnemy(
const std::uint32_t
id,
const std::pair<float, float> pos);
218 const int _randInt(
int min = 0,
int max = 5);
228 void _setTextComponents();
230 bool _playing =
false;
231 bool _gameWon =
false;
232 bool _gameOver =
false;
237 float _screenPosXOffset = 75;
238 float _screenPosYOffset = 45;
239 long int _activeEnemies = 0;
240 std::size_t _playerId = 0;
241 std::optional<std::shared_ptr<GUI::ECS::Components::TextComponent>> _remainingEnemies;
242 std::optional<std::shared_ptr<GUI::ECS::Components::ImageComponent>> _backgroundItem;
243 std::shared_ptr<GUI::ECS::Components::SpriteComponent> _spriteBullet;
244 std::shared_ptr<GUI::ECS::Components::SpriteComponent> _spriteBulletEnemy;
245 std::shared_ptr<GUI::ECS::Components::SpriteComponent> _spritePlayer;
246 std::shared_ptr<GUI::ECS::Components::SpriteComponent> _spriteEnemy;
247 std::vector<GUI::ECS::Online::Bullet> _playerBullets;
248 std::vector<GUI::ECS::Online::Bullet> _enemyBullets;
249 std::shared_ptr<GUI::ECS::Systems::Window> _window;
250 std::shared_ptr<GUI::ECS::Systems::EventManager> _event;
251 std::vector<std::shared_ptr<GUI::ECS::Online::PlayerBrain>> _playerBrain;
252 std::vector<std::shared_ptr<GUI::ECS::Online::EnemyBrain>> _enemyBrain;
253 std::unordered_map<std::type_index, std::vector<std::any>> _ecsEntities;
254 std::optional<std::shared_ptr<GUI::Network::ThreadCapsule>> _network;