ChangeHistoryService

非推奨を表示

*このコンテンツは、ベータ版のAI(人工知能)を使用して翻訳されており、エラーが含まれている可能性があります。このページを英語で表示するには、 こちら をクリックしてください。

作成できません
サービス

プラグイン開発者は、 必ず 、レコーディングでエクスペリエンスに変更を取り消し、やり直すようにスタジオに伝えるために ChangeHistoryService を使用する必要があります。変更を行う前に、プラグインは ChangeHistoryService:TryBeginRecording() を呼び出し、割り当てられた識別子を記憶し、変更後にプラグインは ChangeHistoryService:FinishRecording() を呼び出して記録を完了します。

プラグインは、ChangeHistoryService:Undo() または ChangeHistoryService:Redo() を介して、取り消しまたはやり直しをプログラマティックに呼び出すこともできます。

ChangeHistoryService は実行時に有効になっていないので、実行中のエクスペリエンスでそのメソッドを呼ぶことは効果がありません。

概要

方法

  • FinishRecording(identifier : string,operation : Enum.FinishRecordingOperation,finalOptions : Dictionary?):()
    プラグインのセキュリティ

    特定の記録が完了し、最後の操作で記録を完了するためにスタジオに通知します。

  • プラグインのセキュリティ

    やり直すことができるアクションがあるかどうかを返し、ある場合は最後のものを返します。

  • プラグインのセキュリティ

    取り消し可能なアクションがあるかどうかを返し、ある場合は最後のものを返します。

  • プラグインのセキュリティ
  • Redo():()
    プラグインのセキュリティ

    取り消された最後のアクションを実行します。

  • プラグインのセキュリティ

    履歴をクリアし、すべての取り消し/やり直しウェイポイントが削除されます。

  • SetEnabled(state : boolean):()
    プラグインのセキュリティ

    ChangeHistoryService が有効かどうかを設定します。

  • SetWaypoint(name : string):()
    プラグインのセキュリティ

    取り消しややり直しのポイントとして使用できる新しいウェイポイントを設定します。

  • TryBeginRecording(name : string,displayName : string?):string?
    プラグインのセキュリティ

    データモデルに行われた変更を記録に追跡開始します。

  • Undo():()
    プラグインのセキュリティ

    最後に実行されたアクションを取り消し、それに対するウェイポイントが存在する

イベント

プロパティ

方法

FinishRecording

()
プラグインのセキュリティ

パラメータ

identifier: string

前の呼び出しからのレコードを識別します TryBeginRecording() 。操作が Enum.ChangeHistoryService.FinishRecordingOperation.Cancel である場合、この値は無視され、記録はコンテキストによって決定されます。

既定値: ""

取る操作を指定します。

既定値: ""
finalOptions: Dictionary

オプションの値のテーブルを OnFinishRecording にパスします。

既定値: ""

戻り値

()

コードサンプル

取り消し/やり直しレコードをコミットするには、まず TryBeginRecording() を呼び出し、次に FinishRecording() を呼び出す必要があります。

変更履歴サービス: 記録開始を試みる

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
-- やることはありません。
return
end
local recording = ChangeHistoryService:TryBeginRecording("Set selection to neon")
if not recording then
-- ここでエラーを処理します。これは、プラグインが以前に開始したことを示します
-- 記録し、決して完了しません。1つの記録しか持っていないかもしれません
-- 一度にアクティブなプラグイン 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

プラグインのセキュリティ

やり直すことができるアクションがあるかどうかを返し、ある場合は最後のものを返します。


戻り値

GetCanUndo

プラグインのセキュリティ

取り消し可能なアクションがあるかどうかを返し、ある場合は最後のものを返します。


戻り値

IsRecordingInProgress

プラグインのセキュリティ

パラメータ

identifier: string
既定値: ""

戻り値

Redo

()
プラグインのセキュリティ

取り消された最後のアクションを実行します。


戻り値

()

ResetWaypoints

()
プラグインのセキュリティ

履歴をクリアし、すべての取り消し/やり直しウェイポイントが削除されます。


戻り値

()

SetEnabled

()
プラグインのセキュリティ

