Clase de motor
ChangeHistoryService
*Este contenido se traduce usando la IA (Beta) y puede contener errores. Para ver esta página en inglés, haz clic en aquí.
Resumen
Métodos
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():() |
Eventos
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 |
Referencia API
Métodos
FinishRecording
ChangeHistoryService:FinishRecording(
):()
Parámetros
Devuelve
()
Muestras de código
CambioHistóricoServicio:IntentarComenzarGrabación
local ChangeHistoryService = game:GetService("ChangeHistoryService")
local Selection = game:GetService("Selection")
local toolbar = plugin:CreateToolbar("Ejemplo de Plugin")
local button = toolbar:CreateButton("Neonízalo", "", "")
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
-- No hay nada que hacer.
return
end
local recording = ChangeHistoryService:TryBeginRecording("Establecer selección a neón")
if not recording then
-- Manejar el error aquí. Esto indica que tu plugin comenzó una grabación anterior
-- y nunca la completó. Solo puedes tener una grabación
-- por plugin activa a la vez.
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():()
Devuelve
()
ResetWaypoints
ChangeHistoryService:ResetWaypoints():()
Devuelve
()
SetWaypoint
Parámetros
Devuelve
()
Muestras de código
CambioHistóricoServicio:EstablecerPuntoDeRuta
local ChangeHistoryService = game:GetService("ChangeHistoryService")
local Selection = game:GetService("Selection")
local toolbar = plugin:CreateToolbar("Ejemplo de Plugin")
local button = toolbar:CreateButton("Dale un toque neón", "", "")
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
-- Llamar a EstablecerPuntoDeRuta antes del trabajo no causará problemas, sin embargo
-- es redundante, solo se necesita la llamada DESPUÉS del trabajo.
--ChangeHistoryService:SetWaypoint("Estableciendo selección en neón")
for _, part in pairs(parts) do
part.Material = Enum.Material.Neon
end
-- Llama a EstablecerPuntoDeRuta DESPUÉS de completar el trabajo
ChangeHistoryService:SetWaypoint("Establecer selección en neón")
else
-- Nada que hacer. No necesitas llamar a EstablecerPuntoDeRuta en el caso en que
-- la acción no terminó realizando ningún cambio en la experiencia.
end
end)TryBeginRecording
Devuelve
Muestras de código
CambioHistóricoServicio:IntentarComenzarGrabación
local ChangeHistoryService = game:GetService("ChangeHistoryService")
local Selection = game:GetService("Selection")
local toolbar = plugin:CreateToolbar("Ejemplo de Plugin")
local button = toolbar:CreateButton("Neonízalo", "", "")
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
-- No hay nada que hacer.
return
end
local recording = ChangeHistoryService:TryBeginRecording("Establecer selección a neón")
if not recording then
-- Manejar el error aquí. Esto indica que tu plugin comenzó una grabación anterior
-- y nunca la completó. Solo puedes tener una grabación
-- por plugin activa a la vez.
return
end
for _, part in pairs(parts) do
part.Material = Enum.Material.Neon
end
ChangeHistoryService:FinishRecording(recording, Enum.FinishRecordingOperation.Commit)
end)Undo
ChangeHistoryService:Undo():()
Devuelve
()
Eventos
OnRecordingFinished
ChangeHistoryService.OnRecordingFinished(
name:string, displayName:string?, identifier:string?, operation:Enum.FinishRecordingOperation, finalOptions:Dictionary?
Parámetros
OnRecordingStarted