ChangeHistoryService

Veraltete anzeigen

*Dieser Inhalt wurde mit KI (Beta) übersetzt und kann Fehler enthalten. Um diese Seite auf Englisch zu sehen, klicke hier.

Nicht erstellbar
Dienst

Plugin-Entwickler müssen Class.ChangeHistoryService verwenden, um Studio zu sagen, wie Studio Änderungen, die ihre Plugins in Erlebnissen durch Aufnahmen vornehmen, rückgängig und wiederholen soll, indem es aufzeichnet. Bevor Sie Änderungen vornehmen, ruft ein Plugin Class.ChangeHistoryService:TryBeginRecording() auf, um den Identifikator zu erinnern, den es zugewiesen

Plugins können auch programmgesteuert über ChangeHistoryService:Undo() oder ChangeHistoryService:Redo() aufrufen.

ChangeHistoryService ist beim Laufzeit-Start nicht aktiviert, so dass der Aufruf seiner Methoden in einer laufenden Erfahrung keinen Effekt hat.

Zusammenfassung

Methoden

  • FinishRecording(identifier : string,operation : Enum.FinishRecordingOperation,finalOptions : Dictionary?):void
    Plugin-Sicherheit

    Meldet sich mit Studio, dass das identifizierte Aufnahmen fertig ist, und um die endgültige Operation abzuschließen, um das Aufnahmen zu vervollständigen.

  • Plugin-Sicherheit

    Gibt zurück, ob es Aktionen gibt, die wiederholt werden können, und, wenn es so ist, gibt es die letzte davon zurück.

  • Plugin-Sicherheit

    Gibt zurück, ob es Aktionen gibt, die rückgängig gemacht werden können, und, wenn es so ist, gibt es die letzte davon zurück.

  • Plugin-Sicherheit
  • Redo():void
    Plugin-Sicherheit

    Führt die letzte Aktion aus, die rückgängig gemacht wurde.

  • Plugin-Sicherheit

    Löscht die Geschichte, so dass alle Rückgängig/Wiederholung Waypoints entfernt werden.

  • SetEnabled(state : bool):void
    Plugin-Sicherheit

    Setzt, ob der ChangeHistoryService aktiviert ist oder nicht.

  • SetWaypoint(name : string):void
    Plugin-Sicherheit

    Setzt einen neuen Wegpunkt, der als Rückgängigmachungspunkt oder Wiederholungspunkt verwendet werden kann.

  • TryBeginRecording(name : string,displayName : string?):string?
    Plugin-Sicherheit

    Beginnt die Aufzeichnung von Änderungen am Datenmodell.

  • Undo():void
    Plugin-Sicherheit

    Rückgängig macht die letzte ausgeführte Aktion, für die es einen Waypoint gibt.

Ereignisse

Eigenschaften

Methoden

FinishRecording

void
Plugin-Sicherheit

Parameter

identifier: string

Identifiziert die Aufnahme aus der vorherigen Anrufe zu TryBeginRecording() . Wenn die Operation ist Enum.ChangeHistoryService.FinishRecordingOperation.Cancel , wird dieser Wert ignoriert, und das Aufnahme wird durch Kontext bestimmt.

Gibt die Operation an, die ausgeführt werden soll.

finalOptions: Dictionary

Optionale Tabelle von Werten, die an OnFinishRecording weitergegeben werden.


Rückgaben

void

Code-Beispiele

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

Plugin-Sicherheit

Gibt zurück, ob es Aktionen gibt, die wiederholt werden können, und, wenn es so ist, gibt es die letzte davon zurück.


Rückgaben

GetCanUndo

Plugin-Sicherheit

Gibt zurück, ob es Aktionen gibt, die rückgängig gemacht werden können, und, wenn es so ist, gibt es die letzte davon zurück.


Rückgaben

IsRecordingInProgress

Plugin-Sicherheit

Parameter

identifier: string

Rückgaben

Redo

void
Plugin-Sicherheit

Führt die letzte Aktion aus, die rückgängig gemacht wurde.


Rückgaben

