Storage.Item
説明
Storage.Slotのフローアイテムのストレージと割り当てに関係するプロパティと機能を含むクラス。
Storage.Itemクラスは、フローアイテムが割り当てられている、または格納されているスロットの管理と取得のために主に使用されます。
Storage.Itemはアイテムオブジェクトと同じではありません。言い換えると、Storage.Itemをアイテム自体に設定することはできません。
Object item = param(2);
Storage.Item storageItem = item; // RUN-TIME ERROR
その代わりにStorage.Itemはアイテムと関連付けされます。アイテムと同一ではありません。特定のフローアイテム内にあるStorage.Itemにアクセスするには、Storage.Item()コンストラクターを使用します。
Storage.Itemは、フローアイテム自体に直接関連付けられているデータを保持します。Storage.ItemをStorage.Slot.Itemと混同しないようにしてください。Storage.Itemは、現在のスロット(フローアイテムが現在格納されているスロット)と、割り当て済みスロット(アイテムが配置のため割り当てられているスロット)のいずれかまたは両方を持つことがあります。フローアイテムが割り当て済みスロットに配置され、新しいスロットに割り当てられていない場合、割り当て済みスロットと現在のスロットは同じです。
Storage.Itemには同時に2つのStorage.Slot.Itemが関連付けられることがあります。具体的には1つが割り当て済みスロット、もう1つが現在のスロットの場合です。これらは、それぞれassignedSlotItemおよびcurrentSlotItemプロパティからアクセスできます。
プロパティ
assignedSlot | アイテムが割り当てられているスロット。 |
assignedSlotItem | アイテムの割り当て済みスロットと関連付けられているStorage.Slot.Item。 |
currentSlot | アイテムの現在のスロット。 |
currentSlotItem | アイテムの現在のスロットと関連付けられているStorage.Slot.Item。 |
state | アイテムの現在の輸送状態。 |
コンストラクター
Storage.Item | 指定されたフローアイテムに関連付けられているStorage.Itemオブジェクトを取得またはアサートします。 |
詳細
Storage.Item.assignedSlot
Storage.Slot assignedSlot
説明
アイテムが割り当てられているスロット。
このプロパティは、いくつかの方法で特定のスロットに割り当てできます。
- Storage.System.findSlot()を使用してストレージシステム内のスロットを見つけ、assignedSlotをその結果に設定します。
- Storage.System.getSlot()を使用してスロットをアドレスで直接取得し、assignedSlotをその結果に設定します。
- Storage.Object.getSlot()を使用し、スロットをベイ、レベル、スロットIDで直接取得し、assignedSlotをその結果に設定します。
- Storage.Objectのベイ、レベル、スロットを検索して適切なスロットを見つけ、assignedSlotを見つかったスロットに設定します。
- assignedSlotを直接NULLに設定します。これにより、アイテムはアウトバウンド状態に置かれます。Storage.system.findItem()を使用してアイテムを検索すると、アウトバウンドのアイテムはデフォルトでスキップされます。
アイテムをスロットに割り当てた後で直ちに、または何かの輸送処理によって、アイテムをスロットのストレージオブジェクトに移動します。アイテムがストレージオブジェクトに移動されると、割り当てられたスロットが現在のスロットになります。
Storage.Item.assignedSlotItem
readonly Storage.Slot.Item assignedSlotItem
説明
アイテムの割り当て済みスロットと関連付けられているStorage.Slot.Item。
Storage.Item.currentSlot
readonly Storage.Slot currentSlot
説明
アイテムの現在のスロット。
アイテムの現在のスロットは、そのアイテムが現在格納されているスロットです。アイテムの現在のスロットは直接設定できません。代わりに、次のいずれかの操作を実行できます。
- アイテムのassignedSlotを直接設定してから、フローアイテムを(直ちに、または何かの輸送処理で)そのスロットのストレージオブジェクトに移動します。アイテムがストレージオブジェクトに移動されると、割り当て済みスロットが認識され、割り当て済みスロットが現在のスロットになります。
- assignedSlotプロパティを未割り当てにしたまま、フローアイテムを単にストレージオブジェクトに移動します。ストレージオブジェクトがアイテムを受け取ると、アイテムにスロットが割り当てられていないことが認識され、スロット割り当て方法によりスロットが割り当てられます。これにより、アイテムの割り当て済みスロットは現在のスロットになります。
Storage.Item.currentSlotItem
readonly Storage.Slot.Item currentSlotItem
説明
アイテムの現在のスロットと関連付けられているStorage.Slot.Item。
Storage.Item.state
readonly int state
説明
アイテムの現在の輸送状態。
stateの値はアイテムのcurrentSlotおよびcurrentSlotプロパティの値の関数です。
有効な値は次のとおりです。
Storage.Item コンストラクター
Storage.Item( treenode item ) |
パラメータ
item | フローアイテム。 |
戻り値
Storage.Item | Storage.Itemオブジェクト。フローアイテムに関連付けられているStorage.Itemが存在しない場合、自動的に作成されます。 |
説明
指定されたフローアイテムに関連付けられているStorage.Itemオブジェクトを取得またはアサートします。
Storage.Itemには、このメソッドの呼び出しでのみアクセスできます。ツリーノードからキャストするのは正しくありません。Storage.Item storageItem = Storage.Item(item); // correct
Storage.Item storageItem = item; // incorrect