alai/src/coin/CoinCounter.cpp

51 lines
982 B
C++
Raw Normal View History

2022-06-25 20:54:47 -04:00
#include "coin/CoinCounter.h"
2022-08-28 01:08:04 -04:00
2022-08-27 18:32:33 -04:00
#include "Event.h"
2022-06-25 20:54:47 -04:00
2022-08-28 01:08:04 -04:00
#include <String.hpp>
void alai::CoinCounter::_register_methods()
2022-06-25 20:54:47 -04:00
{
godot::register_method("_on_coin_collected", &CoinCounter::_on_coin_collected);
godot::register_method("_ready", &CoinCounter::_ready);
2022-06-25 20:54:47 -04:00
}
2022-08-28 01:08:04 -04:00
alai::CoinCounter::CoinCounter()
2022-06-25 20:54:47 -04:00
{
}
2022-08-28 01:08:04 -04:00
alai::CoinCounter::~CoinCounter()
2022-06-25 20:54:47 -04:00
{
}
2022-08-28 01:08:04 -04:00
void alai::CoinCounter::_init()
2022-06-25 20:54:47 -04:00
{
2022-08-28 01:08:04 -04:00
coins = 0;
2022-06-25 20:54:47 -04:00
}
2022-08-28 01:08:04 -04:00
void alai::CoinCounter::_ready()
2022-06-25 20:54:47 -04:00
{
2022-09-01 18:34:37 -04:00
set_text("00");
2022-08-27 18:32:33 -04:00
auto event = get_node<alai::Event>("/root/Event");
event->connect("coin_collected", this, "_on_coin_collected");
2022-06-25 20:54:47 -04:00
}
2022-09-01 18:34:37 -04:00
void alai::CoinCounter::_on_coin_collected(int amount)
{
coins = coins + amount;
2022-09-01 23:20:53 -04:00
if (coins >= 100)
{
auto extra = coins - 100;
coins = extra;
}
2022-09-01 18:34:37 -04:00
godot::String coin_string = godot::String();
if (coins <= 9)
{
coin_string = "0" + godot::String::num(coins);
}
else{
coin_string = godot::String::num(coins);
}
set_text(coin_string);
}