11 public List<ScannedItemData>
m_items = [];
15 public virtual Action<ReadOnlyList<ScannedItemData>>
ItemsScanned {
get;
set; }
36 if (pickable.
Count > 0
37 && pickable.
Value != 0) {
38 List<ScannedItemData> items =
m_items;
39 item =
new ScannedItemData { Container = pickable, Value = pickable.
Value, Count = pickable.Count };
44 if (projectile.
Value != 0) {
45 List<ScannedItemData> items2 =
m_items;
51 for (
int i = 0; i < movingBlockSet.
Blocks.Count; i++) {
52 List<ScannedItemData> items3 =
m_items;
54 Container = movingBlockSet, Value = movingBlockSet.
Blocks[i].Value, Count = 1, IndexInContainer = i
59 return new ReadOnlyList<ScannedItemData>(
m_items);
66 if (slotCapacity < itemData.
Count) {
86 public virtual void Update(
float dt) {
98 for (
int i = 0; i < inventory.
SlotsCount; i++) {
102 if (slotValue != 0) {
103 items.Add(
new ScannedItemData { Container = inventory, IndexInContainer = i, Value = slotValue, Count = slotCount });
static double FrameStartTime
List< ScannedItemData > m_items
virtual Action< ReadOnlyList< ScannedItemData > > ItemsScanned
double m_nextAutomaticScanTime
void ScanInventory(IInventory inventory, List< ScannedItemData > items)
const float m_automaticScanPeriod
bool TryModifyItem(ScannedItemData itemData, int newValue)
override void Load(ValuesDictionary valuesDictionary)
ReadOnlyList< ScannedItemData > ScanItems()
virtual void Update(float dt)
List< IMovingBlockSet > MovingBlockSets
ReadOnlyList< Pickable > Pickables
ReadOnlyList< Projectile > Projectiles
List< Component > Components
ValuesDictionary ValuesDictionary
int RemoveSlotItems(int slotIndex, int count)
实际移除的数量
int GetSlotCount(int slotIndex)
int GetSlotCapacity(int slotIndex, int value)
void AddSlotItems(int slotIndex, int value, int count)
int GetSlotValue(int slotIndex)
List< MovingBlock > Blocks
void SetBlock(Point3 offset, int value)