Klasa silnika
ChangeHistoryService
*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.
Podsumowanie
Metody
FinishRecording(identifier: string,operation: Enum.FinishRecordingOperation,finalOptions: Dictionary?):() |
IsRecordingInProgress(identifier: string?):boolean |
Redo():() |
ResetWaypoints():() |
SetEnabled(state: boolean):() |
SetWaypoint(name: string):() |
TryBeginRecording(name: string,displayName: string?):string? |
Undo():() |
Zdarzenia
OnRecordingFinished(name: string,displayName: string?,identifier: string?,operation: Enum.FinishRecordingOperation,finalOptions: Dictionary?):RBXScriptSignal |
OnRecordingStarted(name: string,displayName: string?):RBXScriptSignal |
OnRedo(waypoint: string):RBXScriptSignal |
OnUndo(waypoint: string):RBXScriptSignal |
Materiały referencyjne dotyczące interfejsów API
Metody
FinishRecording
ChangeHistoryService:FinishRecording(
):()
Parametry
Zwroty
()
Przykłady kodu
ChangeHistoryService:SpróbujRozpocząćRejestrowanie
local ChangeHistoryService = game:GetService("ChangeHistoryService")
local Selection = game:GetService("Selection")
local toolbar = plugin:CreateToolbar("Przykład wtyczki")
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
-- Nie ma nic do zrobienia.
return
end
local recording = ChangeHistoryService:TryBeginRecording("Ustaw selekcję na neon")
if not recording then
-- Obsłuż błąd tutaj. To oznacza, że twoja wtyczka rozpoczęła wcześniejsze
-- rejestrowanie i nigdy go nie zakończyła. Możesz mieć tylko jedno rejestrowanie
-- aktywne na raz dla wtyczki.
return
end
for _, part in pairs(parts) do
part.Material = Enum.Material.Neon
end
ChangeHistoryService:FinishRecording(recording, Enum.FinishRecordingOperation.Commit)
end)IsRecordingInProgress
Redo
ChangeHistoryService:Redo():()
Zwroty
()
ResetWaypoints
ChangeHistoryService:ResetWaypoints():()
Zwroty
()
SetWaypoint
Parametry
Zwroty
()
Przykłady kodu
ChangeHistoryService:SetWaypoint
local ChangeHistoryService = game:GetService("ChangeHistoryService")
local Selection = game:GetService("Selection")
local toolbar = plugin:CreateToolbar("Przykładowa wtyczka")
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
-- Wywołanie SetWaypoint przed pracą nie spowoduje żadnych problemów, jednak
-- jest to zbędne, tylko wywołanie PO pracy jest potrzebne.
--ChangeHistoryService:SetWaypoint("Ustawienie selekcji na neon")
for _, part in pairs(parts) do
part.Material = Enum.Material.Neon
end
-- Wywołaj SetWaypoint PO zakończeniu pracy
ChangeHistoryService:SetWaypoint("Ustawić selekcję na neon")
else
-- Nic do zrobienia. Nie musisz wywoływać SetWaypoint w przypadku,
-- gdy akcja nie spowodowała żadnych zmian w doświadczeniu.
end
end)TryBeginRecording
Zwroty
Przykłady kodu
ChangeHistoryService:SpróbujRozpocząćRejestrowanie
local ChangeHistoryService = game:GetService("ChangeHistoryService")
local Selection = game:GetService("Selection")
local toolbar = plugin:CreateToolbar("Przykład wtyczki")
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
-- Nie ma nic do zrobienia.
return
end
local recording = ChangeHistoryService:TryBeginRecording("Ustaw selekcję na neon")
if not recording then
-- Obsłuż błąd tutaj. To oznacza, że twoja wtyczka rozpoczęła wcześniejsze
-- rejestrowanie i nigdy go nie zakończyła. Możesz mieć tylko jedno rejestrowanie
-- aktywne na raz dla wtyczki.
return
end
for _, part in pairs(parts) do
part.Material = Enum.Material.Neon
end
ChangeHistoryService:FinishRecording(recording, Enum.FinishRecordingOperation.Commit)
end)Undo
ChangeHistoryService:Undo():()
Zwroty
()
Zdarzenia
OnRecordingFinished
ChangeHistoryService.OnRecordingFinished(
name:string, displayName:string?, identifier:string?, operation:Enum.FinishRecordingOperation, finalOptions:Dictionary?
Parametry
OnRecordingStarted