ChangeHistoryService

Artık kullanılmayanları göster

*Bu içerik, yapay zekâ (beta) kullanılarak çevrildi ve hatalar içerebilir. Sayfayı İngilizce görüntülemek için buraya tıkla.

Oluşturulamaz
Hizmet

Eklenti geliştiricileri *must * *ChangeHistoryService to tell Studio how to undo ve redo changes that their plugins make to experiences by recording. Before making changes, a plugin calls ChangeHistoryService:TryBeginRecording() , remembering the identifier it assigns, then after making changes, the Plugin calls 1> Class.ChangeHistoryService:FinishRecording()

Eklentiler ayrıca ChangeHistoryService:Undo() veya ChangeHistoryService:Redo() aracılığıyla bir geri alma veya yeniden yapma çağırabilir.

ChangeHistoryService derken etkisi yoktur, bu nedenle bir yürüyen deneyimde onun yöntemlerini çağırmak etkisi yoktur.

Özet

Yöntemler

  • FinishRecording(identifier : string,operation : Enum.FinishRecordingOperation,finalOptions : Dictionary?):void
    Eklenti Güvenliği

    Belirlenen kaydın tamamlandığını Studio'ya iletir ve kaydı tamamlamak için son operasyonu alır.

  • Eklenti Güvenliği

    Yeniden yapılabilen eylemler olup olmadığını ve, varsa, sonuncularını döndürür.

  • Eklenti Güvenliği

    Geri alınabilir eylemlerin olup olmadığını ve, eğer varsa, sonlarını döndürür.

  • Eklenti Güvenliği
  • Redo():void
    Eklenti Güvenliği

    Geri alınan son eylemi yürütür.

  • Eklenti Güvenliği

    Tarihi temizleyin, böylece tüm geri/yeniden yapma yolları kaldırılır.

  • SetEnabled(state : bool):void
    Eklenti Güvenliği

    ChangeHistoryService'in etkinleştirilip etkinleştirilmediğini ayarlar.

  • SetWaypoint(name : string):void
    Eklenti Güvenliği

    Yeniden doğurma veya yeniden yapma noktası olarak kullanılabilen yeni bir yön ayarlar.

  • TryBeginRecording(name : string,displayName : string?):string?
    Eklenti Güvenliği

    Veri modeline yapılan değişiklikleri bir kayıta kaydeder.

  • Undo():void
    Eklenti Güvenliği

    Geçersiz kılan son eylemi geri alır, için bir yol noktası vardır.

Etkinlikler

Özellikler

Yöntemler

FinishRecording

void
Eklenti Güvenliği

Parametreler

identifier: string

Önceki çağrıdan kaydı TryBeginRecording() ile belirlenir. Eğer işlem Enum.ChangeHistoryService.FinishRecordingOperation.Cancel ise, bu değer görmezden gelir ve kayıt context'e göre belirlenir.

Alınacak operasyonu belirtir.

finalOptions: Dictionary

Class.ChangeHistoryService.OnFinishRecording|OnFinishRecording için geçerli değerlerin zor zorunlu tablosu.


Dönüşler

void

Kod Örnekleri

ChangeHistoryService:TryBeginRecording

