Added mod processing requirements (#1371)

* Added mod processing requirements

* Added missing bind

* Renamed to mods
pull/1383/head
Thomas (DJ1TJOO) 2 years ago committed by GitHub
parent 86b104080f
commit 41c6b1c595
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

@ -38,11 +38,25 @@ const MAX_QUEUED_CHARGES = 2;
* }} ProcessorImplementationPayload
*/
/**
* Type of a processor implementation
* @typedef {{
* entity: Entity,
* item: BaseItem,
* slotIndex: number
* }} ProccessingRequirementsImplementationPayload
*/
/**
* @type {Object<string, (ProcessorImplementationPayload) => void>}
*/
export const MOD_ITEM_PROCESSOR_HANDLERS = {};
/**
* @type {Object<string, (ProccessingRequirementsImplementationPayload) => boolean>}
*/
export const MODS_PROCESSING_REQUIREMENTS = {};
export class ItemProcessorSystem extends GameSystemWithFilter {
constructor(root) {
super(root, [ItemProcessorComponent]);
@ -163,6 +177,14 @@ export class ItemProcessorSystem extends GameSystemWithFilter {
const itemProcessorComp = entity.components.ItemProcessor;
const pinsComp = entity.components.WiredPins;
if (MODS_PROCESSING_REQUIREMENTS[itemProcessorComp.processingRequirement]) {
return MODS_PROCESSING_REQUIREMENTS[itemProcessorComp.processingRequirement].bind(this)({
entity,
item,
slotIndex,
});
}
switch (itemProcessorComp.processingRequirement) {
case enumItemProcessorRequirements.painterQuad: {
if (slotIndex === 0) {

Loading…
Cancel
Save