diff options
Diffstat (limited to 'game/mainmenu/IButtonScript.cpp')
-rw-r--r-- | game/mainmenu/IButtonScript.cpp | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/game/mainmenu/IButtonScript.cpp b/game/mainmenu/IButtonScript.cpp new file mode 100644 index 0000000..ab907c4 --- /dev/null +++ b/game/mainmenu/IButtonScript.cpp @@ -0,0 +1,33 @@ +#include "IButtonScript.h" +#include "api/Sprite.h" +#include "iostream" +#include "system/InputSystem.h" +#include "types.h" +using namespace crepe; +using namespace std; + +void IButtonScript::init(){ + cout << "script init" << endl; + this->subscribe<ButtonExitEvent>([this](const ButtonExitEvent& e) { return this->on_button_exit(e); }); + this->subscribe<ButtonEnterEvent>([this](const ButtonEnterEvent& e) { return this->on_button_enter(e); }); +} +bool IButtonScript::on_button_exit(const ButtonExitEvent& e){ + RefVector<Sprite> sprites = this->get_components<Sprite>(); + for(Sprite & sprite : sprites) + { + sprite.data.color = Color{255,255,255,255}; + } + + cout << "button triggered:" << e.metadata.game_object_id << std::endl; + return false; +} +bool IButtonScript::on_button_enter(const ButtonEnterEvent& e){ + RefVector<Sprite> sprites = this->get_components<Sprite>(); + for(Sprite & sprite : sprites) + { + sprite.data.color = Color{200,200,200,255}; + } + cout << "button Enter:" << e.metadata.game_object_id << std::endl; + return false; +} + |