#pragma once #include "CppScripts.h" struct QuickBuildSet { std::string name; std::vector effects; }; class NsConcertQuickBuild : public CppScripts::Script { public: void OnStartup(Entity* self) override; void OnRebuildComplete(Entity* self, Entity* target) override; void OnDie(Entity* self, Entity* killer) override; private: static std::vector finishedQuickBuilds; static const float resetBlinkTime; static const float resetStageTime; static const float resetActivatorTime; static const float resetTime; static const std::map quickBuildFX; static const std::map quickBuildSets; static float GetBlinkTime(float time); static void ProgressStageCraft(Entity* self, Entity* player); static void ProgressLicensedTechnician(Entity* self); static void UpdateEffects(Entity* self); static void CancelEffects(Entity* self); };