Storage.Object
説明
ストレージオブジェクトには、ベイ、レベル、スロットの2次元グリッドにアイテムを保存するための機能とデータがあります。
プロパティ
bays | オブジェクトのベイに、Storage.Bayの配列としてアクセスします。 |
メソッド
areSlotLabelsEqual | すべてのスロットのラベル値が互いに等しい、または定義済みの値に等しい場合に1、それ以外の場合は0が返されます。 |
assignSlot | オブジェクトのスロット割り当て方法を使用して、アイテムをスロットに割り当てます。 |
getSlot | ベイ、レベル、スロットIDからスロットを取得します。 |
setSlotLabels | オブジェクト内のすべてのベイとレベルについて、すべてのスロットのラベルを指定された値に設定します。 |
詳細
Storage.Object.bays
readonly bays
説明
オブジェクトのベイに、Storage.Bayの配列としてアクセスします。
ベイの数へのアクセス
次のコードを使用して、ベイの数にアクセスできます。
current.bays.length
ランクによるベイへのアクセス
次のコードを使用して、ランクにより個別のベイにアクセスできます。
current.bays[1] // first bay
current.bays[current.bays.length] // last bay
current.bays[i] // i-th bay
ベイ進行
ベイは、オブジェクトの[ベイ進行]プロパティに従って進行します。ベイ進行がX+なら、current.bays[1]はオブジェクトの座標で最も小さいx位置を持つベイにアクセスします。たとえば、ラックのピックフェースを向いている場合、これは最も左にあるベイです。ベイ進行がX-なら、current.bays[1]はオブジェクトの座標で最も大きいx位置を持つベイにアクセスします。ピックフェースからラックを見る方向では、これは最も右にあるベイです。
Storage.Object.areSlotLabelsEqual()
int areSlotLabelsEqual( string labelName ) |
int areSlotLabelsEqual( string labelName , Variant matchValue ) |
パラメータ
labelName | 一致対象のターゲットラベルの名前。 |
matchValue | このパラメータが含まれている場合、すべてのスロットのラベルがこの値と一致する場合のみ1が返されます。 |
戻り値
int | すべてのスロットのラベル値が一致する場合に1、それ以外の場合は0。 |
説明
すべてのスロットのラベル値が互いに等しい、または定義済みの値に等しい場合に1、それ以外の場合は0が返されます。
Storage.Object.assignSlot()
Storage.Slot assignSlot( treenode item ) |
パラメータ
item | スロットを割り当てるアイテム。 |
戻り値
Storage.Slot | 成功した場合は割り当てられたスロット、失敗した場合はnull。 |
説明
オブジェクトのスロット割り当て方法を使用して、アイテムをスロットに割り当てます。
Storage.Object.getSlot()
Storage.Slot getSlot( Variant bayID , Variant levelID , Variant slotID ) |
パラメータ
bayID | ベイのID。オブジェクトにアドレス方式が存在しない場合、ベイIDは数値の必要があります。アドレス方式が存在し、ベイの識別子が英字なら、英字を使用できます。 |
levelID | レベルのID。オブジェクトにアドレス方式が存在しない場合、レベルIDは数値の必要があります。アドレス方式が存在し、レベルの識別子が英字なら、英字を使用できます。 |
slotID | スロットのID。オブジェクトにアドレス方式が存在しない場合、スロットIDは数値の必要があります。アドレス方式が存在し、スロットの識別子が英字なら、英字を使用できます。 |
戻り値
Storage.Slot | スロットが存在する場合、このメソッドはスロットを返します。それ以外の場合、NULLを返します。 |
説明
ベイ、レベル、スロットIDからスロットを取得します。
IDは、オブジェクトの開始ベイ/レベル/スロットとベイ/レベル/スロット幅プロパティを使用して「マップ」されます。たとえば、オブジェクトの開始ベイが2で、ベイ幅が2なら、bayIDとして6を渡すと、オブジェクトのランク3のベイが取得されます(ランク1のベイはID 2、ランク2のベイはID 4、ランク3のベイはID 6など)。
例:
Storage.Item(item).assignedSlot = current.getSlot(item.BayID, item.LevelID, item.SlotID)
このコードはアイテムを、アイテムの「BayID」、「LevelID」、「SlotID」ラベルによりアドレス指定されるスロットに割り当てます。
例:
Storage.Item(item).assignedSlot = current.getSlot(5, "A", 2)
このコードはアイテムを、BayID 5、levelID A、SlotID 2でアドレス指定されるスロットに割り当てます。
Storage.Object.setSlotLabels()
void setSlotLabels( string labelName , Variant value ) |
パラメータ
labelName | 設定するラベルの名前。 |
value | 各スロットのラベルに指定する値。 |
説明
オブジェクト内のすべてのベイとレベルについて、すべてのスロットのラベルを指定された値に設定します。
どのスロットにもラベルが存在しない場合、このメソッドはラベルを追加して値を設定します。