#pragma once #include "V8Tree/Service.h" #include namespace RBX { class TimerService; extern const char* const sDebrisService; class DebrisService : public DescribedNonCreatable , public Service { private: typedef DescribedNonCreatable Super; std::queue > queue; int maxItems; bool legacyMaxItems; shared_ptr timer; public: DebrisService(); void addItem(shared_ptr item, double lifetime); void setMaxItems(int value); int getMaxItems() const { return maxItems; } void setLegacyMaxItems(bool); protected: virtual void onServiceProvider(ServiceProvider* oldProvider, ServiceProvider* newProvider); private: void cleanup(); }; }