UNPKG

phaser3-rex-plugins

Version:
41 lines (37 loc) 1.23 kB
var GetElement = function (mapNameList, recursive) { if (typeof (mapNameList) === 'string') { mapNameList = mapNameList.split('.'); } if (mapNameList.length === 0) { return undefined; } var name = mapNameList.shift(), element = null; if (name.charAt(0) === '#') { // Get element by name name = name.substring(1); element = this.getByName(name, recursive); } else if (name.indexOf('[') === (-1)) { // Get element by key if (this.childrenMap) { element = this.childrenMap[name]; } } else { // Get element by key[] var innerMatch = name.match(RE_OBJ); if (innerMatch != null) { if (this.childrenMap) { var elements = this.childrenMap[innerMatch[1]]; if (elements) { element = elements[innerMatch[2]]; } } } } if (mapNameList.length === 0) { return element; } else if (element && element.childrenMap) { return element.getElement(mapNameList); } else { return null; } }; const RE_OBJ = /(\S+)\[(\d+)\]/i; export default GetElement;