DarkflameServer/dScripts/FvConsoleLeftQuickbuild.cpp
David Markowitz 8cdb388915
Optimize scripts for faster compilation (#597)
* Implement Precompiled Headers

* First volume of optimizations

* Scripts A-B

Gonna be doing this in alphabetical order now.

* C Scripts and remove unneeded includes from base cppscripts header

Remove the MissionComponent and Loot includes from all base scripts and place their needed includes in the respective scripts.

* D scripts

* F scripts

* F scripts 2

Finish up removing extraneous includes from scripts that start with the letter F

* G scripts

Removing extraneous includes from scripts that start with the letter G

* I scripts

Removing extraneous includes from scripts that start with the letter I

* M-Z scripts

Removing extraneous includes from scripts that start with the letter M-Z

* Revert "Implement Precompiled Headers"

This reverts commit d79d8d4991.

* Revert "Revert "Implement Precompiled Headers""

This reverts commit 0597faf308.

* Add back in PCH

Add back in PCH

* Fix CMake

Whitespace

Remove duplicate file glob

Remove newline
2022-07-04 23:00:10 -07:00

59 lines
1.5 KiB
C++

#include "FvConsoleLeftQuickbuild.h"
#include "EntityManager.h"
#include "GameMessages.h"
void FvConsoleLeftQuickbuild::OnStartup(Entity* self)
{
self->SetVar(u"IAmBuilt", false);
self->SetVar(u"AmActive", false);
}
void FvConsoleLeftQuickbuild::OnRebuildNotifyState(Entity* self, eRebuildState state)
{
if (state == REBUILD_COMPLETED)
{
self->SetVar(u"IAmBuilt", true);
const auto objects = EntityManager::Instance()->GetEntitiesInGroup("Facility");
if (!objects.empty())
{
objects[0]->NotifyObject(self, "ConsoleLeftUp");
}
}
else if (state == REBUILD_RESETTING)
{
self->SetVar(u"IAmBuilt", false);
self->SetVar(u"AmActive", false);
const auto objects = EntityManager::Instance()->GetEntitiesInGroup("Facility");
if (!objects.empty())
{
objects[0]->NotifyObject(self, "ConsoleLeftDown");
}
}
}
void FvConsoleLeftQuickbuild::OnUse(Entity* self, Entity* user)
{
if (self->GetVar<bool>(u"AmActive"))
{
return;
}
if (self->GetVar<bool>(u"IAmBuilt"))
{
self->SetVar(u"AmActive", true);
const auto objects = EntityManager::Instance()->GetEntitiesInGroup("Facility");
if (!objects.empty())
{
objects[0]->NotifyObject(self, "ConsoleLeftActive");
}
}
GameMessages::SendTerminateInteraction(user->GetObjectID(), FROM_INTERACTION, self->GetObjectID());
}