/* Copyright 2014 ROBLOX Corporation, All Rights Reserved */ #pragma once #include "Util/BinaryString.h" #include "V8Tree/Instance.h" #include "V8Tree/Service.h" #include "V8DataModel/FlyweightService.h" #include #include "Value.h" namespace RBX { class PartOperation; extern const char *const sNonReplicatedCSGDictionaryService; class NonReplicatedCSGDictionaryService : public DescribedCreatable { protected: typedef DescribedCreatable Super; virtual void refreshRefCountUnderInstance(RBX::Instance* instance); void reparentChildData(shared_ptr childInstance); public: NonReplicatedCSGDictionaryService(); void storeData(PartOperation& partOperation, bool forceIncrement = false); void retrieveData(PartOperation& partOperation); void storeAllDescendants(shared_ptr instance); void retrieveAllDescendants(shared_ptr instance); }; }