group2 0.1.0
CSE 125 Group 2
Loading...
Searching...
No Matches
PowerupState.hpp
Go to the documentation of this file.
1
3
4#pragma once
5#include "PowerupSpawner.hpp"
6
7#include <vector>
8#include <array>
9#include <cstddef>
10
12{
14 float timeRemaining = 0.0f;
15};
16
18{
19 std::vector<ActivePowerup> active;
20};
21
23{
25 float duration = 10.0f;
26 float spawnCooldown = 20.0f;
27 float amount = 0.0f;
28};
29
31{
32 static constexpr std::array<PowerupConfig, 7> k_kPowerupConfigs{{
34 .type = PowerupType::Damage,
35 .duration = 15.0f,
36 .spawnCooldown = 240.0f,
37 .amount = 2.0f,
38 }, // Damage
40 .type = PowerupType::Shield,
41 .duration = 30.0f,
42 .spawnCooldown = 240.0f,
43 .amount = 200.0f, // amount of over shield
44 }, // Shield
45 }};
46
47 return k_kPowerupConfigs[static_cast<std::size_t>(type)];
48}
Powerup spawner information.
PowerupType
Definition PowerupSpawner.hpp:9
@ Shield
Definition PowerupSpawner.hpp:11
@ Damage
Definition PowerupSpawner.hpp:10
const PowerupConfig & getPowerupConfig(PowerupType type)
Definition PowerupState.hpp:30
Definition PowerupState.hpp:12
PowerupType type
Definition PowerupState.hpp:13
float timeRemaining
Definition PowerupState.hpp:14
Definition PowerupState.hpp:23
PowerupType type
Definition PowerupState.hpp:24
float spawnCooldown
Definition PowerupState.hpp:26
float duration
Definition PowerupState.hpp:25
float amount
Definition PowerupState.hpp:27
Definition PowerupState.hpp:18
std::vector< ActivePowerup > active
Definition PowerupState.hpp:19