void

ResetWaypoints

void
Plugin-Sicherheit

Löscht die Geschichte, so dass alle Rückgängig/Wiederholung Waypoints entfernt werden.


Rückgaben

void

SetEnabled

void
Plugin-Sicherheit

Setzt, ob der ChangeHistoryService aktiviert ist oder nicht. Wenn auf false gesetzt, wird die Rückgängigmachungs-/Wiederholungsliste geleert und nicht erneut gefüllt. Wenn auf true erneut gesetzt, wird die ursprüngliche Liste nicht wiederhergestellt, sondern weitere Operationen an der Liste angehängt

Parameter

state: bool

Rückgaben

void

SetWaypoint

void
Plugin-Sicherheit

Diese Methode wird in Kürze deprecated soon in favor von TryBeginRecording() .

ChangeHistoryService verfolgt die Geschichte des Plugins als Stream von Eigenschaftsänderungen. SetWaypoint() erstellt einen Schnitt in diese Eigenschaftsänderungen-Strom, damit die Rückgängigmachungs- und Wiederholungsaktionen wissen, wo sie aufhören.

Nach der Konvention müssen Benutzer-in-Studio-Aktionen müssen aufrufen, nachdem sie ihre Reihe von Änderungen an der Erlebnisabgeschlossen haben. SetWaypoint() nachdem sie ihre Reihe von Änderungen abgeschlossen haben, nach Class.ChangeHistoryService:SetWaypoint()|SetWaypoint() aufgerufen werden, um

Parameter

name: string

Rückgaben

void

Code-Beispiele

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

Plugin-Sicherheit

Diese Methode beginnt eine Aufzeichnung, um Änderungen am Modellzu verfolgen. Sie müssen , sie vor dem Ändern zu rufen, um zukünftige Warnungen oder Fehler zu vermeiden.

Wenn das Aufzeichnung abgeschlossen ist, rufen Sie FinishRecording() mit dem zurückgegebenen Aufzeichnung-Identifikator auf, um das Aufzeichnung abzuschließen und den Rückgängigmachen/Wiederholen-Stack zu aktualisieren.

Diese Methode wird nil zurückgeben, wenn sie aufnahmen nicht starten kann. Aufnahmen fehlen, wenn das Plugin bereits ein Aufnahme in Arbeit hat, oder wenn der Benutzer in Run oder Play -Modus ist.

Du kannst IsRecordingInProgress() verwenden, um den Status der Aufnahme des Plug-inzu überprüfen.

Parameter

name: string

Name der Aktion, die für Log- und Codierungszwecke geeignet ist.

displayName: string

Name der Aktion, die ausgeführt wird, um dem Benutzer angezeigt zu werden.


Rückgaben

Code-Beispiele

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
Plugin-Sicherheit

Rückgängig macht die letzte ausgeführte Aktion, für die es einen Waypoint gibt.


Rückgaben

void

Ereignisse

OnRecordingFinished

Plugin-Sicherheit

Parameter

name: string

Name der Aktion, die für Log- und Codierungszwecke geeignet ist.

displayName: string

Name der Aktion, die ausgeführt wird, um dem Benutzer angezeigt zu werden.

identifier: string

Die Kennung für die Aufnahme.

finalOptions: Dictionary

Optionale Tabelle von FinishOperation() .


OnRecordingStarted

Plugin-Sicherheit

Parameter

name: string

Name der Aktion, die für Log- und Codierungszwecke geeignet ist.

displayName: string

Name der Aktion, die ausgeführt wird, um dem Benutzer angezeigt zu werden.


OnRedo

Plugin-Sicherheit

Ausgelöst, wenn der Benutzer die Rückgängigmachungsbefehle umkehrt. Waypoint beschreibt die Art der Aktion, die wieder ausgeführt wurde.

Parameter

waypoint: string

OnUndo

Plugin-Sicherheit

Ausgelöst, wenn der Benutzer eine Aktion im Studio annulliert. Waypoint beschreibt die Art der Aktion, die annulliert wurde.

Parameter

waypoint: string