ChangeHistoryService

Hiển Thị Bản Đã Lỗi Thời

*Nội dung này được dịch bằng AI (Beta) và có thể có lỗi. Để xem trang này bằng tiếng Anh, hãy nhấp vào đây.

Không Thể Tạo
Dịch Vụ

Các nhà phát triển plugin phải dùng ChangeHistoryService để nói với Studio làm thế nào để huỷ và làm lại những thay đổi mà các plugin của họ đưa vào kinh nghiệm bằng cách g

Các plugin cũng có thể gọi chương trình tự động huỷ hoặc làm lại qua ChangeHistoryService:Undo() hoặc ChangeHistoryService:Redo() .

ChangeHistoryService không được kích hoạt trong thời gian thực, vì vậy gọi các phương thức của nó trong một trải nghiệm chạy có hiệu quả không.

Tóm Tắt

Phương Pháp

  • FinishRecording(identifier : string,operation : Enum.FinishRecordingOperation,finalOptions : Dictionary?):void
    Bảo Mật Plugin

    Giao tiếp với Studio rằng hồ sơ ghi đã xong và đưa ra hoạt động cuối cùng để hoàn thành hồ sơ ghi.

  • Bảo Mật Plugin

    Quay về có phải thực hiện lại những hành động nào và, nếu có, quay về cuối cùng của chúng.

  • Bảo Mật Plugin

    Quay về có phải có hành động có thể huỷ, và, nếu có, quay về cuối cùng của chúng.

  • Bảo Mật Plugin
  • Redo():void
    Bảo Mật Plugin

    Thi hành hành động cuối cùng đã bị huỷ.

  • Bảo Mật Plugin

    Xóa lịch sử, khiến tất cả điểm dừng lại / thay đổi được xóa.

  • SetEnabled(state : bool):void
    Bảo Mật Plugin

    Đặt whether hoặc không ChangeHistoryService được bật.

  • SetWaypoint(name : string):void
    Bảo Mật Plugin

    Đặt một điểm dừng mới có thể được sử dụng như một điểm dừng lại hoặc thực hiện lại.

  • TryBeginRecording(name : string,displayName : string?):string?
    Bảo Mật Plugin

    Bắt đầu theo dõi những thay đổi đã thực hiện trên mô hình dữ liệu thành một hồ sơ.

  • Undo():void
    Bảo Mật Plugin

    Huỷ hành động cuối cùng đã thực hiện, cho đó có một điểm dừng.

Sự Kiện

Thuộc Tính

Phương Pháp

FinishRecording

void
Bảo Mật Plugin

Tham Số

identifier: string

Xác định cuộc gọi đã ghi lại từ cuộc gọi trước đó để TryBeginRecording() . Nếu hoạt động là Enum.ChangeHistoryService.FinishRecordingOperation.Cancel, giá trị này được bỏ qua và cuộc gọi được xác định bởi context.

Chỉ định hoạt động để thực hiện.

finalOptions: Dictionary

Cột dữ liệu bắt buộc để gửi đến OnFinishRecording .


Lợi Nhuận

void

Mẫu mã

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

Bảo Mật Plugin

Quay về có phải thực hiện lại những hành động nào và, nếu có, quay về cuối cùng của chúng.


Lợi Nhuận

GetCanUndo

Bảo Mật Plugin

Quay về có phải có hành động có thể huỷ, và, nếu có, quay về cuối cùng của chúng.


Lợi Nhuận

IsRecordingInProgress

Bảo Mật Plugin

Tham Số

identifier: string

Lợi Nhuận

Redo

void
Bảo Mật Plugin

Thi hành hành động cuối cùng đã bị huỷ.


Lợi Nhuận

void

ResetWaypoints

void
Bảo Mật Plugin

Xóa lịch sử, khiến tất cả điểm dừng lại / thay đổi được xóa.


Lợi Nhuận

void

SetEnabled

void
Bảo Mật Plugin

Đặt whether or not the ChangeHistoryService is enabled. When set to false, the undo/redo list is cleared, and does not repopulate. When set to true again, the original list is not restored, but further operations append to the list once more

Tham Số

state: bool

Lợi Nhuận

void

SetWaypoint

void
Bảo Mật Plugin

Phương thức này sẽ được bị lỗi sớm vì lợi ích của TryBeginRecording() .

ChangeHistoryService theo dõi lịch sử plugin như một dòng thay đổi trong các thay đổi tính thức. SetWaypoint() tạo ra một cắt giảm trong dòng thay đổi tính thức để cho phép các hành động huỷ và làm lại biết nơi để dừng lại.

Theo nguyên tắc, các hành động gọi người dùng trong Studio phải có thể gọi Class.ChangeHistoryService:SetWaypoint()|SetWaypoint() sau khi hoàn thành set thay đổi của họ cho trải nghiệm. Gọi nó sau k

Tham Số

name: string

Lợi Nhuận

void

Mẫu mã

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

Bảo Mật Plugin

Phương thức này bắt đầu ghi lại các thay đổi trong mô hình dữ liệu. Bạn phải gọi nó trước khi thực hiện các thay đổi để tránh các cảnh báo hoặc lỗi tương lai.

Khi ghi lại được hoàn thành, bạn gọi FinishRecording() với xác nhận người dùng đã quay lại để hoàn thành ghi lại và cập nhật hàng đợi huỷ/thực hiện lại.

Phương thức này sẽ trả lại nil nếu nó không thể bắt đầu một cuộc ghi. Cuộc ghi thất bại nếu plugin đã có một cuộc ghi đang diễn ra, hoặc nếu người dùng đang ở trong Chạy hoặc Chơi chế độ.

Bạn có thể sử dụng IsRecordingInProgress() để kiểm tra trạng thái ghi lại của plugin.

Tham Số

name: string

Tên hành động đang thực hiện phù hợp cho mục đích lưu trữ và lập trình.

displayName: string

Tên hành động đang thực hiện để hiển thị cho người dùng.


Lợi Nhuận

Mẫu mã

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
Bảo Mật Plugin

Huỷ hành động cuối cùng đã thực hiện, cho đó có một điểm dừng.


Lợi Nhuận

void

Sự Kiện

OnRecordingFinished

Bảo Mật Plugin

Tham Số

name: string

Tên hành động đang thực hiện phù hợp cho mục đích lưu trữ và lập trình.

displayName: string

Tên hành động đang thực hiện để hiển thị cho người dùng.

identifier: string

Nhận dạng cho cuộc gọi.

finalOptions: Dictionary

Bảng tùy chọn từ FinishOperation() .


OnRecordingStarted

Bảo Mật Plugin

Tham Số

name: string

Tên hành động đang thực hiện phù hợp cho mục đích lưu trữ và lập trình.

displayName: string

Tên hành động đang thực hiện để hiển thị cho người dùng.


OnRedo

Bảo Mật Plugin

Đã kích hoạt khi người dùng ngược lại lệnh huỷ. Waypoint mô tả loại hành động đã được thực hiện lại.

Tham Số

waypoint: string

OnUndo

Bảo Mật Plugin

Được kích hoạt khi người dùng thực hiện một hành động nào đó trong studio. Waypoint mô tả loại hành động đã được thực hiện.

Tham Số

waypoint: string