學習
引擎類別
ChangeHistoryService
無法建立
服務

*此內容是使用 AI(Beta 測試版)翻譯,可能含有錯誤。若要以英文檢視此頁面,請按一下這裡


概要
繼承成員

API 參考
方法
FinishRecording
外掛程式安全性
ChangeHistoryService:FinishRecording(
identifier:string, operation:Enum.FinishRecordingOperation, finalOptions:Dictionary?
):()
參數
identifier:string
finalOptions:Dictionary?
返回
()
範例程式碼
變更歷史服務:嘗試開始錄製
local ChangeHistoryService = game:GetService("ChangeHistoryService")
local Selection = game:GetService("Selection")
local toolbar = plugin:CreateToolbar("範例插件")
local button = toolbar:CreateButton("讓它發光", "", "")
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
-- 沒有要處理的內容。
return
end
local recording = ChangeHistoryService:TryBeginRecording("將選擇設置為 發光")
if not recording then
-- 在這裡處理錯誤。這表示 您的插件之前開始了一次錄影但沒有完成。
-- 每個插件同時只能有一個錄製活動。
return
end
for _, part in pairs(parts) do
part.Material = Enum.Material.Neon
end
ChangeHistoryService:FinishRecording(recording, Enum.FinishRecordingOperation.Commit)
end)

GetCanRedo
外掛程式安全性
ChangeHistoryService:GetCanRedo():Tuple
返回

GetCanUndo
外掛程式安全性
ChangeHistoryService:GetCanUndo():Tuple
返回

IsRecordingInProgress
外掛程式安全性
ChangeHistoryService:IsRecordingInProgress(identifier:string?):boolean
參數
identifier:string?
返回

Redo
外掛程式安全性
ChangeHistoryService:Redo():()
返回
()

ResetWaypoints
外掛程式安全性
ChangeHistoryService:ResetWaypoints():()
返回
()

SetEnabled
外掛程式安全性
ChangeHistoryService:SetEnabled(state:boolean):()
參數
state:boolean
返回
()

SetWaypoint
外掛程式安全性
ChangeHistoryService:SetWaypoint(name:string):()
參數
name:string
返回
()
範例程式碼
變更歷史服務:設定途徑
local ChangeHistoryService = game:GetService("ChangeHistoryService")
local Selection = game:GetService("Selection")
local toolbar = plugin:CreateToolbar("示例插件")
local button = toolbar:CreateButton("霓虹燈化", "", "")
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
-- 在工作之前調用 SetWaypoint 不會造成任何問題,然而
-- 這是多餘的,只需要在工作之後的調用。
--ChangeHistoryService:SetWaypoint("將選擇設置為霓虹燈")
for _, part in pairs(parts) do
part.Material = Enum.Material.Neon
end
-- 在完成工作之後調用 SetWaypoint
ChangeHistoryService:SetWaypoint("將選擇設置為霓虹燈")
else
-- 沒有任何操作。您不需要在沒有對體驗進行任何更改的情況下調用 SetWaypoint。
end
end)

TryBeginRecording
外掛程式安全性
ChangeHistoryService:TryBeginRecording(
name:string, displayName:string?
參數
name:string
displayName:string?
返回
範例程式碼
變更歷史服務:嘗試開始錄製
local ChangeHistoryService = game:GetService("ChangeHistoryService")
local Selection = game:GetService("Selection")
local toolbar = plugin:CreateToolbar("範例插件")
local button = toolbar:CreateButton("讓它發光", "", "")
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
-- 沒有要處理的內容。
return
end
local recording = ChangeHistoryService:TryBeginRecording("將選擇設置為 發光")
if not recording then
-- 在這裡處理錯誤。這表示 您的插件之前開始了一次錄影但沒有完成。
-- 每個插件同時只能有一個錄製活動。
return
end
for _, part in pairs(parts) do
part.Material = Enum.Material.Neon
end
ChangeHistoryService:FinishRecording(recording, Enum.FinishRecordingOperation.Commit)
end)

Undo
外掛程式安全性
ChangeHistoryService:Undo():()
返回
()

活動
OnRecordingFinished
外掛程式安全性
ChangeHistoryService.OnRecordingFinished(
name:string, displayName:string?, identifier:string?, operation:Enum.FinishRecordingOperation, finalOptions:Dictionary?
參數
name:string
displayName:string?
identifier:string?
finalOptions:Dictionary?

OnRecordingStarted
外掛程式安全性
ChangeHistoryService.OnRecordingStarted(
name:string, displayName:string?
參數
name:string
displayName:string?

OnRedo
外掛程式安全性
ChangeHistoryService.OnRedo(waypoint:string):RBXScriptSignal
參數
waypoint:string

OnUndo
外掛程式安全性
ChangeHistoryService.OnUndo(waypoint:string):RBXScriptSignal
參數
waypoint:string

©2026 Roblox Corporation、Roblox、Roblox 標誌及 Powering Imagination 是我們在美國及其他國家地區的部分註冊與未註冊商標。