mirror of
https://github.com/DarkflameUniverse/DarkflameServer.git
synced 2025-12-30 18:00:12 -06:00
* Breakout rest of the enums from dcommonvars so we don't have to deal with merge conflicts ePlayerFlags is not a scoped enum, yet, due to it's complexity * address feedback * make player flag types consistent * fix typo
34 lines
1.3 KiB
C++
34 lines
1.3 KiB
C++
#include "PropertyPlatform.h"
|
|
#include "RebuildComponent.h"
|
|
#include "GameMessages.h"
|
|
#include "MovingPlatformComponent.h"
|
|
|
|
void PropertyPlatform::OnRebuildComplete(Entity* self, Entity* target) {
|
|
// auto* movingPlatform = self->GetComponent<MovingPlatformComponent>();
|
|
// if (movingPlatform != nullptr) {
|
|
// movingPlatform->StopPathing();
|
|
// movingPlatform->SetNoAutoStart(true);
|
|
// }
|
|
GameMessages::SendPlatformResync(self, UNASSIGNED_SYSTEM_ADDRESS, true, 0,
|
|
0, 0, eMovementPlatformState::Stationary);
|
|
}
|
|
|
|
void PropertyPlatform::OnUse(Entity* self, Entity* user) {
|
|
auto* rebuildComponent = self->GetComponent<RebuildComponent>();
|
|
if (rebuildComponent != nullptr && rebuildComponent->GetState() == eRebuildState::COMPLETED) {
|
|
// auto* movingPlatform = self->GetComponent<MovingPlatformComponent>();
|
|
// if (movingPlatform != nullptr) {
|
|
// movingPlatform->GotoWaypoint(1);
|
|
// }
|
|
GameMessages::SendPlatformResync(self, UNASSIGNED_SYSTEM_ADDRESS, true, 0,
|
|
1, 1, eMovementPlatformState::Moving);
|
|
|
|
self->AddCallbackTimer(movementDelay + effectDelay, [self, this]() {
|
|
self->SetNetworkVar<float_t>(u"startEffect", dieDelay);
|
|
self->AddCallbackTimer(dieDelay, [self]() {
|
|
self->Smash();
|
|
});
|
|
});
|
|
}
|
|
}
|