소스 검색

feat #1818: Threads can now fire events on all threads

tags/v0.10.0^2
Shaun 2 년 전
부모
커밋
7fcefd1621
2개의 변경된 파일19개의 추가작업 그리고 12개의 파일을 삭제
  1. +4
    -0
      src/server/world/atlas.js
  2. +15
    -12
      src/server/world/worker.js

+ 4
- 0
src/server/world/atlas.js 파일 보기

@@ -157,6 +157,10 @@ module.exports = {
this.threads.forEach(t => t.worker.send(message));
},

fireEventOnAllThreads: function ({ msg: { event, data } }) {
this.threads.forEach(t => t.worker.send({ event, data }));
},

thread: {
onReady: function (thread) {
thread.worker.send({


+ 15
- 12
src/server/world/worker.js 파일 보기

@@ -6,19 +6,20 @@ global.instancer = require('./instancer');
global.eventManager = require('../events/events');
global.clientConfig = require('../config/clientConfig');

let components = require('../components/components');
let mods = require('../misc/mods');
let animations = require('../config/animations');
let skins = require('../config/skins');
let factions = require('../config/factions');
let classes = require('../config/spirits');
let spellsConfig = require('../config/spellsConfig');
let spells = require('../config/spells');
let recipes = require('../config/recipes/recipes');
let itemTypes = require('../items/config/types');
let mapList = require('../config/maps/mapList');
let itemEffects = require('../items/itemEffects');
const components = require('../components/components');
const mods = require('../misc/mods');
const animations = require('../config/animations');
const skins = require('../config/skins');
const factions = require('../config/factions');
const classes = require('../config/spirits');
const spellsConfig = require('../config/spellsConfig');
const spells = require('../config/spells');
const recipes = require('../config/recipes/recipes');
const itemTypes = require('../items/config/types');
const mapList = require('../config/maps/mapList');
const itemEffects = require('../items/itemEffects');
const profanities = require('../misc/profanities');
const eventEmitter = require('../misc/events');

let onCpnsReady = async function () {
factions.init();
@@ -100,4 +101,6 @@ process.on('message', m => {
global[m.threadModule][m.method](m.data);
else if (m.method)
instancer[m.method](m.args);
else if (m.event)
eventEmitter.emit(m.event, m.data);
});

불러오는 중...
취소
저장