SYMBOL INDEX (475 symbols across 75 files) FILE: src/components/auth/index.jsx class AuthScreen (line 5) | class AuthScreen extends React.Component { method constructor (line 10) | constructor() { method componentWillUnmount (line 30) | componentWillUnmount() { method connect (line 36) | connect(host, port) { method authenticate (line 40) | authenticate(username, password) { method _onAuthenticate (line 44) | _onAuthenticate() { method _onChange (line 48) | _onChange(event) { method _onConnect (line 54) | _onConnect() { method _onSubmit (line 58) | _onSubmit(event) { method render (line 63) | render() { FILE: src/components/characters/index.jsx class CharactersScreen (line 5) | class CharactersScreen extends React.Component { method constructor (line 10) | constructor() { method componentWillUnmount (line 29) | componentWillUnmount() { method join (line 34) | join(character) { method refresh (line 38) | refresh() { method _onCharacterSelect (line 42) | _onCharacterSelect(event) { method _onJoin (line 46) | _onJoin() { method _onRefresh (line 50) | _onRefresh() { method _onSubmit (line 58) | _onSubmit(event) { method render (line 63) | render() { FILE: src/components/game/chat/index.jsx class ChatPanel (line 8) | class ChatPanel extends React.Component { method constructor (line 10) | constructor() { method componentDidUpdate (line 25) | componentDidUpdate() { method send (line 29) | send(text) { method _onChange (line 35) | _onChange(event) { method _onMessage (line 39) | _onMessage() { method _onSubmit (line 43) | _onSubmit(event) { method render (line 51) | render() { FILE: src/components/game/controls.jsx class Controls (line 5) | class Controls extends React.Component { method constructor (line 12) | constructor(props) { method componentWillUnmount (line 71) | componentWillUnmount() { method update (line 79) | update() { method rotateHorizontally (line 163) | rotateHorizontally(angle) { method rotateVertically (line 167) | rotateVertically(angle) { method zoomOut (line 171) | zoomOut() { method zoomIn (line 175) | zoomIn() { method _onMouseDown (line 179) | _onMouseDown(event) { method _onMouseUp (line 184) | _onMouseUp() { method _onMouseMove (line 188) | _onMouseMove(event) { method _onMouseWheel (line 209) | _onMouseWheel(event) { method render (line 223) | render() { FILE: src/components/game/hud/index.jsx class HUD (line 10) | class HUD extends React.Component { method render (line 12) | render() { FILE: src/components/game/index.jsx class GameScreen (line 11) | class GameScreen extends React.Component { method constructor (line 16) | constructor() { method componentDidMount (line 36) | componentDidMount() { method componentWillUnmount (line 49) | componentWillUnmount() { method aspectRatio (line 63) | get aspectRatio() { method resize (line 67) | resize() { method animate (line 73) | animate() { method render (line 96) | render() { FILE: src/components/game/portrait/index.jsx class Portrait (line 6) | class Portrait extends React.Component { method render (line 14) | render() { FILE: src/components/game/quests/index.jsx class QuestsPanel (line 5) | class QuestsPanel extends React.Component { method render (line 7) | render() { FILE: src/components/game/stats/index.jsx class Stats (line 5) | class Stats extends React.Component { method mapStats (line 12) | mapStats() { method render (line 68) | render() { FILE: src/components/kit/index.jsx class KitScreen (line 3) | class KitScreen extends React.Component { method render (line 8) | render() { FILE: src/components/realms/index.jsx class RealmsScreen (line 5) | class RealmsScreen extends React.Component { method constructor (line 10) | constructor() { method componentWillUnmount (line 29) | componentWillUnmount() { method connect (line 34) | connect(realm) { method refresh (line 38) | refresh() { method _onAuthenticate (line 42) | _onAuthenticate() { method _onRealmSelect (line 46) | _onRealmSelect(event) { method _onRefresh (line 50) | _onRefresh() { method _onSubmit (line 58) | _onSubmit(event) { method render (line 63) | render() { FILE: src/components/wowser/index.jsx class Wowser (line 12) | class Wowser extends React.Component { method constructor (line 22) | constructor() { method currentScreen (line 35) | get currentScreen() { method _onScreenChange (line 42) | _onScreenChange(_from, to) { method _onScreenSelect (line 46) | _onScreenSelect(event) { method render (line 50) | render() { FILE: src/components/wowser/session.jsx class Session (line 3) | class Session extends Client { method constructor (line 5) | constructor() { method screen (line 11) | get screen() { method screen (line 15) | set screen(screen) { FILE: src/lib/auth/challenge-opcode.js class ChallengeOpcode (line 1) | class ChallengeOpcode { FILE: src/lib/auth/handler.js class AuthHandler (line 7) | class AuthHandler extends Socket { method constructor (line 13) | constructor(session) { method key (line 35) | get key() { method connect (line 40) | connect(host, port = NaN) { method authenticate (line 49) | authenticate(account, password) { method dataReceived (line 93) | dataReceived() { method handleLogonChallenge (line 113) | handleLogonChallenge(ap) { method handleLogonProof (line 160) | handleLogonProof(ap) { FILE: src/lib/auth/opcode.js class Opcode (line 1) | class Opcode { FILE: src/lib/auth/packet.js class AuthPacket (line 5) | class AuthPacket extends BasePacket { method constructor (line 10) | constructor(opcode, source, outgoing = true) { method opcodeName (line 15) | get opcodeName() { method finalize (line 20) | finalize() { FILE: src/lib/characters/character.js class Character (line 1) | class Character { method toString (line 4) | toString() { FILE: src/lib/characters/handler.js class CharacterHandler (line 7) | class CharacterHandler extends EventEmitter { method constructor (line 10) | constructor(session) { method refresh (line 24) | refresh() { method handleCharacterList (line 33) | handleCharacterList(gp) { FILE: src/lib/config.js class Raw (line 1) | class Raw { method constructor (line 2) | constructor(config) { method raw (line 6) | raw(value) { method locale (line 10) | get locale() { method os (line 14) | get os() { method platform (line 18) | get platform() { class Config (line 24) | class Config { method constructor (line 26) | constructor() { method version (line 39) | set version(version) { FILE: src/lib/crypto/big-num.js class BigNum (line 4) | class BigNum { method constructor (line 10) | constructor(value, radix) { method toString (line 23) | toString() { method bi (line 28) | get bi() { method mod (line 33) | mod(m) { method modPow (line 38) | modPow(e, m) { method add (line 43) | add(o) { method subtract (line 48) | subtract(o) { method multiply (line 53) | multiply(o) { method divide (line 58) | divide(o) { method equals (line 63) | equals(o) { method toArray (line 68) | toArray(littleEndian = true, unsigned = true) { method fromArray (line 83) | static fromArray(bytes, littleEndian = true, unsigned = true) { method fromRand (line 102) | static fromRand(length) { FILE: src/lib/crypto/crypt.js class Crypt (line 6) | class Crypt { method constructor (line 9) | constructor() { method encrypt (line 18) | encrypt(data) { method decrypt (line 26) | decrypt(data) { method key (line 34) | set key(key) { FILE: src/lib/crypto/hash.js class Hash (line 4) | class Hash { method constructor (line 7) | constructor() { method digest (line 19) | get digest() { method reset (line 27) | reset() { method feed (line 34) | feed(value) { method finalize (line 49) | finalize() { FILE: src/lib/crypto/hash/sha1.js class SHA1 (line 6) | class SHA1 extends Hash { method finalize (line 9) | finalize() { FILE: src/lib/crypto/srp.js class SRP (line 8) | class SRP { method constructor (line 11) | constructor(N, g) { method A (line 65) | get A() { method K (line 70) | get K() { method M1 (line 75) | get M1() { method feed (line 80) | feed(s, B, I, P) { method validate (line 176) | validate(M2) { FILE: src/lib/game/chat/handler.js class ChatHandler (line 5) | class ChatHandler extends EventEmitter { method constructor (line 8) | constructor(session) { method create (line 33) | create() { method send (line 38) | send(_message) { method handleMessage (line 43) | handleMessage(gp) { FILE: src/lib/game/chat/message.js class ChatMessage (line 1) | class ChatMessage { method constructor (line 4) | constructor(kind, text) { method toString (line 11) | toString() { FILE: src/lib/game/entity.js class Entity (line 3) | class Entity extends EventEmitter { method constructor (line 5) | constructor() { FILE: src/lib/game/guid.js class GUID (line 1) | class GUID { method constructor (line 7) | constructor(buffer) { method toString (line 21) | toString() { FILE: src/lib/game/handler.js class GameHandler (line 11) | class GameHandler extends Socket { method constructor (line 14) | constructor(session) { method connect (line 30) | connect(host, port) { method send (line 39) | send(packet) { method join (line 55) | join(character) { method dataReceived (line 68) | dataReceived(_socket) { method handleAuthChallenge (line 110) | handleAuthChallenge(gp) { method handleAuthResponse (line 152) | handleAuthResponse(gp) { method handleWorldLogin (line 175) | handleWorldLogin(_gp) { FILE: src/lib/game/opcode.js class GameOpcode (line 1) | class GameOpcode { FILE: src/lib/game/packet.js class GamePacket (line 6) | class GamePacket extends BasePacket { method constructor (line 16) | constructor(opcode, source, outgoing = true) { method opcodeName (line 24) | get opcodeName() { method headerSize (line 29) | get headerSize() { method readGUID (line 37) | readGUID() { method writeGUID (line 42) | writeGUID(guid) { FILE: src/lib/game/player.js class Player (line 3) | class Player extends Unit { method constructor (line 5) | constructor() { method worldport (line 18) | worldport(mapID, x, y, z) { FILE: src/lib/game/unit.js class Unit (line 7) | class Unit extends Entity { method constructor (line 9) | constructor() { method position (line 31) | get position() { method displayID (line 35) | get displayID() { method displayID (line 39) | set displayID(displayID) { method view (line 62) | get view() { method model (line 66) | get model() { method model (line 70) | set model(m2) { method ascend (line 93) | ascend(delta) { method descend (line 98) | descend(delta) { method moveForward (line 103) | moveForward(delta) { method moveBackward (line 108) | moveBackward(delta) { method rotateLeft (line 113) | rotateLeft(delta) { method rotateRight (line 118) | rotateRight(delta) { method strafeLeft (line 123) | strafeLeft(delta) { method strafeRight (line 128) | strafeRight(delta) { FILE: src/lib/game/world/content-queue.js class ContentQueue (line 1) | class ContentQueue { method constructor (line 3) | constructor(processor, interval = 1, workFactor = 1, minWork = 1) { method has (line 18) | has(key) { method add (line 22) | add(key, job) { method remove (line 30) | remove(key) { method schedule (line 41) | schedule() { method run (line 45) | run() { method clear (line 65) | clear() { FILE: src/lib/game/world/doodad-manager.js class DoodadManager (line 3) | class DoodadManager { method constructor (line 14) | constructor(map) { method loadChunk (line 35) | loadChunk(index, entries) { method unloadChunk (line 62) | unloadChunk(index, entries) { method loadDoodads (line 88) | loadDoodads() { method loadDoodad (line 115) | loadDoodad(entry) { method enableDoodadAnimations (line 133) | enableDoodadAnimations(entry, doodad) { method unloadDoodads (line 147) | unloadDoodads() { method unloadDoodad (line 176) | unloadDoodad(entry) { method placeDoodad (line 186) | placeDoodad(doodad, position, rotation, scale) { method animate (line 214) | animate(delta, camera, cameraMoved) { FILE: src/lib/game/world/handler.js class WorldHandler (line 7) | class WorldHandler extends EventEmitter { method constructor (line 9) | constructor(session) { method add (line 84) | add(entity) { method remove (line 92) | remove(entity) { method renderAtCoords (line 100) | renderAtCoords(x, y) { method changeMap (line 107) | changeMap(mapID) { method changeModel (line 118) | changeModel(_unit, _oldModel, _newModel) { method changePosition (line 121) | changePosition(player) { method animate (line 125) | animate(delta, camera, cameraMoved) { method animateEntities (line 136) | animateEntities(delta, camera, cameraMoved) { FILE: src/lib/game/world/map.js class WorldMap (line 11) | class WorldMap extends THREE.Group { method constructor (line 20) | constructor(data, wdt) { method internalName (line 40) | get internalName() { method render (line 44) | render(x, y) { method chunkIndicesAround (line 69) | chunkIndicesAround(chunkX, chunkY, radius) { method loadChunkByIndex (line 84) | loadChunkByIndex(index) { method unloadChunkByIndex (line 102) | unloadChunkByIndex(index) { method indexFor (line 116) | indexFor(chunkX, chunkY) { method animate (line 120) | animate(delta, camera, cameraMoved) { method load (line 125) | static load(id) { FILE: src/lib/game/world/terrain-manager.js class TerrainManager (line 1) | class TerrainManager { method constructor (line 3) | constructor(map) { method loadChunk (line 7) | loadChunk(_index, terrain) { method unloadChunk (line 12) | unloadChunk(_index, terrain) { FILE: src/lib/game/world/wmo-manager/index.js class WMOManager (line 5) | class WMOManager { method constructor (line 13) | constructor(map) { method loadChunk (line 40) | loadChunk(chunkIndex, wmoEntries) { method unloadChunk (line 51) | unloadChunk(chunkIndex, wmoEntries) { method addChunkRef (line 67) | addChunkRef(chunkIndex, wmoEntry) { method removeChunkRef (line 86) | removeChunkRef(chunkIndex, wmoEntry) { method enqueueLoadEntry (line 101) | enqueueLoadEntry(wmoEntry) { method dequeueLoadEntry (line 114) | dequeueLoadEntry(wmoEntry) { method scheduleUnloadEntry (line 127) | scheduleUnloadEntry(wmoEntry) { method cancelUnloadEntry (line 137) | cancelUnloadEntry(wmoEntry) { method processLoadEntry (line 147) | processLoadEntry(wmoEntry) { method animate (line 159) | animate(delta, camera, cameraMoved) { FILE: src/lib/game/world/wmo-manager/wmo-handler.js class WMOHandler (line 6) | class WMOHandler { method constructor (line 16) | constructor(manager, entry) { method load (line 57) | load(wmoRoot) { method enqueueLoadGroups (line 67) | enqueueLoadGroups() { method enqueueLoadGroup (line 82) | enqueueLoadGroup(wmoGroupID) { method processLoadGroup (line 94) | processLoadGroup(wmoGroupID) { method loadGroup (line 116) | loadGroup(wmoGroupID, wmoGroup) { method enqueueLoadGroupDoodads (line 126) | enqueueLoadGroupDoodads(wmoGroup) { method enqueueLoadDoodad (line 149) | enqueueLoadDoodad(wmoDoodadEntry) { method processLoadDoodad (line 161) | processLoadDoodad(wmoDoodadEntry) { method loadDoodad (line 188) | loadDoodad(wmoDoodadEntry, wmoDoodad) { method scheduleUnload (line 206) | scheduleUnload(unloadDelay = 0) { method cancelUnload (line 210) | cancelUnload() { method unload (line 216) | unload() { method placeRoot (line 260) | placeRoot() { method placeGroup (line 284) | placeGroup(wmoGroup) { method placeDoodad (line 289) | placeDoodad(wmoDoodadEntry, wmoDoodad) { method addDoodadRef (line 304) | addDoodadRef(wmoDoodadEntry, wmoGroup) { method removeDoodadRef (line 325) | removeDoodadRef(wmoDoodadEntry, wmoGroup) { method groupsForDoodad (line 346) | groupsForDoodad(wmoDoodad) { method doodadsForGroup (line 361) | doodadsForGroup(wmoGroup) { method animate (line 379) | animate(delta, camera, cameraMoved) { FILE: src/lib/index.js class Client (line 12) | class Client extends EventEmitter { method constructor (line 14) | constructor(config) { FILE: src/lib/net/loader.js class Loader (line 3) | class Loader { method constructor (line 5) | constructor() { method load (line 10) | load(path) { FILE: src/lib/net/packet.js class Packet (line 3) | class Packet extends ByteBuffer { method constructor (line 6) | constructor(opcode, source, outgoing = true) { method headerSize (line 20) | get headerSize() { method bodySize (line 25) | get bodySize() { method opcodeName (line 30) | get opcodeName() { method toString (line 35) | toString() { method finalize (line 41) | finalize() { FILE: src/lib/net/socket.js class Socket (line 5) | class Socket extends EventEmitter { method constructor (line 12) | constructor() { method connected (line 31) | get connected() { method connect (line 36) | connect(host, port = NaN) { method reconnect (line 77) | reconnect() { method disconnect (line 85) | disconnect() { method send (line 93) | send(packet) { FILE: src/lib/pipeline/adt/chunk/index.js class Chunk (line 6) | class Chunk extends THREE.Mesh { method constructor (line 11) | constructor(adt, id) { method doodadEntries (line 94) | get doodadEntries() { method wmoEntries (line 98) | get wmoEntries() { method isHole (line 102) | isHole(y, x) { method dispose (line 110) | dispose() { method chunkFor (line 115) | static chunkFor(position) { method tileFor (line 119) | static tileFor(chunk) { method load (line 123) | static load(map, chunkX, chunkY) { FILE: src/lib/pipeline/adt/chunk/material.js class Material (line 7) | class Material extends THREE.ShaderMaterial { method constructor (line 9) | constructor(data, textureNames) { method loadLayers (line 45) | loadLayers() { method loadAlphaMaps (line 52) | loadAlphaMaps() { method loadTextures (line 72) | loadTextures() { method dispose (line 85) | dispose() { FILE: src/lib/pipeline/adt/index.js class ADT (line 3) | class ADT { method constructor (line 9) | constructor(path, data) { method wmos (line 20) | get wmos() { method doodads (line 24) | get doodads() { method textures (line 28) | get textures() { method positionFor (line 32) | static positionFor(tile) { method tileFor (line 36) | static tileFor(position) { method loadTile (line 40) | static loadTile(map, tileX, tileY, wdtFlags) { method loadAtCoords (line 44) | static loadAtCoords(map, x, y, wdtFlags) { method load (line 50) | static load(path, wdtFlags) { FILE: src/lib/pipeline/dbc/index.js class DBC (line 3) | class DBC { method constructor (line 7) | constructor(data) { method index (line 13) | index() { method load (line 22) | static load(name, id) { FILE: src/lib/pipeline/m2/animation-manager.js class AnimationManager (line 4) | class AnimationManager extends EventEmitter { method constructor (line 6) | constructor(root, animationDefs, sequenceDefs) { method update (line 32) | update(delta) { method loadAnimation (line 38) | loadAnimation(animationIndex) { method unloadAnimation (line 52) | unloadAnimation(animationIndex) { method playAnimation (line 66) | playAnimation(animationIndex) { method stopAnimation (line 71) | stopAnimation(animationIndex) { method loadSequence (line 81) | loadSequence(sequenceIndex) { method unloadSequence (line 95) | unloadSequence(sequenceIndex) { method playSequence (line 108) | playSequence(sequenceIndex) { method playAllSequences (line 113) | playAllSequences() { method stopSequence (line 119) | stopSequence(sequenceIndex) { method registerAnimationClips (line 129) | registerAnimationClips(animationDefs) { method registerSequenceClips (line 136) | registerSequenceClips(sequenceDefs) { method unregisterTrack (line 143) | unregisterTrack(trackID) { method registerTrack (line 163) | registerTrack(opts) { method registerAnimationTrack (line 175) | registerAnimationTrack(opts) { method registerSequenceTrack (line 216) | registerSequenceTrack(opts) { FILE: src/lib/pipeline/m2/batch-manager.js class BatchManager (line 1) | class BatchManager { method constructor (line 3) | constructor() { method createDefs (line 6) | createDefs(data, skinData) { method createDef (line 17) | createDef(data, batchData) { method resolveTextureIndices (line 96) | resolveTextureIndices(data, batchData) { method resolveUVAnimationIndices (line 105) | resolveUVAnimationIndices(data, batchData) { method stubDef (line 114) | stubDef() { FILE: src/lib/pipeline/m2/blueprint.js class M2Blueprint (line 4) | class M2Blueprint { method load (line 15) | static load(rawPath) { method unload (line 53) | static unload(m2) { method backgroundUnload (line 72) | static backgroundUnload() { method animate (line 90) | static animate(delta) { FILE: src/lib/pipeline/m2/index.js class M2 (line 8) | class M2 extends THREE.Group { method constructor (line 12) | constructor(path, data, skinData, instance = null) { method createSkeleton (line 84) | createSkeleton(boneDefs) { method createBatches (line 183) | createBatches(data, skinData) { method createGeometry (line 212) | createGeometry(vertices) { method createMesh (line 244) | createMesh(geometry, skeleton, rootBones) { method createSubmeshes (line 275) | createSubmeshes(data, skinData) { method createSubmeshGeometry (line 300) | createSubmeshGeometry(submeshDef, indices, triangles, vertices) { method createSubmesh (line 340) | createSubmesh(submeshDef, geometry, batches) { method createTextureAnimations (line 360) | createTextureAnimations(data) { method createUVAnimations (line 374) | createUVAnimations(uvAnimationDefs) { method createTransparencyAnimations (line 416) | createTransparencyAnimations(transparencyAnimationDefs) { method createVertexColorAnimations (line 438) | createVertexColorAnimations(vertexColorAnimationDefs) { method applyBillboards (line 472) | applyBillboards(camera) { method applySphericalBillboard (line 489) | applySphericalBillboard(camera, bone) { method applyCylindricalZBillboard (line 521) | applyCylindricalZBillboard(camera, bone) { method displayInfo (line 550) | set displayInfo(displayInfo) { method detachEventListeners (line 556) | detachEventListeners() { method dispose (line 563) | dispose() { method clone (line 575) | clone() { FILE: src/lib/pipeline/m2/material/index.js class M2Material (line 7) | class M2Material extends THREE.ShaderMaterial { method constructor (line 9) | constructor(m2, def) { method vertexShaderModeFromID (line 86) | vertexShaderModeFromID(shaderID, opCount) { method fragmentShaderModeFromID (line 99) | fragmentShaderModeFromID(shaderID, opCount) { method enableBillboarding (line 114) | enableBillboarding() { method applyRenderFlags (line 123) | applyRenderFlags(renderFlags) { method applyBlendingMode (line 146) | applyBlendingMode(blendingMode) { method loadTextures (line 217) | loadTextures() { method loadTexture (line 233) | loadTexture(textureDef) { method registerAnimations (line 275) | registerAnimations(def) { method registerUVAnimations (line 283) | registerUVAnimations(uvAnimationIndices) { method registerTransparencyAnimation (line 304) | registerTransparencyAnimation(transparencyAnimationIndex) { method registerVertexColorAnimation (line 324) | registerVertexColorAnimation(vertexColorAnimationIndex) { method detachEventListeners (line 346) | detachEventListeners() { method updateSkinTextures (line 353) | updateSkinTextures(skin1, skin2, skin3) { method dispose (line 361) | dispose() { FILE: src/lib/pipeline/m2/submesh.js class Submesh (line 3) | class Submesh extends THREE.Group { method constructor (line 5) | constructor(opts) { method applyBatches (line 32) | applyBatches(batches) { method clearBatches (line 65) | clearBatches() { method displayInfo (line 80) | set displayInfo(displayInfo) { method dispose (line 94) | dispose() { FILE: src/lib/pipeline/material.js class Material (line 5) | class Material extends THREE.MeshBasicMaterial { method constructor (line 7) | constructor(params = {}) { method texture (line 12) | set texture(path) { FILE: src/lib/pipeline/texture-loader.js class TextureLoader (line 5) | class TextureLoader { method load (line 14) | static load(rawPath, wrapS = THREE.RepeatWrapping, wrapT = THREE.Repea... method unload (line 55) | static unload(texture) { method backgroundUnload (line 68) | static backgroundUnload() { FILE: src/lib/pipeline/wdt/index.js class WDT (line 3) | class WDT { method constructor (line 7) | constructor(data) { method load (line 11) | static load(path) { FILE: src/lib/pipeline/wmo/blueprint.js class WMOBlueprint (line 4) | class WMOBlueprint { method load (line 14) | static load(rawPath) { method unload (line 46) | static unload(wmo) { method backgroundUnload (line 60) | static backgroundUnload() { FILE: src/lib/pipeline/wmo/group/blueprint.js class WMOGroupBlueprint (line 4) | class WMOGroupBlueprint { method load (line 14) | static load(wmo, id, rawPath) { method loadWithID (line 46) | static loadWithID(wmo, id) { method unload (line 53) | static unload(wmoGroup) { method backgroundUnload (line 68) | static backgroundUnload() { FILE: src/lib/pipeline/wmo/group/index.js class WMOGroup (line 5) | class WMOGroup extends THREE.Mesh { method constructor (line 9) | constructor(wmo, id, data, path) { method createMultiMaterial (line 100) | createMultiMaterial(materialIDs, materialDefs, texturePaths) { method createMaterial (line 127) | createMaterial(materialDef, texturePaths) { method clone (line 146) | clone() { method dispose (line 150) | dispose() { FILE: src/lib/pipeline/wmo/index.js class WMO (line 3) | class WMO extends THREE.Group { method constructor (line 7) | constructor(path, data) { method doodadSet (line 34) | doodadSet(doodadSet) { method clone (line 43) | clone() { FILE: src/lib/pipeline/wmo/material/index.js class WMOMaterial (line 7) | class WMOMaterial extends THREE.ShaderMaterial { method constructor (line 9) | constructor(def, textureDefs) { method loadTextures (line 88) | loadTextures(textureDefs) { method dispose (line 105) | dispose() { FILE: src/lib/pipeline/worker/pool.js class WorkerPool (line 4) | class WorkerPool { method constructor (line 6) | constructor(concurrency = this.defaultConcurrency) { method defaultConcurrency (line 14) | get defaultConcurrency() { method thread (line 18) | get thread() { method enqueue (line 31) | enqueue(...args) { method next (line 38) | next() { FILE: src/lib/pipeline/worker/task.js class Task (line 3) | class Task { method constructor (line 5) | constructor(...args) { FILE: src/lib/pipeline/worker/thread.js class Thread (line 3) | class Thread { method constructor (line 5) | constructor() { method busy (line 12) | get busy() { method idle (line 16) | get idle() { method execute (line 20) | execute(task) { method _onMessage (line 26) | _onMessage(event) { FILE: src/lib/realms/handler.js class RealmsHandler (line 7) | class RealmsHandler extends EventEmitter { method constructor (line 10) | constructor(session) { method refresh (line 24) | refresh() { method handleRealmList (line 36) | handleRealmList(ap) { FILE: src/lib/realms/realm.js class Realm (line 1) | class Realm { method constructor (line 4) | constructor() { method toString (line 27) | toString() { method host (line 32) | get host() { method port (line 37) | get port() { method address (line 42) | get address() { method address (line 47) | set address(address) { FILE: src/lib/server/cluster.js class Cluster (line 6) | class Cluster { method clustered (line 8) | get clustered() { method workerCount (line 12) | get workerCount() { method serverPort (line 16) | get serverPort() { method start (line 20) | start() { method spawn (line 37) | spawn() { FILE: src/lib/server/config/index.js class ServerConfig (line 8) | class ServerConfig { method constructor (line 17) | constructor(defaults = this.constructor.DEFAULTS) { method isFirstRun (line 21) | get isFirstRun() { method verify (line 25) | verify() { method prompt (line 32) | prompt() { FILE: src/lib/server/index.js class Server (line 6) | class Server { method constructor (line 8) | constructor(port, root = process.pwd) { method start (line 20) | start() { FILE: src/lib/server/pipeline/archive.js class Archive (line 4) | class Archive { method build (line 22) | static build(root) { FILE: src/lib/server/pipeline/index.js class Pipeline (line 11) | class Pipeline { method DATA_DIR (line 13) | static get DATA_DIR() { method constructor (line 17) | constructor() { method archive (line 26) | get archive() { method resource (line 31) | resource(req, _res, next, path) { method blp (line 46) | blp(req, res) { method dbc (line 58) | dbc(req, res) { method find (line 85) | find(req, res) { method serve (line 99) | serve(req, res) { FILE: src/lib/utils/array-util.js class ArrayUtil (line 1) | class ArrayUtil { method fromHex (line 4) | static fromHex(hex) { FILE: src/lib/utils/object-util.js class ObjectUtil (line 1) | class ObjectUtil { method keyByValue (line 4) | static keyByValue(object, target) {