Draft: Store prototype API
-
Hello,
I like this proposal in this current state. Code will be much simpler for many situations.
The only improvement I'd favour would be to change store.getUsedCapacity([resourceType]) to store.getAmount([resourceType]), favoring concision to regularity, MrFaul's store.getStored looks a bit redundant to me, but I like the rest of his definition.
-
Remember that this method can (and in most cases will) be called without arguments.
Store.getStored()
orStore.getAmount()
are not definitive enough in terms of "get how much capacity in this store is used for all resources in total". I'd say thatStore.getAmount()
without arguments should return an object with all resources rather than one single number of total used capacity.
-
How about
getTotalAmount()
?
-
What's the behavior of zero capacity
Store
s?This happens when a Storage or Terminal has been RCL downgraded and with the loot Containers the caravans drop. It will also affect the Power Banks when they get a
.store
property.Currently
.storeCapacity
is set to 0 for these structures. I assumegetCapacity()
will likewise return 0.However as described now
getFreeCapacity()
will return a negative value. I did this in my own code and it caused all sorts of problems. I suggest the behavior be expanded to never return < 0.
-
@deft-code Yes,
getFreeCapacity
is more likeMath.max(0, getCapacity - getUsedCapacity)
-
@artch said in Draft: Store prototype API:
I'd say that
Store.getAmount()
without arguments should return an object with all resources rather than one single number of total used capacity.@artch I would say that
Store.getAmounts()
should return such an object.Store.getAmount()
is "get the amount of whatever is in the store"
-
@thynosaur and that would be an object.. since there can be several types of resources in a store.
-
@artch How about
Store.getStoredMass()
couldn't get anymore clearer then that.
-
Prolegomena: I'm a native English speaker.
getUsedCapacity reads pretty clear to me that you're getting a number that indicates how much of the store is used. Most other suggestions don't read as clearly as to what they represent.
-
Implemented in this PTR patch.