Engine-Klasse
ChangeHistoryService
*Dieser Inhalt wurde mit KI (Beta) übersetzt und kann Fehler enthalten. Um diese Seite auf Englisch zu sehen, klicke hier.
Zusammenfassung
Methoden
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():() |
Events
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 |
API-Referenz
Methoden
FinishRecording
ChangeHistoryService:FinishRecording(
):()
Parameter
Rückgaben
()
Code-Beispiele
ChangeHistoryService:TryBeginRecording
local ChangeHistoryService = game:GetService("ChangeHistoryService")
local Selection = game:GetService("Selection")
local toolbar = plugin:CreateToolbar("Beispiel Plugin")
local button = toolbar:CreateButton("Neon aktivieren", "", "")
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
-- Nichts zu tun.
return
end
local recording = ChangeHistoryService:TryBeginRecording("Auswahl auf Neon setzen")
if not recording then
-- Fehler hier behandeln. Das bedeutet, dass Ihr Plugin
-- eine vorherige Aufzeichnung begonnen hat und sie nie abgeschlossen wurde.
-- Sie können pro Plugin nur eine aktive Aufzeichnung zur Zeit haben.
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():()
Rückgaben
()
ResetWaypoints
ChangeHistoryService:ResetWaypoints():()
Rückgaben
()
SetWaypoint
Parameter
Rückgaben
()
Code-Beispiele
ChangeHistoryService:SetWaypoint
local ChangeHistoryService = game:GetService("ChangeHistoryService")
local Selection = game:GetService("Selection")
local toolbar = plugin:CreateToolbar("Beispiel Plugin")
local button = toolbar:CreateButton("Neon aktivieren", "", "")
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
-- Das Aufrufen von SetWaypoint vor der Arbeit verursacht keine Probleme, jedoch
-- ist es redundant, nur der Aufruf NACH der Arbeit ist erforderlich.
--ChangeHistoryService:SetWaypoint("Setze Auswahl auf Neon")
for _, part in pairs(parts) do
part.Material = Enum.Material.Neon
end
-- Rufe SetWaypoint NACH Abschluss der Arbeit auf
ChangeHistoryService:SetWaypoint("Auswahl auf Neon gesetzt")
else
-- Nichts zu tun. Sie müssen SetWaypoint nicht aufrufen, wenn
-- die Aktion keine Änderungen an der Erfahrung vorgenommen hat.
end
end)TryBeginRecording
Rückgaben
Code-Beispiele
ChangeHistoryService:TryBeginRecording
local ChangeHistoryService = game:GetService("ChangeHistoryService")
local Selection = game:GetService("Selection")
local toolbar = plugin:CreateToolbar("Beispiel Plugin")
local button = toolbar:CreateButton("Neon aktivieren", "", "")
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
-- Nichts zu tun.
return
end
local recording = ChangeHistoryService:TryBeginRecording("Auswahl auf Neon setzen")
if not recording then
-- Fehler hier behandeln. Das bedeutet, dass Ihr Plugin
-- eine vorherige Aufzeichnung begonnen hat und sie nie abgeschlossen wurde.
-- Sie können pro Plugin nur eine aktive Aufzeichnung zur Zeit haben.
return
end
for _, part in pairs(parts) do
part.Material = Enum.Material.Neon
end
ChangeHistoryService:FinishRecording(recording, Enum.FinishRecordingOperation.Commit)
end)Undo
ChangeHistoryService:Undo():()
Rückgaben
()
Events
OnRecordingFinished
ChangeHistoryService.OnRecordingFinished(
name:string, displayName:string?, identifier:string?, operation:Enum.FinishRecordingOperation, finalOptions:Dictionary?
Parameter
OnRecordingStarted