/* Copyright 2003-2005 ROBLOX Corporation, All Rights Reserved */ #pragma once #include "Tool/PartDragTool.h" #include "Tool/ICancelableTool.h" #include namespace RBX { extern const char* const sPartDropTool; class PartDropTool : public Named , public ICancelableTool { private: typedef Named Super; public: ///////////////////////////////////////////////////////// // MouseCommand // /*override*/ void onMouseDelta(const shared_ptr& inputObject); /*override*/ shared_ptr onMouseDown(const shared_ptr& inputObject); ///*override*/ MouseCommand* onMouseUp(const shared_ptr& inputObject); /*override*/ shared_ptr onKeyDown(const shared_ptr& inputObject); /*override*/const std::string getCursorName() const {return MouseCommand::isAdvArrowToolEnabled() ? "advClosed-hand" : "DropCursor";} ///////////////////////////////////////////////////////// // ICancelableTool // /*override*/ shared_ptr onCancelOperation(); PartDropTool( PartInstance* mousePart, const Vector3& hitPointWorld, Workspace* workspace, shared_ptr selectIfNoDrag); ~PartDropTool(); private: Vector3 hitLocal; }; } // namespace RBX