Plugin
*Nội dung này được dịch bằng AI (Beta) và có thể có lỗi. Để xem trang này bằng tiếng Anh, hãy nhấp vào đây.
Plugin là một trong những thống nhất chính trách tạo ra các thành phần cơ bản của Studio, các thanh công cụ của plugin, nút plugin và nhiều hơn nữa. Nó là một thống nhất add-on tùy chỉnh của Studio, thêm h
Mẫu mã
assert(plugin, "This script must be run as a plugin!")
-- Code beyond this point will execute only if the script is run as a plugin
-- Load the module and pass the plugin reference
local pluginModule = require(script.Parent.PluginModule)
pluginModule:Initialize(plugin)
-- Verify if the plugin reference was initialized
pluginModule:CheckForPluginGlobal()
local pluginModule = {}
local plugin -- Local plugin reference
-- Initialize the plugin reference if not already set
function pluginModule:Initialize(pluginReference: Plugin)
if plugin ~= pluginReference then
plugin = pluginReference
else
error("Plugin is already initialized")
end
end
-- Check if the plugin reference is set and print out appropriate info
function pluginModule:CheckForPluginGlobal()
if plugin ~= nil then
print("Plugin reference is set!")
else
warn("Plugin reference is missing!")
end
end
return pluginModule
Tóm Tắt
Thuộc Tính
Trả về whether the user enabled Collisions in studio under the Model tab.
Trả lại kích thước bắt lưới mà người dùng đã cài đặt trong Studio.
Phương Pháp
Đặt trạng thái của plugin kêu gọi được kích hoạt.
- CreatePluginAction(actionId : string,text : string,statusTip : string,iconName : string,allowBinding : bool):PluginAction
Tạo một PluginAction which is an object that represents a generic performable action in Roblox Studio, with no directly associates Toolbar or Enum.Button .
Tạo một menu mới cho plugin.
Tạo một PluginToolbar mới với tên đã được đặt.
Vô hiệu hóa plugin.
Trả lại Enum.JointCreationMode mà người dùng đã thiết lập trong studio dưới tab Mô Hình.
Đều trả một Mouse có thể được sử dụng trong khi plugin đang hoạt động.
Trả lại hiện đang chọn Enum.RibbonTool .
Lấy giá trị đã lưu trước đó bằng giá trị đã được cung chìa khóahoặc là nil nếu giá trị đã được cung cấp không tồn tại.
Trả về true nếu plugin này đang hoạt động, sau khi đã được kích hoạt thông qua hành động Plugin:Activate() .
Trả về true nếu plugin này hiện đang hoạt động với một chuột độc quyền, sau khi đã được kích hoạt thông qua chức năng Plugin:Activate() .
Làm đoán lại các bộ phận đã được cung cấp và trả lại các hoạt động tương ứng kết quả.
Được sử dụng để mở một trình tạo mô-đun nào đó trong một cửa sổ trình chỉnh sửa, trong Roblox studio, ở dòng được cho. Nếu không có dòng nào được cho là một biến đổi, nó sẽ mặc định là 1.
Mở cửa sổ trợ giúp ngôi context đến trang wiki mà url liên kết.
Mở một cửa sổ tải cho lựa chọn hiện tại của người dùng.
Kích hoạt công cụ Roblox Studio được xác định.
Tách ra các UnionOperations đã được cung cấp và trả lại các bộ phận tương ứng kết quả.
Lưu một giá trị đã được cung cấp cho một lần sử dụng sau đó dưới chìa khóa đã được cung cấp. Giá trị này sẽ tồn tại ngay cả sau khi studio đóng cửa.
Bắt đầu một hành động kéo mà được cung cấp một bảng tùy chỉnh.
Kết hợp các bộ phận được cung cấp và trả lại Kết hợp UnionOperation.
- CreateDockWidgetPluginGui(pluginGuiId : string,dockWidgetPluginGuiInfo : DockWidgetPluginGuiInfo):DockWidgetPluginGui
Tạo một DockWidgetPluginGui đã được trao cho một DockWidgetPluginGuiInfo .
Yêu cầu người dùng mở một tập tin hoạt họa .fbx có thể được tải lên trên rigModel , sau đó tiến hành nhúc nhích hoạt họa như một KeyframeSequence trong Workspace .
Yêu cầu người dùng mở một tập tin .fbx, tải các thành phần của mô hình lên như lưới, và tạo một cấu hình nhân vật để sử dụng trong hoạt hiệu ứng động, được tải vào Workspace .
Mở một cửa sổ trong Roblox Studio, yêu cầu người dùng chọn tài nguyên dựa trên assetType được xác định. Trả lại những gì đã được chọn là tài nguyên, hoặc -1 nếu cửa sổ đã đóng.
Yêu cầu người dùng lưu bản chọn hiện tại của họ với tên tập tin được xác định. Trả lại true nếu người dùng đã lưu tập tin.
Sự Kiện
Được kích hoạt khi plugin được tắt.
Lửa ngay trước khi Plugin ngừng chạy.
Thuộc Tính
DisableUIDragDetectorDrags
GridSize
Trở lại kích thước lưới kẻ thù mà người dùng đã cài đặt trong Studio dưới Mô hình hoặc Avatar tabs. Ghi chú rằng đặt này có thể có một số lỗi hiệu chuẩn; ví dụ, nó có thể là 0.
Phương Pháp
Activate
Hàm này thiết lập trạng thái của plugin gọi để được kích hoạt. Kích hoạt plugin cho phép kiểm soát chuột thông qua phương thức Plugin:GetMouse() .
Tại bất kỳ thời điểm nào có 0 hoặc 1 Plugin đã kích hoạt. Khi kích hoạt một plugin, tất cả các plugin khác sẽ bị tắt (họ sẽ nhận một sự kiện Plugin.Deactivation).
Xem thêm:
- Plugin:IsActivatedWithExclusiveMouse() , trả lại true nếu plugin này hiện đang hoạt động với một chuột chính xác, sau khi đã được kích hoạt thông qua chức năng này
- Plugin.Unloading , bắt đầu ngay lập tức sau khi plugin được unload hoặc reload thông qua uninstallation, deactivation hoặc cập nhật
Tham Số
Một biến đổi để xác nhận apakah để kích hoạt plugin với chuột riêng. Nếu true, a PluginMouse có thể được lấy lại thông qua Plugin:GetMouse() .
Lợi Nhuận
CreatePluginAction
Hàm này tạo một PluginAction đó là một đối tượng đại diện cho một hành động thực hiện genéric trong Roblox Studio, không có liên kết trực tiếp với Toolbar hoặc Enum.Button .
Khi một hành động được kích hoạt, sự kiện PluginAction.Triggered được kích hoạt.
Để PluginActions hoạt động như đã mong đợi, chúng phải được tạo bằng cách sử dụng chức năng này.
Xem thêm:
- PluginMenu , một menu ng上 context được hiển thị trong Studio để hiển thị danh sách các hành động Plugin và hỗ trợ các mục độ dưới cùng
- Plugin:CreatePluginMenu() , tạo một PluginMenu
Tham Số
Phải là một chuỗi độc nhất để xác định hành động này của Plugin từ người khác.
Tên hiển thị của hành động.
Mô tả hiển thị của hành động.
Tên của biểu tượng được sử dụng để hiển thị plugin.
Dù PluginAction sẽ được ẩn khỏi tầm nhìn của các tổng hợp nhanh Studio. Hữu ích cho các hành động ngữ cảnh. Mặc định là true.
Lợi Nhuận
Mẫu mã
local pluginAction = plugin:CreatePluginAction(
"HelloWorldAction",
"Hello World",
"Prints a 'Hello world!'",
"rbxasset://textures/sparkle.png",
true
)
pluginAction.Name = "Test Action"
local function actionTriggered()
print("Hello world!")
end
pluginAction.Triggered:Connect(actionTriggered)
CreatePluginMenu
Hàm này tạo một PluginMenu mới, which là một menu ng上下文 được hiển thị trong Studio that display a list of PluginActions and supports submenus.
Để PluginMenus hoạt động như đã mong đợi, chúng phải được tạo bằng cách sử dụng chức năng này.
Xem thêm:
- PluginAction , một đối tượng đại diện cho một hành động thực hiện chung trong Roblox Studio, không có liên kết trực tiếp với Toolbar hoặc Enum.Button .
- Plugin:CreatePluginAction() , tạo một PluginAction
- PluginMenu.Title , text để được hiển thị khi được sử dụng như một thành phần con
- PluginMenu.Icon , hình nhược để hiển thị khi sử dụng như một thẻ con
- PluginMenu:AddAction() , thêm hành động đã được cho vào menu
- PluginMenu:AddNewAction() , tạo một hành động tạm thời được ẩn trong cửa sổ hành động tùy chỉnh của Studio
- PluginMenu:AddMenu() , thêm menu đã được cho vào như một ngăn cách
- PluginMenu:AddSeparator() , thêm một dấu chia cách giữa các mục trong menu
- PluginMenu:Clear() , làm sạch menu
- PluginMenu:ShowAsync() , hiển thị menu ở thanh chuột. Tạo ra cho đến khi một mục được chọn hoặc mục được đóng. Hành động được chọn bắt đầu kích hoạt sự kiện của nó Tiếng Việt: Class.PluginMenu:ShowAsync() , hiển thị menu ở thanh chuột. Tạo ra cho đến khi một mục được chọn hoặc mụ
Tham Số
ID độc nhất cho menu.
Văn bản để được hiển thị khi được sử dụng như một thẻ con.
Biểu tượng được hiển thị khi được sử dụng như một thẻ con.
Lợi Nhuận
Mẫu mã
-- This code can be pasted into the command bar, but only once
local pluginMenu = plugin:CreatePluginMenu(math.random(), "Test Menu")
pluginMenu.Name = "Test Menu"
pluginMenu:AddNewAction("ActionA", "A", "rbxasset://textures/loading/robloxTiltRed.png")
pluginMenu:AddNewAction("ActionB", "B", "rbxasset://textures/loading/robloxTilt.png")
local subMenu = plugin:CreatePluginMenu(math.random(), "C", "rbxasset://textures/explosion.png")
subMenu.Name = "Sub Menu"
subMenu:AddNewAction("ActionD", "D", "rbxasset://textures/whiteCircle.png")
subMenu:AddNewAction("ActionE", "E", "rbxasset://textures/icon_ROBUX.png")
pluginMenu:AddMenu(subMenu)
pluginMenu:AddSeparator()
pluginMenu:AddNewAction("ActionF", "F", "rbxasset://textures/sparkle.png")
local toggle = Instance.new("BoolValue")
toggle.Name = "TogglePluginMenu"
toggle.Parent = workspace
local function onToggled()
if toggle.Value then
toggle.Value = false
local selectedAction = pluginMenu:ShowAsync()
if selectedAction then
print("Selected Action:", selectedAction.Text, "with ActionId:", selectedAction.ActionId)
else
print("User did not select an action!")
end
end
end
toggle.Changed:Connect(onToggled)
CreateToolbar
Hàm TạoToolbar tạo một PluginToolbar mới với tên đã được đặt. Công cụ thanh bên có thể then được sử dụng để tạo các nút plugin.
Tham Số
Văn bản có thể nhìn thấy ở thanh công cụ, nhãn nhóm các nút được chứa bên trong.
Lợi Nhuận
Mẫu mã
plugin:CreateToolbar("ExampleToolbar")
Deactivate
Khiết đóng plugin. Điều này sẽ bỏ đóng PluginMouse đối với nó nếu nó đã được kích hoạt
Xem thêm:
- Plugin:Activate() , đặt trạng thái của plugin kêu gọi để được kích hoạt
- Plugin.Deactivation , kích hoạt khi plugin được tắt
- Plugin.Unloading , bắt đầu ngay lập tức sau khi plugin được unload hoặc reload thông qua uninstallation, deactivation hoặc cập nhật
Lợi Nhuận
GetJoinMode
Trả lại Enum.JointCreationMode mà người dùng đã thiết lập trong studio dưới tab Mô Hình.
Lợi Nhuận
GetMouse
GetMouse trả lại một PluginMouse có thể được sử dụng khi plugin đang hoạt động thông qua Plugin:Activate() .
Lợi Nhuận
Mẫu mã
local mouse = plugin:GetMouse()
local function button1Down()
print("Button 1 pressed from PluginMouse")
end
mouse.Button1Down:Connect(button1Down)
GetSelectedRibbonTool
LấySelectedRibbonTool trả về các lựa chọn hiện tại Enum.RibbonTool . Nó trả lại một Enum tương ứng với một công cụ nhất định. Điều này sẽ trả lại có phải công cụ được chọn thủ công hoặc qua Plugin:SelectRibbonTool() .
Lợi Nhuận
Mẫu mã
plugin:SelectRibbonTool(Enum.RibbonTool.Move, UDim2.new())
task.wait() -- wait for next frame
local selectedRibbonTool = plugin:GetSelectedRibbonTool()
print("The selected RibbonTool is", selectedRibbonTool)
GetSetting
Lấy giá trị đã lưu trước đó bằng giá trị đã được cung chìa khóahoặc là nil nếu giá trị đã được cung cấp không tồn tại.
Vì nhiều instância của cùng một plugin có thể chạy song song (ví dụ, nếu nhiều cửa sổ Studio đang mở), bạn không nên phụ thuộc vào giá trị này để đảm bảo cùng một giá trị qua thời gian. Các instância plugin khác có thể cập nhật cài đặt bất kỳ lúc nào.
Cuộc gọi này có thể im lặng thất bại và trả lại nil nếu nhiều instância của cùng một plugin đang đọc và viết dữ liệu. Nếu plugin của bạn mong đợi viết vào cài đặt thường xuyên, bạn nên kiểm tra lại giá trị trả lại từ cuộc gọi này sau một thời gian ngắn
Tham Số
Lợi Nhuận
Mẫu mã
local RAN_BEFORE_KEY = "RanBefore"
local didRunBefore = plugin:GetSetting(RAN_BEFORE_KEY)
if didRunBefore then
print("Welcome back!")
else
plugin:SetSetting(RAN_BEFORE_KEY, true)
print("Welcome! Thanks for installing this plugin!")
end
IsActivated
Hàm này trả về true nếu plugin này hiện đang hoạt động, sau khi đã được kích hoạt thông qua hàm Plugin:Activate() .
Lợi Nhuận
Một biểu tượngBoolean cho biết có phải plugin hiện đang chạy hay không.
IsActivatedWithExclusiveMouse
Hàm này trả về true nếu plugin này hiện đang hoạt động với một chuột riêng, sau khi đã được kích hoạt thông qua hàm Plugin:Activate(). Nếu hàm này trả về true, một PluginMouse có thể được lấy lại thông qua hàm Plugin:GetMouse().
Xem thêm:
- Plugin.Deactivation , kích hoạt khi plugin được tắt
- Plugin.Unloading , bắt đầu ngay lập tức sau khi plugin được unload hoặc reload thông qua uninstallation, deactivation hoặc cập nhật
Lợi Nhuận
Whether this plugin is currently active with a chuộtexclusive.
Negate
Làm đoán lại các bộ phận đã được cung cấp và trả lại các hoạt động tương ứng kết quả.
Tham Số
Lợi Nhuận
OpenScript
Được sử dụng để mở một trình tạo mô-đun nào đó trong một cửa sổ trình chỉnh sửa, trong Roblox studio, ở dòng được cho. Nếu không có dòng nào được cho là một biến đổi, nó sẽ mặc định là 1.
Tham Số
Lợi Nhuận
Mẫu mã
local newScript = Instance.new("Script")
newScript.Parent = workspace
plugin:OpenScript(newScript)
OpenWikiPage
Mở cửa sổ trợ giúp ngôi context đến trang wiki mà url liên kết.
Tham Số
Lợi Nhuận
Mẫu mã
plugin:OpenWikiPage("API:Class/BasePart")
SaveSelectedToRoblox
Mở một cửa sổ tải cho lựa chọn hiện tại của người dùng.
Lợi Nhuận
SelectRibbonTool
Kích hoạt công cụ Roblox Studio được xác định. Nếu công cụ mở một cửa sổ, tham số vị trí xác định nơi nó nên được hiển thị trên màn hình.
Ghi chú:
- Một đối tượng phải được chọn để điều này hoạt động đúng cách.
- Đổi các trường thước đo của position tính sẽ không ảnh hưởng đến các cửa sổ trò chuyện.
Tham Số
Lợi Nhuận
Separate
Tách ra các UnionOperations đã được cung cấp và trả lại các bộ phận tương ứng kết quả.
Tham Số
Lợi Nhuận
SetSetting
Lưu một giá trị đã được cung cấp cho một mục đích sử dụng sau đó dưới chìa khóa đã được cung cấp. Giá trị này sẽ tồn tại ngay cả sau khi Roblox Studio đóng cửa. Các cài đặt này được lưu trong hình dạng JSON như một bản đồ với các chìa khóa ngẫu nhiên. Các bi
Ghi chú rằng format JSON áp dụng thêm hạn chế, bao gồm các ký tự sau đây có thể làm hỏng tập tin cài đặt:
- Backslashes ( \ ) trong các chìa khóa hoặc giá trị, đặc biệt là những dấu chéo lối ( \" ).
- Các dòng mới ( \n ) trong các khoản.
- Những câu nói ( " ) trong các ký tự.
- Các khoảng thời gian ( ) trong các chìa khóa.
Cuộc gọi này có thể im lặng không thành công nếu nhiều instância của cùng một plugin đang đọc và viết dữ liệu. Nếu plugin của bạn mong đợi viết vào cài đặt thường xuyên, bạn có thể kiểm tra rằng dữ liệu đã được viết đúng cách bằng cách gọi Plugin:GetSetting() .
Tham Số
Lợi Nhuận
Mẫu mã
local RAN_BEFORE_KEY = "RunBefore"
local hasRunBefore = plugin:GetSetting(RAN_BEFORE_KEY)
if hasRunBefore then
print("Welcome back!")
else
print("Thanks for installing this plugin!")
plugin:SetSetting(RAN_BEFORE_KEY, true)
end
StartDrag
Bắt đầu拖> khởi tạo một hành động kéo bằng cách sử dụng một từ điển các biến. Các biến là như sau:
<tbody><tr><td><b>Người gửi tin nhắn</b></td><td>chuỗi</td><td><code>" "</code></td><td>Xác định nguồn của hành động kéo đến mục tiêu thả</td></tr><tr><td><b>MimeType</b></td><td>chuỗi</td><td><code>" "</code></td><td>Loại <a href="https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/MIME_types">MIME</a> của <b>Dữ liệu</b> .</td></tr><tr><td><b>Dữ liệu</b></td><td>chuỗi</td><td><code>" "</code></td><td>Thông tin về hành động kéo, chẳng hạn như những gì đang bị kéo. Nên được sử dụng bởi mục tiêu kéo.</td></tr><tr><td><b>Biểu Tượng Màu Sắc</b></td><td><code>Datatype.Content</code></td><td><code>" "</code></td><td>Biểu tượng để sử dụng cho chuột trong khi kéo. Nếu trống, sử dụng chuột mặc định.</td></tr><tr><td><b>C拖动图标</b></td><td><code>Datatype.Content</code></td><td><code>" "</code></td><td>Một hình ảnh để xử lý dưới chuột chuột trong khi kéo. Điều này nên đại diện cho món đồ đang được kéo.</td></tr><tr><td><b>HotSpot.</b></td><td><code>Datatype.Vector2</code></td><td><code>Datatype.Vector2.new(0, 0)</code></td><td>Sự thay đổi pixel từ bên trên bên trái nơi mà con trỏ nên "giữ" <b>DragIcon</b> .</td></tr></tbody>
Tên | Kiểu | Mặc định | Mô tả |
---|
Xem thêm:
Tham Số
Lợi Nhuận
Mẫu mã
assert(plugin, "This script must be run as a Studio plugin")
local widgetInfo = DockWidgetPluginGuiInfo.new(Enum.InitialDockState.Float, true, true, 300, 200)
local dragSourceWidget = plugin:CreateDockWidgetPluginGui("Drag Source", widgetInfo)
dragSourceWidget.Title = "Drag Source"
local textBox = Instance.new("TextBox")
textBox.Parent = dragSourceWidget
textBox.Size = UDim2.new(1, 0, 0, 32)
textBox.Text = "Hello, plugin drags"
local dragButton = Instance.new("TextButton")
dragButton.Size = UDim2.new(1, 0, 1, -32)
dragButton.Position = UDim2.new(0, 0, 0, 32)
dragButton.Text = "Edit the text above, then start drag here"
dragButton.Parent = dragSourceWidget
function onMouseButton1Down()
local dragData = {
Sender = "SomeDragSource",
MimeType = "text/plain",
Data = textBox.Text,
MouseIcon = "",
DragIcon = "",
HotSpot = Vector2.new(0, 0),
}
plugin:StartDrag(dragData)
end
dragButton.MouseButton1Down:Connect(onMouseButton1Down)
-- This widget will receive drops
local dragTargetWidget = plugin:CreateDockWidgetPluginGui("Drop Target", widgetInfo)
dragTargetWidget.Title = "Drop Target"
-- This TextLabel will display what was dropped
local textLabel = Instance.new("TextLabel")
textLabel.Size = UDim2.new(1, 0, 1, 0)
textLabel.Text = "Drop here..."
textLabel.Parent = dragTargetWidget
local function onDragDrop(dragData)
if dragData.MimeType == "text/plain" then
textLabel.Text = dragData.Data
else
textLabel.Text = dragData.MimeType
end
end
dragTargetWidget.PluginDragDropped:Connect(onDragDrop)
dragTargetWidget.PluginDragEntered:Connect(function(_dragData)
print("PluginDragEntered")
end)
dragTargetWidget.PluginDragLeft:Connect(function(_dragData)
print("PluginDragLeft")
end)
dragTargetWidget.PluginDragMoved:Connect(function(_dragData)
print("PluginDragMoved")
end)
Union
Kết hợp các bộ phận được cung cấp và trả lại Kết hợp UnionOperation.
Tham Số
Lợi Nhuận
CreateDockWidgetPluginGui
CreateDockWidgetPluginGui tạo một new DockWidgetPluginGui từ các tham số đã được đưa DockWidgetPluginGuiInfo . Đối số đầu tiên, 0> uginGuiId0> , nên là một chuỗi độc nhất và coherent. Nó đ
Tham Số
Một identifers độc đáo và đồng nhất được sử dụng để lưu trạng thái bến tàu và các chi tiết nội bộ khác.
Mô tả DockWidgetPluginGui để tạo (tình trạng ban đầu, kích thước,v.v...)
Lợi Nhuận
Mẫu mã
-- Create new 'DockWidgetPluginGuiInfo' object
local widgetInfo = DockWidgetPluginGuiInfo.new(
Enum.InitialDockState.Float, -- Widget will be initialized in floating panel
true, -- Widget will be initially enabled
false, -- Don't override the previous enabled state
200, -- Default width of the floating window
300, -- Default height of the floating window
150, -- Minimum width of the floating window (optional)
150 -- Minimum height of the floating window (optional)
)
-- Create new widget GUI
local testWidget = plugin:CreateDockWidgetPluginGui("TestWidget", widgetInfo)
local testButton = Instance.new("TextButton")
testButton.BorderSizePixel = 0
testButton.TextSize = 20
testButton.TextColor3 = Color3.new(1, 0.2, 0.4)
testButton.AnchorPoint = Vector2.new(0.5, 0.5)
testButton.Size = UDim2.new(1, 0, 1, 0)
testButton.Position = UDim2.new(0.5, 0, 0.5, 0)
testButton.SizeConstraint = Enum.SizeConstraint.RelativeYY
testButton.Text = "Click Me"
testButton.Parent = testWidget
ImportFbxAnimation
Hành động này yêu cầu người dùng mở một tập tin hoạt họa .fbx có thể được tải lên trên rigModel , sau đó tiến hành nhúc nhích hoạt họa như một KeyframeSequence trong Workspace .
Tham Số
Lợi Nhuận
ImportFbxRig
Yêu cầu người dùng mở một tập tin .fbx, tải các thành phần của mô hình lên như lưới, và tạo một cấu hình nhân vật để sử dụng trong hoạt hiệu ứng động, được tải vào Workspace .
Tham Số
Lợi Nhuận
PromptForExistingAssetId
Mở một cửa sổ trong Roblox Studio, yêu cầu người dùng chọn tài nguyên dựa trên assetType được xác định. Trả lại những gì đã được chọn là tài nguyên, hoặc -1 nếu cửa sổ đã đóng.
Tham Số
Lợi Nhuận
Sự Kiện
Deactivation
Đã kích hoạt khi Plugin bị tắt. Điều này xảy ra khi mã plugin gọi Plugin:Deactivate() , hoặc vì một plugin khác gọi Plugin:Activate(), khiến tất cả các plugin khác mất trạng thái chủ động.
Xem thêm:
- Plugin.Unloading , bắt đầu ngay lập tức sau khi plugin được unload hoặc reload thông qua uninstallation, deactivation hoặc cập nhật
Unloading
Sự kiện này bắt đầu ngay sau khi Plugin ngừng chạy. Plugins được tải lại khi bị vô hiệu hóa, bị xóa, sắp được cập nhật hoặc khi nơi đó đang đóng cửa.
Nó cho phép một plugin để làm sạch sau chính nó trước khi các kịch bản của nó dừng chạy, ví dụ như để loại bỏ các instância không cần thiết khỏi Class.DataModel . Nếu một plugin không làm sạch đúng cách, các bản sao cũ sẽ ở lại. Khi điều này xảy ra, người
Các trường hợp liên quan đến plugin, ví dụ như PluginToolbarButtons , DockWidgetPluginGuis và PluginGuis được tự động làm sạch khi plugin được unloaded , vì vậy không cần phải loại bỏ chúng.