#pragma once #include "objects/base/instance.h" #include #include class Part; class Snap : public Instance { rp::FixedJoint* joint; protected: void OnWorkspaceAdded(std::optional> oldWorkspace, std::shared_ptr newWorkspace) override; void OnWorkspaceRemoved(std::optional> oldWorkspace) override; public: const static InstanceType TYPE; std::optional> part0; std::optional> part1; Data::CFrame c0; Data::CFrame c1; Snap(); ~Snap(); static inline std::shared_ptr New() { return std::make_shared(); }; static inline std::shared_ptr Create() { return std::make_shared(); }; virtual const InstanceType* GetClass() override; };