mdx-m3-viewer
Version:
A browser WebGL model viewer. Mainly focused on models of the games Warcraft 3 and Starcraft 2.
45 lines (40 loc) • 878 B
JavaScript
/**
* A reference.
*/
export default class M3ParserReference {
/**
* @param {BinaryReader} reader
* @param {Array<M3ParserIndexEntry>} index
*/
constructor(reader, index) {
/** @member {Array<M3ParserIndexEntry>} */
this.index = index;
/** @member {number} */
this.entries = reader.readUint32();
/** @member {number} */
this.id = reader.readUint32();
/** @member {number} */
this.flags = reader.readUint32();
}
/**
* Get the entries this index entry references.
*
* @return {Array<?>}
*/
getAll() {
let id = this.id;
// For empty references (e.g. Layer.imagePath)
if (id === 0 || this.entries === 0) {
return [];
}
return this.index[id].entries;
}
/**
* Get the first entry this index entry references.
*
* @return {?}
*/
get() {
return this.getAll()[0];
}
}