Implemented die roll animations for the Lego Dice item

This commit is contained in:
BuildTools
2021-12-15 13:23:49 -06:00
parent d7294bda55
commit fb18225f46
4 changed files with 56 additions and 0 deletions

41
dScripts/LegoDieRoll.cpp Normal file
View File

@@ -0,0 +1,41 @@
#include "LegoDieRoll.h"
#include "Entity.h"
#include "GameMessages.h"
void LegoDieRoll::OnStartup(Entity* self) {
self->AddTimer("DoneRolling", 10.0f);
self->AddTimer("ThrowDice", LegoDieRoll::animTime);
}
void LegoDieRoll::OnTimerDone(Entity* self, std::string timerName) {
if (timerName == "DoneRolling") {
self->Smash(self->GetObjectID(), SILENT);
}
else if (timerName == "ThrowDice") {
int dieRoll = GeneralUtils::GenerateRandomNumber<int>(1, 6);
switch (dieRoll)
{
case 1:
GameMessages::SendPlayAnimation(self, u"roll-die-1");
break;
case 2:
GameMessages::SendPlayAnimation(self, u"roll-die-2");
break;
case 3:
GameMessages::SendPlayAnimation(self, u"roll-die-3");
break;
case 4:
GameMessages::SendPlayAnimation(self, u"roll-die-4");
break;
case 5:
GameMessages::SendPlayAnimation(self, u"roll-die-5");
break;
case 6:
GameMessages::SendPlayAnimation(self, u"roll-die-6");
break;
default:
break;
}
}
}