1#include "Game/MapObj/CollectCounter.hpp"
2#include "Game/Util.hpp"
4CollectCounter::CollectCounter(
const char *pName) :
LayoutActor(pName, true) {
5 mFollowPosition.x = 0.0f;
6 mFollowPosition.y = 0.0f;
10 MR::connectToSceneLayout(
this);
11 initLayoutManager(
"CollectCounter", 1);
12 initNerve(&NrvCollectCounter::CollectCounterNrvHide::sInstance);
13 MR::setFollowPos(mFollowPosition,
this, 0);
17void CollectCounter::control() {
21void CollectCounter::setCount(s32 num) {
23 setNerve(&NrvCollectCounter::CollectCounterNrvShow::sInstance);
24 MR::setTextBoxNumberRecursive(
this,
"CollectCounter", num);
27bool CollectCounter::tryEndShow() {
28 if (MR::isAnimStopped(
this, 0)) {
29 setNerve(&NrvCollectCounter::CollectCounterNrvHide::sInstance);
37void CollectCounter::setPosition() {
38 f32 point_rad = MR::calcPointRadius2D(*MR::getPlayerCenterPos(), 75.0f);
40 MR::calcScreenPosition(&screen_pos, *MR::getPlayerCenterPos());
41 screen_pos.y -= point_rad;
42 mFollowPosition.x = screen_pos.x;
43 mFollowPosition.y = screen_pos.y;
46CollectCounter::~CollectCounter() {
50namespace NrvCollectCounter {
51 CollectCounterNrvHide CollectCounterNrvHide::sInstance;
52 CollectCounterNrvShow CollectCounterNrvShow::sInstance;
54 void CollectCounterNrvShow::execute(
Spine *pSpine)
const {
57 if (MR::isFirstStep(counter)) {
58 MR::startAnim(counter,
"Appear", 0);
61 counter->tryEndShow();
64 void CollectCounterNrvHide::execute(
Spine *pSpine)
const {
virtual void init(const JMapInfoIter &)
Intializes the NameObj and can set various settings and construct necessary classes.