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 düğmeleri, plugin arayüzleri, plugin düğmeleri ve daha fazlasını oluşturan ana nesnedir.Normalde dahil edilmeyen yeni davranış ve özellikler ekleyen özel bir Studio eklemesidir. Eklenti nesnesine, bir eklenti olarak çalıştırılan küresel referans aracılığıyla erişilebilir.
Kod Örnekleri
The plugin global reference is not passed to ModuleScripts within the plugin. In order to use it in a ModuleScript, you must explicitly pass it as seen in the example below.
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
Kullanıcının Model sekmesi altında Stüdyo'da Collisions etkinleştirdiğini döndürür.
Kullanıcının Studio'da ayarladığı ızgara yapıştırma boyutunu döndürür.
Yöntemler
Çağrılan pluginin durumunu aktif olarak ayarlar.
- CreatePluginAction(actionId : string,text : string,statusTip : string,iconName : string,allowBinding : boolean):PluginAction
Roblox Studio'da genel bir yapılabilir eylemi temsil eden bir nesne olan PluginAction oluşturur, doğrudan ilişkili Toolbar veya Enum.Button olmadan.
Yeni bir eklenti menüsü oluşturur.
Verilen adla yeni bir PluginToolbar oluşturur.
eklentideaktif edilir.
Kullanıcının Studio'da Model sekmesi altında ayarladığı Enum.JointCreationMode döndürür.
Eklenti aktifken kullanılabilecek bir Mouse döndürür.
Şu anda seçilen Enum.RibbonTool 'yi geri döndürür.
Verilen anahtar ile daha önce depolanmış bir değeri alır veya verilen anahtar mevcut değilse nil .
Bu eklenti şu anda aktif olduğunda, Plugin:Activate() işlevi aracılığıyla etkinleştirildikten sonra doğru döndürür.
Bu eklenti şu anda özel bir fare ile aktif olduktan sonra Plugin:Activate() fonksiyonu aracılığıyla etkinleştirildikten sonra true döndürür, eğer bu eklenti özel bir fare ile aktif olursa.
Verilen parçaları inkar eder ve sonuç olarak NegateOperations'u döndürür.
Verilen senaryo örneğini bir editör penceresinde, Roblox stüdyosunda, verilen satırda açmak için kullanılır.Bir argüman olarak bir satır verilmezse, varsayılan olarak 1'e dönecektir.
Konteks yardım penceresini, url bağlantı kurduğu wiki sayfasına açar.
Kullanıcının mevcut seçimi için bir yükleme penceresi açar.
Belirtilen Roblox Studio aracını etkinleştirir.
Verilen UnionOperations'ları ayırır ve sonuç olan parçaları döndürür.
Verilen bir değeri, verilen anahtar altında daha sonra kullanmak üzere saklar. Değer, Studio kapatıldıktan sonra bile süreklilik kazanır.
Bir dizi değer verilen bir sürükleme eylemini başlatır.
Verdiği parçaları birleştirir ve sonuç olarak UnionOperation'u döndürür.
- CreateDockWidgetPluginGui(pluginGuiId : string,dockWidgetPluginGuiInfo : DockWidgetPluginGuiInfo):DockWidgetPluginGui
Bir DockWidgetPluginGui oluşturur ve bir DockWidgetPluginGuiInfo verilir.
Kullanıcıyı, 'a yüklenebilecek bir .fbx animasyon dosyasını açmaya teşvik eder, ardından animasyonu 'a yerleştirmeye geçer.
Kullanıcıya bir .fbx dosyasını açmasını, modelin bireysel bileşenlerini meshe olarak yüklemeyi ve animasyonda kullanılmak üzere bir karakter kızığı oluşturmayı talep eder, ki bu Workspace 'a yüklenir.
Roblox Studio'da bir pencere açar, bu da kullanıcıya belirtilen assetType öğeye göre bir varlık seçmesini ister.Seçilen varlıkId'si veya pencere kapatıldıysa -1 döndürür.
Kullanıcıya belirtilen dosya adıyla mevcut seçimlerini kaydetmesini ister. Kullanıcı dosyayı kaydettiyse gerçek döndürür.
Etkinlikler
Eklenti devre dışı bırakıldığında ateş edilir.
Plugin çalışmayı durdurmadan hemen önce yangınlar çıkar.
Özellikler
CollisionEnabled
Kullanıcının Model sekmesi altında Stüdyo'da Collisions etkinleştirdiğini döndürür.
DisableUIDragDetectorDrags
GridSize
Kullanıcının Studio'daki araç çubuğunun Model veya Avatar sekmeleri altında belirlediği ızgara yapıştırma boyutunu döndürür.Bu özelliğin hafif yuvarlama hataları olabileceğini unutmayın; örneğin, bir kullanıcı ayarı için 0.0099999997764826 veya bir kullanıcı ayarı için 1 veya 0.4000000059604645 için olabilir 0.4.
IsDebuggable
Yöntemler
Activate
Bu işlev, çağrılan pluginin durumunu aktifleştirir. Pluginin aktifleştirilmesi, Plugin:GetMouse() yöntemi aracılığıyla fare kontrolünü etkinleştirir.
Herhangi bir zamanda 0 veya 1 Aktif Plugin vardır.Bir eklenti etkinleştirmek, diğer tüm eklentileri devre dışı bırakacaktır (bir Plugin.Deactivation etkinliği alacaklar).
Ayrıca bakın:
- Plugin:IsActivatedWithExclusiveMouse() , bu eklenti şu anda özel bir fare ile aktif olduktan sonra bu işlev aracılığıyla etkinleştirildiğinde true döndürür
- Plugin.Unloading , eklenti kaldırıldıktan veya yeniden yüklendikten hemen sonra yangınlanır veya devre dışı bırakılır veya güncellenir
Parametreler
Eğer özel fare ile eklentiyi etkinleştirip etmeyeceğinizi belirten bir boşluk değeri varsa, bunun çekilmesi için aracılığıyla erişilebilir.
Dönüşler
CreatePluginAction
Bu işlev, Roblox Studio'da genel bir yapılabilir eylemi temsil eden bir nesne olan PluginAction oluşturur, doğrudan ilişkili Toolbar veya Enum.Button olmadan.Roblox Studio'da, File → Advanced → Customize Shortcuts… altında bir klavye kısayoluna atanabilirler ve Acele Erişim Araç Çubuğuna da eklenebilirler.
Bir eylem tetiklendiğinde, PluginAction.Triggered etkinliği işaretlenir.
PluginActions'un beklenen şekilde çalışması için, bu işlev kullanılarak oluşturulmalıdır.
Ayrıca bakın:
- PluginMenu , Stüdyo'da gösterilebilecek bir bağlantı menüsü, bir liste PluginActions ve alt menüleri destekliyor
- Plugin:CreatePluginMenu() , bir PluginMenu oluşturur
Parametreler
Bu PluginAction'ı diğerlerinden ayırt eden benzersiz bir dize olmalıdır.
aksiyongörüntülenen adı.
Eylemin gösterilen aksiyon.
Eklentiyi görüntülemek için kullanılan eklentiadı.
PluginAction Studio'nun kısayol görüntüsünden gizlenecek olup olmadığı. Kontekstik eylemler için kullanışlı. Varsayılan değer: doğru.
Dönüşler
Kod Örnekleri
This code sample visualizes how to create a PluginAction. These must be created using the Plugin:CreatePluginAction() method in order to work.
In order to work as expected, the code block must but pasted into the Command Bar, but only once. Consecutive attempts at executing the code in the Command Bar will result in an error because a plugin cannot create more than one PluginMenu with the same ID.
When the created action is bound and Triggered, it outputs Hello world!.
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 yeni bir oluşturur, bu da Studio'da gösterilebilen bir bağlantı menüsüdür ve alt menüleri destekler.
PluginMenülerin beklenen şekilde çalışması için, bu işlev kullanılarak oluşturulmaları gerekir.
Ayrıca bakın:
- PluginAction , Roblox Studio'da genel bir yapılabilir eylemi temsil eden bir nesne, doğrudan ilişkili Toolbar veya Enum.Button olmadan.
- Plugin:CreatePluginAction() , bir PluginAction oluşturur
- PluginMenu.Title , alt menü olarak kullanıldığında görüntülenen metin
- PluginMenu.Icon , alt menü olarak kullanıldığında görüntülenen simge
- PluginMenu:AddAction() , verilen eylemi menüye ekler
- PluginMenu:AddNewAction() , Studio'nun özelleştirme kısayol penceresinden gizlenen geçici bir eylem oluşturur
- PluginMenu:AddMenu() , verilen menüyü bir ayrıcı olarak ekler
- PluginMenu:AddSeparator() , menüdeki öğeler arasında bir ayrıcı ekler
- PluginMenu:Clear() , menüyü temizler
- PluginMenu:ShowAsync() , menüyü fare imlecinde gösterir.Bir öğe seçilene kadar veya menü kapatılana kadar verir.Seçilen eylem tetiklenmiş etkinliğini ateş eder
Parametreler
Menü için benzersiz ID.
Alt menü olarak kullanıldığında görüntülenmesi gereken metin.
Alt menü olarak kullanıldığında görüntülenmesi gereken simge.
Dönüşler
Kod Örnekleri
This code sample visualizes how PluginMenus and PluginActions behave when created for a Plugin. Outside of this example, you should not parent the plugin or its functional components to the experience's workspace.
In order to work as expected, the code block must but pasted into the Command Bar, but only once. Consecutive attempts at executing the code in the Command Bar will result in an error because a plugin cannot create more than one PluginMenu with the same ID.
After executing the code, changing the created BoolValue in the experience's workspace opens the plugin's menus. Selecting an action from the menus the function connected to the trigger signal.
-- 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
Yaratma Çubuğu fonksiyonu, verilen adla yeni bir PluginToolbar oluşturur. Ardından arayüz çubuğu, plugin düğmeleri oluşturmak için kullanılabilir.
Parametreler
Araç çubuğundaki görünen metin, içinde bulunan düğme grubunu etiketleyin.
Dönüşler
Kod Örnekleri
This code creates a toolbar with the name "ExampleToolbar".
plugin:CreateToolbar("ExampleToolbar")
Deactivate
Eklentiyi devre dışı bırakır. Eğer etkinleştirildiyse, ilişkili PluginMouse kaldırılır
Ayrıca bakın:
- Plugin:Activate() , çağrılan pluginin durumunu aktif hale getirir
- Plugin.Deactivation , eklenti devre dışı bırakıldığında ateş eder
- Plugin.Unloading , eklenti kaldırıldıktan veya yeniden yüklendikten hemen sonra yangınlanır veya devre dışı bırakılır veya güncellenir
Dönüşler
GetJoinMode
Kullanıcının Studio'da Model sekmesi altında ayarladığı Enum.JointCreationMode döndürür.
Dönüşler
GetMouse
GetMouse , eklenti aktifken kullanılabilecek bir PluginMouse döndürür, çünkü Plugin:Activate() aracılığıyla aktif olur.
Dönüşler
Kod Örnekleri
This code would print Button 1 pressed from PluginMouse each time the mouse's left button was clicked.
local mouse = plugin:GetMouse()
local function button1Down()
print("Button 1 pressed from PluginMouse")
end
mouse.Button1Down:Connect(button1Down)
GetSelectedRibbonTool
GetSelectedRibbonTool, şu anda seçilen Enum.RibbonTool 'yi geri döndürür.Belirli bir araçla eşleşen bir Enum döndürür.Bu, aracın manuel veya programatik olarak Plugin:SelectRibbonTool() üzerinden seçilip seçilmediğini döndürecektir.
Dönüşler
Kod Örnekleri
This code must be run from a plugin. This code selects the move tool, checks which tool is selected, then prints out to the console which tool is selected. SelectRibbonTool will not return the value until the next frame.
plugin:SelectRibbonTool(Enum.RibbonTool.Move, UDim2.new())
task.wait() -- wait for next frame
local selectedRibbonTool = plugin:GetSelectedRibbonTool()
print("The selected RibbonTool is", selectedRibbonTool)
GetSetting
Verilen anahtar ile daha önce depolanmış bir değeri alır veya verilen anahtar mevcut değilse nil .
Aynı pluginin birden fazla örneği aynı anda çalışabilir (örneğin, çok sayıda Studio penceresi açık ise), bu değerin zamanla aynı kalmasına bağımlı olmamalısınız.Diğer plugin örnekleri ayarı herhangi bir zamanda güncelleyebilir.
Bu çağrı sessizce başarısız olabilir ve aynı pluginin çok sayıda örneği aktif olarak veri okuyup yazıyorsa nil dönebilir.Eğer eklentiniz sık sık ayara yazmayı bekliyorsa, bir süre sonra bu çağrıdan dönen değeri kontrol etmeli ve geçici olarak kullanılamayan bir ayarla mevcut olmayan bir ayırt etmelisiniz.
Parametreler
Dönüşler
Kod Örnekleri
The below example would print the value saved to the key FirstTime. If the key doesn't exist, it would print nil.
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 eklentinin şu anda aktif olduğu durumda Plugin:Activate() işlevi aracılığıyla etkinleştirildikten sonra true döndürür.
Dönüşler
Eklentinin şu anda aktif olup olmadığını gösteren bir boolean.
IsActivatedWithExclusiveMouse
Bu işlev, bu eklenti şu anda özel bir fare ile aktif olduktan sonra Plugin:Activate() işlevi aracılığıyla etkinleştirildikten sonra true döndürür, eğer bu eklenti özel bir fare ile aktif olursa.Bu doğru dönerse, bir aracılığıyla alınabilir.
Ayrıca bakın:
- Plugin.Deactivation , eklenti devre dışı bırakıldığında ateş eder
- Plugin.Unloading , eklenti kaldırıldıktan veya yeniden yüklendikten hemen sonra yangınlanır veya devre dışı bırakılır veya güncellenir
Dönüşler
Bu eklenti şu anda özel bir fare ile aktif mi.
Negate
Verilen parçaları inkar eder ve sonuç olarak NegateOperations'u döndürür.
Parametreler
Dönüşler
OpenScript
Verilen senaryo örneğini bir editör penceresinde, Roblox stüdyosunda, verilen satırda açmak için kullanılır.Bir argüman olarak bir satır verilmezse, varsayılan olarak 1'e dönecektir.
Parametreler
Dönüşler
Kod Örnekleri
The following would open a newly created Script in Workspace, assuming the variable "Plugin" was already declared.
local newScript = Instance.new("Script")
newScript.Parent = workspace
plugin:OpenScript(newScript)
OpenWikiPage
Konteks yardım penceresini, url bağlantı kurduğu wiki sayfasına açar.
Parametreler
Dönüşler
Kod Örnekleri
The following, when executed in a plugin, will open the BasePart API page in the context help.
plugin:OpenWikiPage("API:Class/BasePart")
SaveSelectedToRoblox
Kullanıcının mevcut seçimi için bir yükleme penceresi açar.
Dönüşler
SelectRibbonTool
Belirtilen Roblox Studio aracını etkinleştirir. Araç bir pencere açarsa, pozisyon parametri ekranda gösterilmesi gereken yeri belirtir.
Not:
- Bunun doğru çalışması için bir nesne seçilmelidir.
- position özelliğinin ölçek alanlarını değiştirmek, diyalog popuplarını etkilemeyecektir.
Parametreler
Dönüşler
Separate
Verilen UnionOperations'ları ayırır ve sonuç olan parçaları döndürür.
Parametreler
Dönüşler
SetSetting
Verilen bir değeri, verilen anahtar altında daha sonra kullanmak için saklar.Değer, Roblox Studio kapatıldıktan sonra bile sürecek.Bu ayarlar, içinde dize anahtarları bulunan bir harita olarak JSON formatında kaydedilir.Diziler, önce sayısal anahtarları dizeye dönüştürerek otomatik olarak haritalara dönüştürülür.
JSON formatının ayarlar dosyasını bozabilen aşağıdaki karakterler dahil olmak üzere ekstra kısıtlamalar getirdiğini unutmayın:
- Anahtarlarda veya değerlerde geri tersler ( \ ), özellikle kaçan alıntılar ( \" ).
- Anahtarlarda yeni satırlar ( \n ) .
- Anahtarlarda özlü sözler ( " ) .
- Anahtarlardaki dönemler ( . ) .
Bu çağrı, aynı pluginin birden fazla örneği aktif olarak veri okuyup yazıyorsa sessizce başarısız olabilir.Eğer eklentiniz sık sık ayara yazmayı bekliyorsa, verilerin doğru bir şekilde yazıldığını kontrol etmek için Plugin:GetSetting() 'yi arayabilirsiniz.
Parametreler
Dönüşler
Kod Örnekleri
This code sample demonstrates use of the Plugin:GetSetting() and Plugin:SetSetting() functions. They detect if a plugin is running for the first time by setting a key. If the key is true, it prints a "welcome back" message; otherwise it prints a "first run" message and sets the key to true.
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
BaşlatDrag bir dizi parametre kullanarak bir sürükleme eylemi başlatır. Parametler şöyledir:
<th>Tür</th><th>Varsayılan</th><th>Açıklama</th></tr></thead><tbody><tr><td><b>Gönderici</b></td><td>dize</td><td><code>""</code> ></td><td>Bırakma hedefine sürükleme eyleminin kaynağını tanımlar</td></tr><tr><td><b>MimeType</b></td><td>dize</td><td><code>""</code> ></td><td>The <a href="https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/MIME_types">MIME</a> tür <b>Veri</b> .</td></tr><tr><td><b>Veri</b></td><td>dize</td><td><code>""</code> ></td><td>Sürükleme aksiyonilgili bilgiler, örneğin sürüklenen şey. Bırakma hedefi tarafından kullanılmalıdır.</td></tr><tr><td><b>Fareİkonu</b></td><td><code>VeriTürüİçeriği</code> ></td><td><code>""</code> ></td><td>Sürükleme sırasında farenin işaretleyici için kullanılacak simge. Boşsa, varsayılan işaretleyiciyi kullanır.</td></tr><tr><td><b>DragIcon</b></td><td><code>Veri Türü.İçerik</code> ></td><td><code>""</code> ></td><td>Sürükleme sırasında farenin üzerinde görüntülenen bir görüntü. Bu, sürülen öğeyi temsil etmelidir.</td></tr><tr><td><b>Sıcak Nokta</b></td><td><code>Veri Türü.Vector2</code> ></td><td><code>Veri Türü.Vector2.new(0, 0)</code> ></td><td>İşaretçinin tutması gereken sol üstteki piksel ofseti <b>DragIcon</b> .</td></tr></tbody>
Adı |
---|
Ayrıca bakın:
Parametreler
Dönüşler
Kod Örnekleri
This code sample creates two plugin widget windows: a drag source and a drop target. In the source window, the script creates a TextBox and TextButton to allow the user to begin a plugin drag action. The drop target window will display the MimeType of whatever is dragged into it using a TextLabel. If the MimeType is text/plain, it will display the plain text data instead.
To run this code sample as a plugin, paste it into a Script. Then, right-click the script in the Explorer window and choose "Save as Local Plugin".
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
Verdiği parçaları birleştirir ve sonuç olarak UnionOperation'u döndürür.
Parametreler
Dönüşler
CreateDockWidgetPluginGui
CreateDockWidgetPluginGui , verilen DockWidgetPluginGui 'den yeni bir DockWidgetPluginGuiInfo oluşturur.İlk parametre, pluginGuiId , benzersiz ve tutarlı bir diziolmalıdır.Dokunma durumu ve diğer iç detayların durumunu kaydetmek için kullanılır.
Parametreler
Dokunma durumu ve diğer iç detayları depolamak için kullanılan benzersiz ve tutarlı bir tanımlayıcı.
Oluşturmak için DockWidgetPluginGui açıklar (başlangıç durumu, boyut vb.).
Dönüşler
Kod Örnekleri
This code, when ran inside a Plugin, creates a DockWidgetPluginGui with a simple TextButton.
-- 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ıya 'ye yüklenebilecek bir .fbx animasyon dosyasını açmasını ister, ardından animasyonu 'ye yerleştirmeye devam eder.
Parametreler
Dönüşler
ImportFbxRig
Kullanıcıya bir .fbx dosyasını açmasını, modelin bireysel bileşenlerini meshe olarak yüklemeyi ve animasyonda kullanılmak üzere bir karakter kızığı oluşturmayı talep eder, ki bu Workspace 'a yüklenir.
Parametreler
Dönüşler
PromptForExistingAssetId
Roblox Studio'da bir pencere açar, bu da kullanıcıya belirtilen assetType öğeye göre bir varlık seçmesini ister.Seçilen varlıkId'si veya pencere kapatıldıysa -1 döndürür.
Parametreler
Dönüşler
Etkinlikler
Deactivation
Plugin devre dışı bırakıldığında ateşlenir.Bu, eğer eklenti kodu çağrır Plugin:Deactivate() ya da başka bir eklentinin çağrısı Plugin:Activate() , tüm diğer eklentilerin aktif durumunu kaybetmesini zorladığı için gerçekleşir.
Ayrıca bakın:
- Plugin.Unloading , eklenti kaldırıldıktan veya yeniden yüklendikten hemen sonra yangınlanır veya devre dışı bırakılır veya güncellenir
Unloading
Bu olay, Plugin çalışmayı durdurmadan hemen önce ateşlenir.Eklentiler devre dışı bırakıldığında, kaldırıldığında, güncellenmek üzere olduğunda veya yer kapatıldığında yüklenmez.
Bir eklentinin, senaryoları çalışmayı bırakmadan önce kendini temizlemesini sağlar, örneğingereksiz örnekleri DataModel 'dan kaldırmak için.Bir eklenti düzgün temizlenmezse, eski kopyalar kalacaktır.Bu olay gerçekleştiğinde, kullanıcılar kötü bir kullanıcı deneyimi olan yeri kapatmak ve yeniden açmak zorunda kalabilir.
Eklentili durumlar, örneğin PluginToolbarButtons , DockWidgetPluginGuis ve PluginGuis , eklenti yüklenmediğinde otomatik olarak temizlendiğinden, onları kaldırmaya gerek yoktur.