注: 以下の翻訳の正確性は検証されていません。AIPを利用して英語版の原文から機械的に翻訳されたものです。
オブジェクトを作成するオントロジー編集関数を書く際、新たに作成されたオブジェクトに対して一意のIDを生成することが望ましいかもしれません。この設定は、グローバルに一意の識別子を生成するための @foundry/functions-utils
パッケージを使用して関数内で設定できます。
@foundry/functions-utils
パッケージはデフォルトでインストールされていますが、もしパッケージが package.json
ファイルに存在しない場合:
"dependencies"
セクションに "@foundry/functions-utils": "0.1.0"
を追加します。依存関係の追加に関するドキュメンテーションで述べられているように、新しいパッケージをオートコンプリートで利用可能にするためには、Code Assistを再起動することを忘れないでください。
一意のIDを生成するために、@foundry/functions-utils
パッケージから Uuid.random()
ユーティリティ関数を使用することができます。以下のコード例では、オントロジー編集関数の一例として random
関数をどのように使用できるかを示しています。
Copied!1// @foundry/functions-apiからOntologyEditFunctionとTimestampをインポートします 2import { OntologyEditFunction, Timestamp } from "@foundry/functions-api"; 3// @foundry/ontology-apiからObjectsをインポートします 4import { Objects } from "@foundry/ontology-api"; 5// @foundry/functions-utilsからUuidをインポートします 6import { Uuid } from "@foundry/functions-utils"; 7 8// ExampleEditFunctionsクラスをエクスポートします 9export class ExampleEditFunctions { 10 // FlightScenarioを編集する関数を定義します 11 @Edits(FlightScenario) 12 // OntologyEditFunctionデコレータを使用します 13 @OntologyEditFunction() 14 // createFlightScenarioという新しいフライトシナリオを作成するための関数を定義します 15 public createFlightScenario(): void { 16 // 新しいフライトシナリオを作成します 17 // ランダムなUuidを持つフライトシナリオを作成します 18 const scenario = Objects.create().flightScenarios(Uuid.random()); 19 // シナリオの名前を"New scenario"に設定します 20 scenario.scenarioName = "New scenario"; 21 // シナリオの作成時間を現在の時間に設定します 22 scenario.creationTime = Timestamp.now(); 23 } 24}