Plugin
*Bu içerik, yapay zekâ (beta) kullanılarak çevrildi ve hatalar içerebilir. Sayfayı İngilizce görüntülemek için buraya tıkla.
Plugin , temel Studio widget'leri, plugin araç çubukları, plugin düğmeleri ve daha fazlasını oluşturan ana objedir. Bu, normalde dahil edilmeyen yeni davranışlar ve özellikler ekleyen özel bir Studio eklentisi dir. plugin objesi, bir <
Kod Örnekleri
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
Özet
Özellikler
Stüdyo altındaki Collisionsyi etkinleştirdiğini kullanıcı olarak Studio'da iptal eder.
Stüdyo'da belirlediği kullanıcının girdiği küresel boyutu döndürür.
Yöntemler
Çağrı plugininin devletini etkinleştirmeye ayarlar.
- CreatePluginAction(actionId : string,text : string,statusTip : string,iconName : string,allowBinding : bool):PluginAction
Roblox Studio'da genel yapılabilir bir eylemi temsil eden bir nesne oluşturur, PluginAction ile, doğrudan ilişkili olmayan Toolbar veya Enum.Button .
Yeni bir plugin menüsü oluşturur.
Verilen isimle bir yeni PluginToolbar oluşturur.
Eklentiyi devre dışı bırakır.
Stüdyo altındaki Enum.JointCreationMode modunu kullanıcının ayarladığını döndürür.
Etkinken kullanılabilen bir Mouse döndürür.
Aktuel olarak seçilmiş Enum.RibbonTool 'i döndürür.
Eski değer ile gönderilen anahtar, veya verilen değer mevcut değilse, alır.
Bu eklentinin etkin olup olmadığını geri döndürür, Plugin:Activate() işlevi aracılığıyla etkinleştirildikten sonra.
Bu eklenti şu anda etkin bir fareile açıksa, Plugin:Activate() işlevi aracılığıyla etkinleştirildikten sonra geri döndürür.
Verilen parçaların tersini yapar ve sonuçlanan NegateOperasyonları döndürür.
Roblox Studio'daki belirli bir pencerede verilen script instanını açmak için kullanılır. Eğer argüman olarak hiçbir satır verilmezse, varsayılan olarak 1 değeri gösterilir.
Açılır konum yardımı penceresini url bağlandığı wiki sayfasına açar.
Kullanıcının mevcut seçimin için bir yükleme penceresi açar.
Belirli Roblox Studio araçlarını etkinleştirir.
Verilen UnionOperations'ı ayrılır ve sonuçlanan parçaları döndürür.
Verilen anahtar altında verilen değerin ardından kullanılmak üzere kaydedilir. Değer, Studio kapandıktan sonra bile kalıcı olarak kalır.
Bir dizin değerleri verilen bir sürükleme eylemi başlatır.
Verilen parçalara bağlantı kurar ve sonuçlanan BirleşikOperasyonu döndürür.
- CreateDockWidgetPluginGui(pluginGuiId : string,dockWidgetPluginGuiInfo : DockWidgetPluginGuiInfo):DockWidgetPluginGui
Bir DockWidgetPluginGui oluşturur ve bir DockWidgetPluginGuiInfo verir.
Kullanıcıyı rigModel üzerine yüklenecek bir .fbx animasyon dosyası açmaya zorlar, ardından animasyonu bir KeyframeSequence olarak yerleştirir.
Kullanıcının bir .fbx dosyası açmasını, modelin bileşenlerini ağ üzerinden yüklemesi ve animasyon için kullanım için bir karakter şeysi oluşturmasını sağlar, bu Workspace içine yüklendi.
Roblox Studio'da bir pencere açar, bu kullanıcının belirlenen assetType'e dayalı bir varlığı seçmesini ister. Seçilen varlığın, yoksa kapatılmışsa pencere kapatıldığını gösterir.
Kullanıcının mevcut seçimini belirlenen dosya adıyla kaydetmeyi istiyor. Kullanıcı dosyayı kaydettiysa geri döndüğünde doğru döndürür.
Etkinlikler
Eklentinin etkinleştirilmesi işlevi devre dışı bırakıldığında çalıştırılır.
Class.Plugin hemen durmadan önce yanar.
Özellikler
CollisionEnabled
Stüdyo altındaki Collisionsyi etkinleştirdiğini kullanıcı olarak Studio'da iptal eder.
DisableUIDragDetectorDrags
GridSize
Kullanıcının Studio'da Model veya Avatar altındaki grille bağlama boyutunu içerir. Bu özellik, bu özellikteki hafif yuvarlama hataları olabilir; örneğin, bir kullanıcının 1 veya 0.4000000059604645 için b
Yöntemler
Activate
Bu işlev, çağrı plugin'inin devletini etkinleştirmeye ayarlar. Etkinleştirme, plugin'i etkinleştirerek mouse kontrolünü Plugin:GetMouse() metodu aracılığıyla sağlar.
Herhangi bir zamanda 0 veya 1 Aktif Plugin vardır. Bir plugin'i etkinleştirmek, diğer tüm plugin'leri devre dışı bırakır (onlar bir Plugin.Deactivation etkinleştirme etkinleştirme etkinleştirme etkinleştirme etkinleştirme etkinleştirme etkinleştirme etkinleştirme etkinleştirme etkinleştirme etkinleştirme etkinleştirme etkinleştirme etkinleştirme etkinleş
Ayrıca bakınız:
- Plugin:IsActivatedWithExclusiveMouse() , bu eklentinin şu anda aktif olup olmadığını doğrular, bu işlev aracılığıyla etkinleştirilmiş olup
- Plugin.Unloading , plugin'in yeniden yükleme veya yeniden yükleme işleminden hemen önce etkisiz hale getirilir
Parametreler
Eklusif bir fareile plugin'i etkinleştireceğinizi belirtir bir booleyon. Eğer doğruysa, bir PluginMouse ile alınabilir.
Dönüşler
CreatePluginAction
Bu işlev, Roblox Studio'da genel yapılandırılabilir bir eylem temsil eden bir PluginAction oluşturur, bu da Roblox Studio'da herhangi bir doğrudan ilişkili Toolbar veya Enum.Button yoktur. Roblox Studio'da, bunların bir k
Bir eylem tetiklendiğinde, PluginAction.Triggered etkinliği bildirilir.
PluginActions'ın beklediği gibi çalışması için, bu işlev kullanılarak oluşturulmalıdır.
Ayrıca bakınız:
- PluginMenu , Studio'da gösterilebilen bir konteyner menüsü, bir liste gösterir ve alt menüleri destekler
- Plugin:CreatePluginMenu() , bir PluginMenü oluşturur
Parametreler
Bu PluginAction'ı diğerlerinden ayırt eden benzersiz bir yol olmalıdır.
Eylemin gösterilen adı.
Eylemin gösterilen aksiyon.
Eklentinin görüntülenmesi için kullanılan eklentiadı.
Class.PluginAction ile Studio'nun kısayol görüntüsünden gizlenip görünmeyeceği. Kullanışlıdır. Standartlar doğrudan doğru.
Dönüşler
Kod Örnekleri
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
Bu işlev, Studio'da görüntülenen bir liste gibi PluginMenu ve alt menüleri destekleyen yeni bir PluginActions oluşturur.
PluginMenus'un beklediği gibi çalışması için bu işlev kullanılarak oluşturulmalıdır.
Ayrıca bakınız:
- PluginAction , Roblox Studio'da genel yapılabilir bir eylemi temsil eden bir nesne, doğrudan ilişkili Toolbar veya Enum.Button ile ilgili değil.
- Plugin:CreatePluginAction() , bir PluginAction oluşturur
- PluginMenu.Title , sub menü olarak kullanıldığında gösterilecek yazı
- PluginMenu.Icon , sub menü olarak kullanıldığında gösterilecek simge
- PluginMenu:AddAction() , verilen eylemi menüye ekler
- PluginMenu:AddNewAction() , Studio'nun özelleştirme kısayol penceresinden gizlenmiş bir geçici eylem oluşturur
- PluginMenu:AddMenu() , verilen menüyü ayrıcı olarak ekler
- PluginMenu:AddSeparator() , menüdeki öğeler arasında bir ayrıcı ekler
- PluginMenu:Clear() , menüyü temizler
- PluginMenu:ShowAsync() , menüyü farenin kursöründe gösterir. Bir öğe seçilirse veya menü kapatılırsa, seçilen eylemin tetikleyicisi olan etkinliği başlatır
Parametreler
Menü için benzersiz bir kimlik.
Sub menü olarak kullanıldığında görüntülenen metin.
Sub menü olarak kullanıldığında gösterilecek simge.
Dönüşler
Kod Örnekleri
-- 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
OluşturTablosu işlevi, verilen isimle bir yeni PluginToolbar oluşturur. Toolbar sonra plugin düğmeleri oluşturmak için kullanılabilir.
Parametreler
Araç çubuğunun içinde bulunan gruba etiketlenmiş görünen yazı.
Dönüşler
Kod Örnekleri
plugin:CreateToolbar("ExampleToolbar")
Deactivate
Eklentiyi devre dışı bırakır. Bu, etkinleştirilmişse bağlantılı PluginMouse'yı devre dışı bırakacaktır
Ayrıca bakınız:
- Plugin:Activate() , çağrı plugininin devletini etkinleştirir
- Plugin.Deactivation , plugin deaktif edildiğinde başlar
- Plugin.Unloading , plugin'in yeniden yükleme veya yeniden yükleme işleminden hemen önce etkisiz hale getirilir
Dönüşler
GetJoinMode
Stüdyo altındaki Enum.JointCreationMode modunu kullanıcının ayarladığını döndürür.
Dönüşler
GetMouse
GetMouse , aktif plugin aracılığıyla kullanılabilen bir PluginMouse geri döndürür.
Dönüşler
Kod Örnekleri
local mouse = plugin:GetMouse()
local function button1Down()
print("Button 1 pressed from PluginMouse")
end
mouse.Button1Down:Connect(button1Down)
GetSelectedRibbonTool
GetSelectedRibbonTool, Enum.RibbonTool ile eşleşen bir Plugin:SelectRibbonTool() alır. Alet, belirli bir araçla eşleşen bir En Listesi içerir. Bu, aleti manuel veya programsal olarak Class.Plugin:SelectRibbonTool aracılığıyla seçip seçmediğini içerir.
Dönüşler
Kod Örnekleri
plugin:SelectRibbonTool(Enum.RibbonTool.Move, UDim2.new())
task.wait() -- wait for next frame
local selectedRibbonTool = plugin:GetSelectedRibbonTool()
print("The selected RibbonTool is", selectedRibbonTool)
GetSetting
Eski değer ile gönderilen anahtar, veya verilen değer mevcut değilse, alır.
Aynı plugin'in birden fazla istemcisi aynı anda çalışabilir (örneğin, eğer birkaç Studio penceresi açık ise), bu değerin zamanla aynı kalmasını beklememelisiniz. Diğer plugin istemcileri herhangi bir anda ayarları güncelleyebilir.
Bu çağrı sessizce başarısız olabilir ve nil if multiple instances of the same plugin are actively reading and writing data. If your plugin expects to write to settings frequently, you should double-check the returned value from this call after a short while to distinguish between a setting being temporarily unavailable and a setting not existing.
Parametreler
Dönüşler
Kod Örnekleri
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
Bu işlev, bu eklentin şu anda aktif olduğu durumda, Plugin:Activate() işlevi aracılığıyla etkinleştirildikten sonra geri döndüğünde doğru olur.
Dönüşler
Eklentinin şu anda aktif olup olmadığını gösteren bir boşluk değeri.
IsActivatedWithExclusiveMouse
Bu işlev, bu eklenti şu anda etkin bir fareile (Plugin:Activate() ile) aktif olduğunda geri döndüğünde doğrudur. Bu işlev geri döndüğünde, bir PluginMouse alınabilir.
Ayrıca bakınız:
- Plugin.Deactivation , plugin deaktif edildiğinde başlar
- Plugin.Unloading , plugin'in yeniden yükleme veya yeniden yükleme işleminden hemen önce etkisiz hale getirilir
Dönüşler
Bu eklugin şu anda özel bir fareile aktif olup olmadığı.
Negate
Verilen parçaların tersini yapar ve sonuçlanan NegateOperasyonları döndürür.
Parametreler
Dönüşler
OpenScript
Roblox Studio'daki belirli bir pencerede verilen script instanını açmak için kullanılır. Eğer argüman olarak hiçbir satır verilmezse, varsayılan olarak 1 değeri gösterilir.
Parametreler
Dönüşler
Kod Örnekleri
local newScript = Instance.new("Script")
newScript.Parent = workspace
plugin:OpenScript(newScript)
OpenWikiPage
Açılır konum yardımı penceresini url bağlandığı wiki sayfasına açar.
Parametreler
Dönüşler
Kod Örnekleri
plugin:OpenWikiPage("API:Class/BasePart")
SaveSelectedToRoblox
Kullanıcının mevcut seçimin için bir yükleme penceresi açar.
Dönüşler
SelectRibbonTool
Belirlenen Roblox Studio araçlarını etkinleştirir. Araç açık bir pencereyi açarsa, pozisyon parametresi ekranda gösterilmesi gereken yeri belirtir.
Not:
- Bunun doğru şekilde çalışması için bir nesne seçilmelidir.
- position özelliğinin ölçek alanlarını değiştirmek diyalog pop-up'larına etkisi yoktur.
Parametreler
Dönüşler
Separate
Verilen UnionOperations'ı ayrılır ve sonuçlanan parçaları döndürür.
Parametreler
Dönüşler
SetSetting
Verilen anahtar altında daha sonra kullanılmak üzere verilen bir değeri saklar. Değer, Roblox Studio kapatıldıktan sonra bile sürecek şekilde kalır. Bu ayarlar, sayılardaki anahtarı ilk olarak strung anahtarları olarak dönüştürerek haritalar olarak kaydedilir. Matrisler otomatik olarak haritalara dönüştürülür, ilk olarak sayılardaki anahtarı dönüştürerek haritalar olarak kaydedil
JSON formatının, aşağıdaki karakterler dahil olmak üzere ayarları bozabilecek kısıtlamalar getirdiğini lütfen unutmayın:
- Anahtarlarda veya değerlerde geri slash'lar (\), özellikle kaçırılan virgüller (\").
- Kilitlerdeki Yeni Satırlar ( \n ) .
- Anahtarlardaki Alıntılar ( #)
- Anahtarlardaki periyotlar ( ) .
Aynı plugin'in birden fazla instansı aktif olarak veri okuyup yazıyorsa, bu çağrı sessizce başarısız olabilir. Eğer plugin'ın sık sık ayarlara yazmasını bekliyorsa, Plugin:GetSetting() çağrısının verileri doğru yazıldığını kontrol etmek için çağrı Class.Plugin:GetSetting() .
Parametreler
Dönüşler
Kod Örnekleri
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
Çekmeyi Başlat bir dizin içindeki bir çekme eylemini başlatır. Çekme parametreleri şu şekildedir:
<tbody><tr><td><b>Gönderici</b></td><td>dizi</td><td><code>""</code></td><td>Yerleştirme eyleminin kaynağını aşağıdaki hedefe belirtir</td></tr><tr><td><b>MimeType</b></td><td>dizi</td><td><code>""</code></td><td>Veri türündeki <b>MİME</b> tipi.</td></tr><tr><td><b>Veri</b></td><td>dizi</td><td><code>""</code></td><td>Sürükleme aksiyonhakkında bilgi, örneğin ne sürüklendiği. Drop hedefi tarafından kullanılmalıdır.</td></tr><tr><td><b>Fare Simgesi</b></td><td><code>Datatype.Content</code></td><td><code>""</code></td><td>Farenin kaydırma işlemi sırasında kullanılan simge. Eğer boşsa, varsayılan kursörü kullanır.</td></tr><tr><td><b>Eylem Simgesi Sürüklemeyi İzle</b></td><td><code>Datatype.Content</code></td><td><code>""</code></td><td>Sürükleme sırasında farenin altında görüntülenen bir görüntü. Bu, sürükleme işlemi yapılırkenki eşyayı temsil etmelidir.</td></tr><tr><td><b>HotSpot</b></td><td><code>Datatype.Vector2</code></td><td><code>Datatype.Vector2.new(0, 0)</code></td><td>Ekranın "tutması" gereken <b>Sürükleme Simgesi</b> olan üst kısma sol taraftaki piksel boşluğu.</td></tr></tbody>
İsim | Tür | Varsayılan | Açıklama |
---|
Ayrıca bakınız:
Parametreler
Dönüşler
Kod Örnekleri
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
Verilen parçalara bağlantı kurar ve sonuçlanan BirleşikOperasyonu döndürür.
Parametreler
Dönüşler
CreateDockWidgetPluginGui
CreateDockWidgetPluginGui , verilen DockWidgetPluginGui 'den yeni bir DockWidgetPluginGuiInfo oluşturur. İlk parametre, 0> uginGuiId0>, benzersiz ve tutarlı bir yapı olmalıdır. Bu, widget'in dokunma durumunu ve diğer içerikleri kaydeder.
Parametreler
Tarayıcının dokunma durumunu ve diğer iç ayrıntıları depolamak için kullanılan benzersiz ve tutarlı bir kimlik oluşturur.
Class.DockWidgetPluginGui oluşturmak için (başlangıç devleti, boyutu vb.)
Dönüşler
Kod Örnekleri
-- 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
Bu işlev, kullanıcının şu anda rigModel ile yükleneceği bir .fbx animasyon dosyasını açmasını ister, ardından animasyonu KeyframeSequence olarak Workspace içine girer.
Parametreler
Dönüşler
ImportFbxRig
Kullanıcının bir .fbx dosyası açmasını, modelin bileşenlerini ağ üzerinden yüklemesi ve animasyon için kullanım için bir karakter şeysi oluşturmasını sağlar, bu Workspace içine yüklendi.
Parametreler
Dönüşler
PromptForExistingAssetId
Roblox Studio'da bir pencere açar, bu kullanıcının belirlenen assetType'e dayalı bir varlığı seçmesini ister. Seçilen varlığın, yoksa kapatılmışsa pencere kapatıldığını gösterir.
Parametreler
Dönüşler
Etkinlikler
Deactivation
Class.Plugin deaktif edildiğinde işlenir. Bu, plugin kodu çağırır Plugin:Deactivate() veya başka bir plugin çağırır Plugin:Activate(), tüm diğer pluginlerin aktif durumunu kaybetmesi gerekir.
Ayrıca bakınız:
- Plugin.Unloading , plugin'in yeniden yükleme veya yeniden yükleme işleminden hemen önce etkisiz hale getirilir
Unloading
Bu etkinlik, Plugin durumunu durdurmadan derhal önce başlar. Pluginler devre dışı bırakıldığında, yeniden yüklenmeye hazır hale getirildiğinde veya yer kapatıldığında yeniden yüklenir.
Kullanıcıların, eğer yeterli olmadığından veya yeterli olmadığından kaynaklanan girişleri gizlemelerine izin verir, b. Class.DataModel . Eğer bir plugin doğru bir şekilde temizlenmezse, eski kopyalar kalır. Bu durumda, kullanıcılar yerin kötü bir kullanıcı deneyimi olduğunu zorunda kalabilir.
Eklentilerle ilgili olaylar, örneğin PluginToolbarButtons, DockWidgetPluginGuis ve PluginGuis gibi, yüklenmeden otomatik olarak temizlenir, böylece onları kaldırmaya gerek yoktur.