#include "FallingTile.h" #include "MovingPlatformComponent.h" #include "GameMessages.h" void FallingTile::OnStartup(Entity* self) { auto movingPlatfromComponent = self->GetComponent(); if (movingPlatfromComponent == nullptr) { return; } movingPlatfromComponent->SetSerialized(true); } void FallingTile::OnCollisionPhantom(Entity* self, Entity* target) { if (self->GetVar(u"AboutToFall")) { return; } self->AddTimer("flipTime", 0.75f); self->SetVar(u"AboutToFall", true); self->SetNetworkVar(u"startEffect", 2); } void FallingTile::OnWaypointReached(Entity* self, uint32_t waypointIndex) { if (waypointIndex == 1) { } else if (waypointIndex == 0) { } } void FallingTile::OnTimerDone(Entity* self, std::string timerName) { auto movingPlatfromComponent = self->GetComponent(); if (movingPlatfromComponent == nullptr) { return; } if (timerName == "flipTime") { self->AddTimer("flipBack", 2.0f); self->SetNetworkVar(u"stopEffect", 3); movingPlatfromComponent->GotoWaypoint(1); GameMessages::SendPlayFXEffect(self->GetObjectID(), -1, u"down", "down"); } else if (timerName == "flipBack") { self->SetVar(u"AboutToFall", false); movingPlatfromComponent->GotoWaypoint(0); GameMessages::SendPlayFXEffect(self->GetObjectID(), -1, u"up", "up"); } }