diff --git a/src/cnako3mod.mts b/src/cnako3mod.mts index b144b0d0..83a1284b 100755 --- a/src/cnako3mod.mts +++ b/src/cnako3mod.mts @@ -247,7 +247,7 @@ export class CNako3 extends NakoCompiler { const genOpt = new NakoGenOptions( isTest, ['plugin_node.mjs'], - 'self.__varslist[0][\'ナデシコ種類\']=\'cnako3\';' + 'self.__setSysVar(\'ナデシコ種類\', \'cnako3\');' ) const jscode = this.compileStandalone(src, this.filename, genOpt) console.log(opt.output) diff --git a/src/plugin_turtle.mjs b/src/plugin_turtle.mjs index 75497adc..f29a750a 100644 --- a/src/plugin_turtle.mjs +++ b/src/plugin_turtle.mjs @@ -384,7 +384,7 @@ const PluginTurtle = { josi: [['に', 'へ']], pure: true, fn: function (v, sys) { - sys.__varslist[0]['カメ速度'] = v + sys.__setSysVar('カメ速度', v) } }, 'カメ移動': { // @カメの位置を[x,y]へ移動する // @かめいどう diff --git a/src/plugin_webworker.mjs b/src/plugin_webworker.mjs index 937c6960..b0f47dfc 100644 --- a/src/plugin_webworker.mjs +++ b/src/plugin_webworker.mjs @@ -298,7 +298,7 @@ const PluginWebWorker = { if (data.indexOf('__') === -1) { for (const modname of sys.__modList) { const varname = modname + '__' + data - if (typeof sys.__varslist[2][varname] !== 'undefined' || typeof sys.__varslist[1][varname] !== 'undefined') { + if (typeof sys.__varslist[2].get(varname) !== 'undefined' || typeof sys.__varslist[1].get(varname) !== 'undefined') { data = varname break } @@ -310,14 +310,14 @@ const PluginWebWorker = { modNameList.push(modname) } } - if (typeof sys.__varslist[2][data] !== 'undefined') { + if (typeof sys.__varslist[2].get(data) !== 'undefined') { obj.push({ type: 'val', name: data, - content: sys.__varslist[2][data] + content: sys.__varslist[2].get(data) }) } else - if (typeof sys.__varslist[1][data] !== 'undefined') { + if (typeof sys.__varslist[1].get(data) !== 'undefined') { obj.push({ type: 'func', name: data, diff --git a/src/plugin_weykturtle3d.mjs b/src/plugin_weykturtle3d.mjs index 3f072fbf..97244664 100644 --- a/src/plugin_weykturtle3d.mjs +++ b/src/plugin_weykturtle3d.mjs @@ -682,7 +682,7 @@ const PluginWeykTurtle3D = { josi: [['に', 'へ']], pure: true, fn: function (v, sys) { - sys.__varslist[0]['T3Dカメ速度'] = v + sys.__setSysVar('T3Dカメ速度', v) }, return_none: true }, diff --git a/src/plugin_worker.mjs b/src/plugin_worker.mjs index 88794cbc..e3380578 100644 --- a/src/plugin_worker.mjs +++ b/src/plugin_worker.mjs @@ -21,11 +21,11 @@ const PluginWorker = { pure: false, fn: function (func, sys) { func = sys.__findVar(func, null) // 文字列指定なら関数に変換 - sys.__varslist[0]['PluginWorker:ondata'] = (data, e) => { + sys.__setSysVar('PluginWorker:ondata', (data, e) => { sys.__v0['受信データ'] = data sys.__v0['対象イベント'] = e return func(e, sys) - } + }) }, return_none: true }, diff --git a/src/wnako3webworker.mjs b/src/wnako3webworker.mjs index 259e2b82..569a3cf3 100644 --- a/src/wnako3webworker.mjs +++ b/src/wnako3webworker.mjs @@ -7,10 +7,10 @@ import PluginWorker from './plugin_worker.mjs' class WebWorkerNakoCompiler extends NakoCompiler { constructor () { super() - this.__varslist[0]['ナデシコ種類'] = 'wwnako3' - this.__varslist[0]['PluginWorker:ondata'] = (data, event) => { + this.__setSysVar('ナデシコ種類', 'wwnako3') + this.__setSysVar('PluginWorker:ondata', (data, event) => { throw new Error('『NAKOワーカーデータ受信時』が呼ばれていません。') - } + }) } } @@ -51,9 +51,9 @@ if (typeof (navigator) === 'object' && self && self instanceof WorkerGlobalScope if (o.type === 'func') { nako3Compiler.nakoFuncList[o.name] = o.content.meta nako3Compiler.funclist[o.name] = o.content.func - nako3Compiler.__varslist[1][o.name] = () => {} + nako3Compiler.__varslist[1].set(o.name, () => {}) } else if (o.type === 'val') { - nako3Compiler.__varslist[2][o.name] = o.content + nako3Compiler.__varslist[2].set(o.name, o.content) } else if (o.type === 'env') { if (o.name === 'modlist') { for (const modInfo of o.content) { @@ -75,8 +75,8 @@ if (typeof (navigator) === 'object' && self && self instanceof WorkerGlobalScope }) break case 'data': - if (nako3Global.__varslist[0]['PluginWorker:ondata']) { - nako3Global.__varslist[0]['PluginWorker:ondata'].apply(nako3Global, [value, event]) + if (nako3Global.__getSysVar('PluginWorker:ondata')) { + nako3Global.__getSysVar('PluginWorker:ondata').apply(nako3Global, [value, event]) } break }