implement 4 items on belt tile
This commit is contained in:
@@ -123,8 +123,8 @@ private:
|
||||
struct BeltTile
|
||||
{
|
||||
Rotation direction;
|
||||
std::optional<BeltItemSlot> front; // higher progress; closer to output
|
||||
std::optional<BeltItemSlot> back; // lower progress; closer to input
|
||||
// front (highest progress) at index 0; back (just entered) at end. Max 4.
|
||||
std::vector<BeltItemSlot> itemSlots;
|
||||
};
|
||||
|
||||
struct SplitterTile
|
||||
@@ -134,8 +134,9 @@ private:
|
||||
std::vector<ItemType> filterA; // empty = accept all
|
||||
std::vector<ItemType> filterB;
|
||||
bool nextOutputIsA; // alternation state
|
||||
std::optional<BeltItemSlot> back; // progress [0, 0.5]; entering from input belt
|
||||
Rotation backDir; // direction of the feeding belt (for animation)
|
||||
// Unassigned items: [0] = routing candidate (higher progress, caps at 0.5). Max 2.
|
||||
std::vector<BeltItemSlot> back;
|
||||
std::vector<Rotation> backDir; // feeding belt direction, parallel to back
|
||||
std::optional<BeltItemSlot> frontA; // progress [0, 1]; routed to outputA
|
||||
std::optional<BeltItemSlot> frontB; // progress [0, 1]; routed to outputB
|
||||
};
|
||||
@@ -144,15 +145,15 @@ private:
|
||||
{
|
||||
Rotation direction;
|
||||
int maxDistance;
|
||||
std::optional<BeltItemSlot> front;
|
||||
std::optional<BeltItemSlot> back;
|
||||
// front (highest progress) at index 0; back at end. Max 4.
|
||||
std::vector<BeltItemSlot> itemSlots;
|
||||
};
|
||||
|
||||
struct TunnelExitTile
|
||||
{
|
||||
Rotation direction;
|
||||
std::optional<BeltItemSlot> front;
|
||||
std::optional<BeltItemSlot> back;
|
||||
// front (highest progress) at index 0; back at end. Max 4.
|
||||
std::vector<BeltItemSlot> itemSlots;
|
||||
};
|
||||
|
||||
struct TunnelTransitItem
|
||||
|
||||
Reference in New Issue
Block a user