blob: 2be693158d78faaa45a73e4fd25a3951bb0fcce0 (
plain)
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
|
#include "EndGameSubScript.h"
#include "../IFloatingWindowScript.h"
#include "api/Button.h"
#include "api/Sprite.h"
#include "api/Text.h"
#include "types.h"
#include "../../Events.h"
#include <string>
using namespace crepe;
EndGameSubScript::EndGameSubScript(const std::string & tag){
this->tag = tag;
}
void EndGameSubScript::init(){
this->disable_all();
this->subscribe<EndGameEvent>([this](const EndGameEvent e) { return this->enable_all(); });
this->subscribe<EndGameEvent>([this](const EndGameEvent e) { return this->reset_timescale(); });
}
bool EndGameSubScript::disable_all(){
IFloatingWindowScript::disable_all_sprites();
RefVector<Button> buttons = this->get_components_by_tag<Button>(this->tag);
for(Button & button : buttons){
button.active = false;
}
RefVector<Text> texts = this->get_components_by_tag<Text>(this->tag);
for(Text & text : texts){
text.active = false;
}
return false;
}
bool EndGameSubScript::enable_all(){
IFloatingWindowScript::enable_all_sprites();
RefVector<Button> buttons = this->get_components_by_tag<Button>(this->tag);
for(Button & button : buttons){
button.active = true;
}
RefVector<Text> texts = this->get_components_by_tag<Text>(this->tag);
for(Text & text : texts){
text.active = true;
}
return false;
}
bool EndGameSubScript::reset_timescale(){
this->get_loop_timer().set_time_scale(1);
return false;
}
|