/
Stage3.h
79 lines (61 loc) · 1.67 KB
/
Stage3.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
#pragma once
#include "Animation.h"
#include "Scene.h"
#include "Point.h"
struct SDL_Texture;
class Player;
class Stage3 : public Scene
{
public:
Stage3(SceneManager& manager);
~Stage3();
bool Init() override;
bool Start() override;
UpdateStatus PreUpdate() override;
UpdateStatus Update(float dt = 0.0f) override;
bool CleanUp() override;
void HandleCollision(Collider* a, Collider* b) override;
private:
bool LoadConfigFromFile(const char* file_path);
void CreateSceneTriggers();
void DeleteSceneTriggers();
void TriggerCollisionManagement(Collider *trigger);
void PlaceSceneItems();
public:
Player* player;
private:
SDL_Texture* graphics = nullptr;
SDL_Rect background_section;
iPoint background_pos = { 0,0 };
SDL_Rect middleground_section;
iPoint middleground_pos = { 0,0 };
SDL_Rect foreground_section;
iPoint foreground_pos = {0, 0};
Animation wave_sand;
iPoint wave_sand_pos = { 0, 0 };
Animation wave_splash;
iPoint wave_splash_pos = { 0, 0 };
std::string music_path = "";
std::string boss_music_path = "";
unsigned int fx_waves = 0;
// scene triggers
std::vector<Collider*> triggers;
Collider *spawn1 = nullptr;
Collider *spawn2 = nullptr;
Collider *spawn3 = nullptr;
Collider *spawn4 = nullptr;
Collider *spawn5 = nullptr;
Collider *spawn6 = nullptr;
Collider *spawn7 = nullptr;
Collider *spawn8 = nullptr;
Collider *spawn9 = nullptr;
Collider *spawn10 = nullptr;
Collider *cam_lock1 = nullptr;
Collider *cam_lock2 = nullptr;
Collider *cam_lock3 = nullptr;
Collider *cam_lock4 = nullptr;
Collider *battle_zone1 = nullptr;
Collider *battle_zone2 = nullptr;
Collider *battle_zone3 = nullptr;
Collider *battle_zone4 = nullptr;
};