local ChangeHistoryService = game:GetService("ChangeHistoryService")
local Selection = game:GetService("Selection")
local toolbar = plugin:CreateToolbar("Example Plugin")
local button = toolbar:CreateButton("Neon it up", "", "")
button.Click:Connect(function()
local parts = {}
for _, part in pairs(Selection:Get()) do
if part:IsA("BasePart") then
parts[#parts + 1] = part
end
end
if #parts < 1 then
-- Nothing to do.
return
end
local recording = ChangeHistoryService:TryBeginRecording("Set selection to neon")
if not recording then
-- Handle error here. This indidcates that your plugin began a previous
-- recording and never completed it. You may only have one recording
-- per plugin active at a time.
return
end
for _, part in pairs(parts) do
part.Material = Enum.Material.Neon
end
ChangeHistoryService:FinishRecording(recording, Enum.FinishRecordingOperation.Commit)
end)

GetCanRedo

Eklenti Güvenliği

Yeniden yapılabilen eylemler olup olmadığını ve, varsa, sonuncularını döndürür.


Dönüşler

GetCanUndo

Eklenti Güvenliği

Geri alınabilir eylemlerin olup olmadığını ve, eğer varsa, sonlarını döndürür.


Dönüşler

IsRecordingInProgress

Eklenti Güvenliği

Parametreler

identifier: string

Dönüşler

Redo

void
Eklenti Güvenliği

Geri alınan son eylemi yürütür.


Dönüşler

void

ResetWaypoints

void
Eklenti Güvenliği

Tarihi temizleyin, böylece tüm geri/yeniden yapma yolları kaldırılır.


Dönüşler

void

SetEnabled

void
Eklenti Güvenliği

DeğişiklikHistoryService'ın etkinleştirilip etkinleştirilmediğini ayarlar. Değiştirmeyi etkinleştirmezse, undo/redo listesi temizlenir ve yeniden doldurulmaz. Değiştirmeyi geri ayarlarsa, orijinal liste restore edilmez, ancak daha son işlemler listeye eklenir

Parametreler

state: bool

Dönüşler

void

SetWaypoint

void
Eklenti Güvenliği

Bu yöntem Class.ChangeHistoryService:TryBeginRecording()|TryBeginRecording() ile TryBeginRecording() .

ChangeHistoryService takip eder plugin tarihini bir özellik değişikliği akışı olarak izler. SetWaypoint() bu akışta özellik değişikliği takip eder ki undo ve yeniden yapma eylemleri nerede duracağını bilir.

Kullanıcı tarafından çağrılan eylemler Studio'da bulunan şu anda değişikliği etkilemez. Kullanıcının değişikliği etkilemezse, değişikliği etkilemezse, değişikliği etkilemezse, değişikliği etk

Parametreler

name: string

Dönüşler

void

Kod Örnekleri

ChangeHistoryService:SetWaypoint

local ChangeHistoryService = game:GetService("ChangeHistoryService")
local Selection = game:GetService("Selection")
local toolbar = plugin:CreateToolbar("Example Plugin")
local button = toolbar:CreateButton("Neon it up", "", "")
button.Click:Connect(function()
local parts = {}
for _, part in pairs(Selection:Get()) do
if part:IsA("BasePart") then
parts[#parts + 1] = part
end
end
if #parts > 0 then
-- Calling SetWaypoint before the work will not cause any issues, however
-- it is redundant, only the call AFTER the work is needed.
--ChangeHistoryService:SetWaypoint("Setting selection to neon")
for _, part in pairs(parts) do
part.Material = Enum.Material.Neon
end
-- Call SetWaypoint AFTER completing the work
ChangeHistoryService:SetWaypoint("Set selection to neon")
else
-- Nothing to do. You do not need to call SetWaypoint in the case where
-- the action did not end up making any changes to the experience.
end
end)

TryBeginRecording

Eklenti Güvenliği

Bu yöntem, veri modeline değişiklikleri takip etmek için bir kayıt oluşturur. şunu çağırmalısınız önce, değişiklikleri yapmadan önce. Kaydın tamamlanmasından sonra, kaydı tamamlayan FinishRecording() ile kaydı tamamlayıp undo/redo stack'ini güncellemeyi arzu ederim.

Bu yöntem, bir kaydı başlatmak için başarısız olduğunda nil dönecek if it fails to begin a recording. Kayıtlar Run veya Play modunda ise kullanıcının bulunduğunda başarısız olur.

Class.ChangeHistoryService.IsRecordingInProgress()|IsRecordingInProgress() kayıt durumunu kontrol etmek için kullanabilirsiniz.

Parametreler

name: string

İşleme uygun günlük ve kodlama amaçlıdır.

displayName: string

Kullanıcıya gösterilecek eylemin adı.


Dönüşler

Kod Örnekleri

ChangeHistoryService:TryBeginRecording

local ChangeHistoryService = game:GetService("ChangeHistoryService")
local Selection = game:GetService("Selection")
local toolbar = plugin:CreateToolbar("Example Plugin")
local button = toolbar:CreateButton("Neon it up", "", "")
button.Click:Connect(function()
local parts = {}
for _, part in pairs(Selection:Get()) do
if part:IsA("BasePart") then
parts[#parts + 1] = part
end
end
if #parts < 1 then
-- Nothing to do.
return
end
local recording = ChangeHistoryService:TryBeginRecording("Set selection to neon")
if not recording then
-- Handle error here. This indidcates that your plugin began a previous
-- recording and never completed it. You may only have one recording
-- per plugin active at a time.
return
end
for _, part in pairs(parts) do
part.Material = Enum.Material.Neon
end
ChangeHistoryService:FinishRecording(recording, Enum.FinishRecordingOperation.Commit)
end)

Undo

void
Eklenti Güvenliği

Geçersiz kılan son eylemi geri alır, için bir yol noktası vardır.


Dönüşler

void

Etkinlikler

OnRecordingFinished

Eklenti Güvenliği

Parametreler

name: string

İşleme uygun günlük ve kodlama amaçlıdır.

displayName: string

Kullanıcıya gösterilecek eylemin adı.

identifier: string

Kaydın için kimlik.

finalOptions: Dictionary

Class.ChangeHistoryService.FinishOperation()| FinishOperation() ile gelen seçenekli masa.


OnRecordingStarted

Eklenti Güvenliği

Parametreler

name: string

İşleme uygun günlük ve kodlama amaçlıdır.

displayName: string

Kullanıcıya gösterilecek eylemin adı.


OnRedo

Eklenti Güvenliği

Kullanıcı geri alma komutunu yanlış yapınca ateş edildi. Waypoint yeniden yapılan eylemi açıklar.

Parametreler

waypoint: string

OnUndo

Eklenti Güvenliği

Stüdyoda bir eylemi geri çağırdığında ateş edildi. Waypoint, geri çağırılan eylemin türünü açıklar.

Parametreler

waypoint: string