#pragma once #include "CppScripts.h" /** * Inherits regular scripts and provides functionality for objects to spawn a set of powerups over time by setting some * variables. Required variables should be set in the OnStartup and are: * - numCycles (uint32_t): the number of times to spawn powerups * - secPerCycle (float_t): the time between each cycle * - delayToFirstCycle (float_t): initial delay after startup before spawning powerups * - deathDelay (float_t): delay to wait before smashing after the final cycle has been initiated * - numberOfPowerups (uint32_t): how many powerups to spawn per cycle * - lootLOT (LOT): the powerup to spawn on each cycle */ class ScriptedPowerupSpawner : public CppScripts::Script { public: /** * Called by the child script after on startup * \param self the object this script belongs to */ static void OnTemplateStartup(Entity* self); void OnTimerDone(Entity* self, std::string message) override; };