요약
메서드
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():() |
이벤트
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 참조
메서드
FinishRecording
ChangeHistoryService:FinishRecording(
):()
매개 변수
반환
()
코드 샘플
변경 기록 서비스: 시도 시작 녹화
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)IsRecordingInProgress
Redo
ChangeHistoryService:Redo():()
반환
()
ResetWaypoints
ChangeHistoryService:ResetWaypoints():()
반환
()
SetWaypoint
매개 변수
반환
()
코드 샘플
변경 이력 서비스:웨이포인트 설정
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
반환
코드 샘플
변경 기록 서비스: 시도 시작 녹화
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?
매개 변수
OnRecordingStarted