UNPKG

matrix-map

Version:

A class object for to aid in the creation of 2D grid games.

55 lines (40 loc) 1.32 kB
const dropDown = function(){ let rowSize = Math.sqrt(this.size); this.southEdge.forEach(e =>{ let dropMap = new Map(); do { dropMap.set(e, this.getValueOfID(e)) e = e-rowSize; } while (e-rowSize > -(rowSize)); let setOfNulls = new Set(); for (const [key, value] of dropMap) { if(this.getValueOfID(key) === null){ setOfNulls.add(key) } } if(setOfNulls.size > 0){ let setOfValid = new Set(); for (const [key, value] of dropMap) { if(this.getValueOfID(key) != null){ setOfValid.add(key) } } let rMap = dropMap; let valds = setOfValid.values(); for (const [key, value] of dropMap) { let y = valds.next().value dropMap.set(key, rMap.get(y)) if(y != undefined){ dropMap.set(key, rMap.get(y)) } else{ dropMap.set(key, null) } } for (const [key, value] of dropMap) { this.map.set(key, value) } } }) } export default dropDown