ChangeHistoryService

Pokaż przestarzałe

*Ta zawartość została przetłumaczona przy użyciu narzędzi AI (w wersji beta) i może zawierać błędy. Aby wyświetlić tę stronę w języku angielskim, kliknij tutaj.

Brak możliwości tworzenia
Usługa

Developerzy pluginów muszą używać Class.ChangeHistoryService , aby powiedzieć Studio, jak cofnąć i ponownie wykonać zmiany, które ich plugin dokonuje na doświadczeniach poprzez nagrywanie. Przed dokonaniem zmian, plugin wzywa ChangeHistoryService, zapamiętując identy

Plugins mogą również programowo wywołać cofnięcie lub ponowne poprzez ChangeHistoryService:Undo() lub ChangeHistoryService:Redo().

ChangeHistoryService nie jest włączony do czasu uruchomienia, więc wezwanie jego metod w doświadczeniu bieżącym nie ma efektu.

Podsumowanie

Metody

  • FinishRecording(identifier : string,operation : Enum.FinishRecordingOperation,finalOptions : Dictionary?):void
    Zabezpieczenia dodatku plug-in

    Komunikuje się z Studio, aby poinformować Studio, że nagrania zidentyfikowane zostały zakończone i aby podjąć ostateczną operację, aby ukończyć nagranie.

  • Zabezpieczenia dodatku plug-in

    Wykonuje, czy istnieją działania, które można cofnąć, i, jeśli istnieją, zwraca ostatni z nich.

  • Zabezpieczenia dodatku plug-in

    Wykonuje, czy istnieją działania, które można cofnąć, i, jeśli istnieją, zwraca ostatni z nich.

  • Zabezpieczenia dodatku plug-in
  • Redo():void
    Zabezpieczenia dodatku plug-in

    Wykonuje ostatnią akcję, która została cofnięta.

  • Zabezpieczenia dodatku plug-in

    Oczyща historię, powodując usunięcie wszystkich punktów końcowych / wykonanych ponownie.

  • SetEnabled(state : bool):void
    Zabezpieczenia dodatku plug-in

    Ustawia, czy zmiana historii serwera jest włączona lub nie.

  • SetWaypoint(name : string):void
    Zabezpieczenia dodatku plug-in

    Ustawia nowy punkt odniesienia, który może być używany jako punkt cofnięcia lub ponownego wykonania.

  • TryBeginRecording(name : string,displayName : string?):string?
    Zabezpieczenia dodatku plug-in

    Zaczyna śledzić zmiany dokonane w modelu danych w nagraniu.

  • Undo():void
    Zabezpieczenia dodatku plug-in

    Odwraca ostatnie podejście, dla którego istnieje punkt odniesienia.

Zdarzenia

Właściwości

Metody

FinishRecording

void
Zabezpieczenia dodatku plug-in

Parametry

identifier: string

Określa zapis z poprzedniego wezwania do TryBeginRecording() . Jeśli operacja jest Enum.ChangeHistoryService.FinishRecordingOperation.Cancel, ten wartość jest ignorowana, a zapis jest określony przez kontekst.

Określa operację do wykonania.

finalOptions: Dictionary

Opcjonalna tabela wartości do przesłania na OnFinishRecording.


Zwroty

void

Przykłady kodu

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

Zabezpieczenia dodatku plug-in

Wykonuje, czy istnieją działania, które można cofnąć, i, jeśli istnieją, zwraca ostatni z nich.


Zwroty

GetCanUndo

Zabezpieczenia dodatku plug-in

Wykonuje, czy istnieją działania, które można cofnąć, i, jeśli istnieją, zwraca ostatni z nich.


Zwroty

IsRecordingInProgress

Zabezpieczenia dodatku plug-in

Parametry

identifier: string

Zwroty

Redo

void
Zabezpieczenia dodatku plug-in

Wykonuje ostatnią akcję, która została cofnięta.


Zwroty

void

ResetWaypoints

void
Zabezpieczenia dodatku plug-in

Oczyща historię, powodując usunięcie wszystkich punktów końcowych / wykonanych ponownie.


Zwroty

void

SetEnabled

void
Zabezpieczenia dodatku plug-in

Ustawia, czy zmiana historii serwisu jest włączona. Gdy ustawiony na fałszywy, listę odwołania/przywrócenia jest opróżniony i nie jest zrespawnowywany. Gdy ustawiony na prawdziwy ponownie, lista oryginalna nie jest przywracana, ale dalsze operacje są przyłączane do listy raz jeszcze

Parametry

state: bool

Zwroty

void

SetWaypoint

void
Zabezpieczenia dodatku plug-in

Ten metod będzie przestarzały wkrótce na rzecz TryBeginRecording() .

ChangeHistoryService śledzi historię pluginów jako ciąg zmian właściwości. SetWaypoint() tworzy cięcie tego ciągu zmian właściwości, aby działania odwołania i ponownego wykonania wiedziały, gdzie się zatrzymać.

Zgodnie z konwencją, użyj zwołanych akcji w Studio musi SetWaypoint()Class.ChangeHistoryService:SetWaypoint()|SetWaypoint()2>po2> ukończeniu swojego zestawu zmian doświadczenia. Zadzwonić go 5>przed5> ukończen

Parametry

name: string

Zwroty

void

Przykłady kodu

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

Zabezpieczenia dodatku plug-in

Ten metodą rozpoczyna się nagrania, aby śledzić zmiany w modelu danych. Musisz musisz wezwieć go przed wprowadzeniem zmian, aby uniknąć przyszłych ostrzeżeń lub błędów.

Kiedy nagranie zostanie zakończone, wezwiecie FinishRecording() z powrotem identyfikatora nagrania, aby ukończyć nagranie i zaktualizować kolejkę odwołania/zrób jeszcze raz.

Ten metod returnuje nil jeśli nie udało się zacząć nagrania. Nagrania gromadzą się, jeśli wtyczka ma już nagranie w toku lub jeśli użytkownik jest w trybie Biegnij lub Graj .

Możesz użyć IsRecordingInProgress() aby sprawdzić stan zapisu dodatek plug-in.

Parametry

name: string

Nazwa akcji wykonanej odpowiednio do celów logowania i kodowania.

displayName: string

Nazwa akcji wykonanej, aby użytkownik mogła zobaczyć.


Zwroty

Przykłady kodu

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
Zabezpieczenia dodatku plug-in

Odwraca ostatnie podejście, dla którego istnieje punkt odniesienia.


Zwroty

void

Zdarzenia

OnRecordingFinished

Zabezpieczenia dodatku plug-in

Parametry

name: string

Nazwa akcji wykonanej odpowiednio do celów logowania i kodowania.

displayName: string

Nazwa akcji wykonanej, aby użytkownik mogła zobaczyć.

identifier: string

Zidentyfikator zapisu.

finalOptions: Dictionary

Opcjonalny tabela z FinishOperation() .


OnRecordingStarted

Zabezpieczenia dodatku plug-in

Parametry

name: string

Nazwa akcji wykonanej odpowiednio do celów logowania i kodowania.

displayName: string

Nazwa akcji wykonanej, aby użytkownik mogła zobaczyć.


OnRedo

Zabezpieczenia dodatku plug-in

Wystrzelono, gdy użytkownik odwrócił komendę cofnięcia. Waypoint opisuje typ akcji, która została ponowna.

Parametry

waypoint: string

OnUndo

Zabezpieczenia dodatku plug-in

Wystrzelony, gdy użytkownik cofnie akcję w studio. Waypoint opisuje typ akcji, która została cofnięta.

Parametry

waypoint: string