アイテムグループ
このページはオーナーに関する高度なトピックを解説します。
通常のCreator Kitの使用ではオーナーの概念を理解する必要はありません。
複数アイテムのオーナーをまとめて制御する、ステートを共有する、
といった制御を行いたい方を想定しています。
アイテムグループは複数のアイテムが共通のオーナーを持つようにする仕組みです。
プレイヤーがアイテムグループに所属する1つのアイテムに対してオーナーの取得を伴う操作(インタラクトする、掴む、乗る、など)をした場合、そのプレイヤーはアイテムグループに所属するすべてのアイテムのオーナーになります。 掴んでいる間や乗っている間は、プレイヤーはアイテムグループのオーナーであり続けます。そのため、別のプレイヤーが同じアイテムグループに所属するアイテムに対してオーナーの取得を伴う操作を行えなくなることに注意してください。
アイテムグループの作成
アイテムグループは1つのホストアイテムと複数のメンバーアイテムから構成されます。 アイテムがホストアイテムかメンバーアイテムの場合に、アイテムグループに所属するといいます。
ホストアイテムは、アイテムグループに必ず1つだけ存在するアイテムです。 ホストアイテムは以下の方法で作ることができます。
- ワールドアイテムにItem Group Host コンポーネントをつける
- ワールドアイテムテンプレートにItem Group Host コンポーネントをつけて、Create Item Gimmick コンポーネントやClusterScript.createItemを使用して生成する
ホストアイテムが削除されるとアイテムグループは無効になります。
メンバーアイテムは、アイテムグループに所属するホストアイテム以外のアイテムです。 アイテムグループは複数のメンバーアイテムをもつことができます。 メンバーアイテムは以下の方法で作ることができます。
- ワールド設置アイテムにItem Group Member コンポーネントをつけて、ホストアイテムを指定する
- ホストアイテムがClusterScript.createItemにCreateItemOptionを指定してアイテムを生成する
制限
- クラフトアイテムをホストアイテムにすることはできません。
- アイテムは同時に複数のアイテムグループに所属することはできません。
- アイテムが同時にホストアイテムとメンバーアイテムになることはできません。
- ホストアイテムがワールド設置アイテムの場合、アイテムをDestroy Item Gimmick コンポーネントで削除することはできません。
ClusterScript API
アイテムグループに所属することで使用できるようになるClusterScript APIがあります。
- アイテムグループに所属するアイテムはClusterScript.groupStateを使用することで、アイテムグループ内でステートを共有できます。このAPIは現在はベータAPIです。
- ホストアイテムはClusterScript.createItemにオプションを指定することで、アイテムをメンバーアイテムとして生成できます。このAPIは現在はベータAPIです。