ChangeHistoryService が有効かどうかを設定します。[偽] に設定すると、取り消し/やり直しリストがクリアされ、再度満たされません。再度真に設定すると、元のリストは復元されませんが、さらに操作がリストに追加されます

パラメータ

state: boolean
既定値: ""

戻り値

()

SetWaypoint

()
プラグインのセキュリティ

このメソッドは、 すぐに廃止される ことになり、TryBeginRecording() のために。

ChangeHistoryService トラックプラグインの履歴をプロパティ変更のストリームとして記録します。SetWaypoint() は、そのプロパティ変更のストリームを切り、取り消しとやり直しのアクションが停止する場所を知るようにします。

通常、Studio のユーザーが発動するアクションは、 セットの変更をエクスペリエンスに完了した後、 SetWaypoint()を呼び出さなければならない変更のセットを呼び出す 以前 は、ウェイポイントを設定できなかった別の悪意のあるプラグインをクリーンアップできますが、自分のプラグインでそのような使用を正当化する理由は乏しいです。

パラメータ

name: string
既定値: ""

戻り値

()

コードサンプル

ウェイポイントが正しく機能するには、アクションを実行する前と後の両方に設定する必要がありますが、取り消し可能なアクションを実行する必要があります。

変更履歴サービス:Waypointを設定

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
-- 作業の前に SetWaypoint を呼び出すと、問題が発生する可能性はありますが
-- 作業の後にのみ呼び出されるので、重複します。
--変更履歴サービス:Waypointを設定("ネオンに選択を設定")
for _, part in pairs(parts) do
part.Material = Enum.Material.Neon
end
-- 作業を完了した後に SetWaypoint を呼び出す
ChangeHistoryService:SetWaypoint("Set selection to neon")
else
-- やることはありません。以下の場合は、SetWaypoint を呼び出す必要はありません
-- アクションはエクスペリエンスに変更を加えることができなかった。
end
end)

TryBeginRecording

プラグインのセキュリティ

このメソッドは、データモデルの変更を追跡する記録を開始します。あなた 将来の警告やエラーを避けるために、変更を行う前にそれを呼び出す必要があります。

記録が完了すると、返された記録識別子で FinishRecording() を呼び出して、記録を完了し、取り消し/やり直しスタックを更新します。

このメソッドは、記録を開始できない場合は nil を返します。プラグインにすでに記録が進行中であるか、ユーザーが 実行 または 再生 モードにある場合、記録は失敗します。

IsRecordingInProgress() を使用して、プラグインの記録ステータスをチェックできます。

パラメータ

name: string

ログとコーディングの目的に適したアクションの名前。

既定値: ""
displayName: string

ユーザーに表示するアクションの名前。

既定値: ""

戻り値

コードサンプル

取り消し/やり直しレコードをコミットするには、まず TryBeginRecording() を呼び出し、次に FinishRecording() を呼び出す必要があります。

変更履歴サービス: 記録開始を試みる

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
-- やることはありません。
return
end
local recording = ChangeHistoryService:TryBeginRecording("Set selection to neon")
if not recording then
-- ここでエラーを処理します。これは、プラグインが以前に開始したことを示します
-- 記録し、決して完了しません。1つの記録しか持っていないかもしれません
-- 一度にアクティブなプラグイン 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

()
プラグインのセキュリティ

最後に実行されたアクションを取り消し、それに対するウェイポイントが存在する


戻り値

()

イベント

OnRecordingFinished

プラグインのセキュリティ

パラメータ

name: string

ログとコーディングの目的に適したアクションの名前。

displayName: string

ユーザーに表示するアクションの名前。

identifier: string

記録の識別子。

finalOptions: Dictionary

オプションのテーブル from FinishOperation()


OnRecordingStarted

プラグインのセキュリティ

パラメータ

name: string

ログとコーディングの目的に適したアクションの名前。

displayName: string

ユーザーに表示するアクションの名前。


OnRedo

プラグインのセキュリティ

ユーザーが戻りコマンドを反転させたときに発射されます。ウェイポイントは、戻り行動が行われたタイプアクションを説明します。

パラメータ

waypoint: string

OnUndo

プラグインのセキュリティ

ユーザーがスタジオでアクションを取り消したときに発射されます。ウェイポイントは取り消されたタイプアクションを説明します。

パラメータ

waypoint: string