setData
package com.example.script
_console.log("kotlin")
_scriptEngine.startFile {
val file = _files.buildFile {
setRelativePath("res", "sub.kts")
}
setFile(file)
setLanguage {
setName("Kotlin")
setUrl("https://github.com/m8test/language-release/releases/download/kotlin-0.1.0/com.m8test.kotlin-release_0.1.0.apk")
setVersion("0.1.0")
}
setStandalone(false)
}
_scriptEngine.startFile {
val file = _files.buildFile {
setRelativePath("res", "standalone.kts")
}
setFile(file)
setLanguage {
setName("Kotlin")
setUrl("https://github.com/m8test/language-release/releases/download/kotlin-0.1.0/com.m8test.kotlin-release_0.1.0.apk")
setVersion("0.1.0")
}
setStandalone(true)
}
val mainThread = _script.getThreads().getMain()!!
val timer = mainThread.getTimer()!!
timer.setTimeout({
val publisher = _events.getPublisher()
publisher.publishLocally({
setChannel("subscription channel")
setId("subscription id")
}) {
setData("本地事件")
}
publisher.publishGlobally({
setChannel("subscription channel")
setId("subscription id")
}) {
setData("全局事件")
}
}, 3000)
package com.example.script
$console.log("groovy")
$scriptEngine.startFile {
def file = $files.buildFile {
setRelativePath("res", "sub.groovy")
}
setFile(file)
setLanguage {
setName("Groovy")
setUrl("https://github.com/m8test/language-release/releases/download/groovy-0.1.0/com.m8test.groovy-release_0.1.0.apk")
setVersion("0.1.0")
}
setStandalone(false)
}
$scriptEngine.startFile {
def file = $files.buildFile {
setRelativePath("res", "standalone.groovy")
}
setFile(file)
setLanguage {
setName("Groovy")
setUrl("https://github.com/m8test/language-release/releases/download/groovy-0.1.0/com.m8test.groovy-release_0.1.0.apk")
setVersion("0.1.0")
}
setStandalone(true)
}
def mainThread = $script.getThreads().getMain()
def timer = mainThread.getTimer()
timer.setTimeout({
def publisher = $events.getPublisher()
publisher.publishLocally({
setChannel("subscription channel")
setId("subscription id")
}) {
setData("本地事件")
}
publisher.publishGlobally({
setChannel("subscription channel")
setId("subscription id")
}) {
setData("全局事件")
}
}, 3000)
$console.log("javascript")
$scriptEngine.startFile((config) => {
let file = $files.buildFile((fileBuilder) => {
fileBuilder.setRelativePath("res", "sub.js")
})
config.setFile(file)
config.setLanguage((l) => {
l.setName("Javascript")
l.setUrl("https://github.com/m8test/language-release/releases/download/javascript-0.1.0/com.m8test.javascript.v8-release_0.1.0.apk")
l.setVersion("0.1.0")
})
config.setStandalone(false)
})
$scriptEngine.startFile((config) => {
let file = $files.buildFile((fileBuilder) => {
fileBuilder.setRelativePath("res", "standalone.js")
})
config.setFile(file)
config.setLanguage((l) => {
l.setName("Javascript")
l.setUrl("https://github.com/m8test/language-release/releases/download/javascript-0.1.0/com.m8test.javascript.v8-release_0.1.0.apk")
l.setVersion("0.1.0")
})
config.setStandalone(true)
})
let mainThread = $script.getThreads().getMain()
let timer = mainThread.getTimer()
timer.setTimeout(() => {
let publisher = $events.getPublisher()
publisher.publishLocally((subscription) => {
subscription.setChannel("subscription channel")
subscription.setId("subscription id")
}, (event) => {
event.setData("本地事件")
})
publisher.publishGlobally((subscription) => {
subscription.setChannel("subscription channel")
subscription.setId("subscription id")
}, (event) => {
event.setData("全局事件")
})
}, 3000)
_console:log("lua")
_scriptEngine:startFile(function(config)
local file = _files:buildFile(function(fileBuilder)
fileBuilder:setRelativePath("res", "sub.lua")
end)
config:setFile(file)
config:setLanguage(function(l)
l:setName("Lua")
l:setUrl("https://github.com/m8test/language-release/releases/download/lua-0.1.0/com.m8test.lua-release_0.1.0.apk")
l:setVersion("0.1.0")
end)
config:setStandalone(false)
end)
_scriptEngine:startFile(function(config)
local file = _files:buildFile(function(fileBuilder)
fileBuilder:setRelativePath("res", "standalone.lua")
end)
config:setFile(file)
config:setLanguage(function(l)
l:setName("Lua")
l:setUrl("https://github.com/m8test/language-release/releases/download/lua-0.1.0/com.m8test.lua-release_0.1.0.apk")
l:setVersion("0.1.0")
end)
config:setStandalone(true)
end)
local mainThread = _script:getThreads():getMain()
local timer = mainThread:getTimer()
timer:setTimeout(function()
local publisher = _events:getPublisher()
publisher:publishLocally(function(subscription)
subscription:setChannel("subscription channel")
subscription:setId("subscription id")
end, function(e)
e:setData("本地事件")
end)
publisher:publishGlobally(function(subscription)
subscription:setChannel("subscription channel")
subscription:setId("subscription id")
end, function(e)
e:setData("全局事件")
end)
end, 3000)
<?php
$console->log("php");
$scriptEngine->startFile(function ($config) use ($files) {
$file = $files->buildFile(function ($fileBuilder) {
$fileBuilder->setRelativePath("res", "sub.php");
});
$config->setFile($file);
$config->setLanguage(function ($l) {
$l->setName("Php");
$l->setUrl("https://github.com/m8test/language-release/releases/download/php-0.1.0/com.m8test.php-release_0.1.0.apk");
$l->setVersion("0.1.0");
});
$config->setStandalone(false);
});
$scriptEngine->startFile(function ($config) use ($files) {
$file = $files->buildFile(function ($fileBuilder) {
$fileBuilder->setRelativePath("res", "standalone.php");
});
$config->setFile($file);
$config->setLanguage(function ($l) {
$l->setName("Php");
$l->setUrl("https://github.com/m8test/language-release/releases/download/php-0.1.0/com.m8test.php-release_0.1.0.apk");
$l->setVersion("0.1.0");
});
$config->setStandalone(true);
});
$mainThread = $script->getThreads()->getMain();
$timer = $mainThread->getTimer();
$timer->setTimeout(function () use ($events) {
$publisher = $events->getPublisher();
$publisher->publishLocally(function ($subscription) {
$subscription->setChannel("subscription channel");
$subscription->setId("subscription id");
}, function ($e) {
$e->setData("本地事件");
});
$publisher->publishGlobally(function ($subscription) {
$subscription->setChannel("subscription channel");
$subscription->setId("subscription id");
}, function ($e) {
$e->setData("全局事件");
});
}, 3000);
_console.log("python")
def fn1(config):
def fn2(fileBuilder):
fileBuilder.setRelativePath("res", "sub.py")
file = _files.buildFile(fn2)
config.setFile(file)
def fn3(l):
l.setName("Python")
l.setUrl("https://github.com/m8test/language-release/releases/download/python-0.1.0/com.m8test.python-release_0.1.0.apk")
l.setVersion("0.1.0")
config.setLanguage(fn3)
config.setStandalone(False)
_scriptEngine.startFile(fn1)
def fn4(config):
def fn5(fileBuilder):
fileBuilder.setRelativePath("res", "standalone.py")
file = _files.buildFile(fn5)
config.setFile(file)
def fn6(l):
l.setName("Python")
l.setUrl("https://github.com/m8test/language-release/releases/download/python-0.1.0/com.m8test.python-release_0.1.0.apk")
l.setVersion("0.1.0")
config.setLanguage(fn6)
config.setStandalone(True)
_scriptEngine.startFile(fn4)
mainThread = _script.getThreads().getMain()
timer = mainThread.getTimer()
def fn7(params):
publisher = _events.getPublisher()
def fn8(subscription):
subscription.setChannel("subscription channel")
subscription.setId("subscription id")
def fn9(e):
e.setData("本地事件")
publisher.publishLocally(fn8, fn9)
def fn10(subscription):
subscription.setChannel("subscription channel")
subscription.setId("subscription id")
def fn11(e):
e.setData("全局事件")
publisher.publishGlobally(fn10, fn11)
timer.setTimeout(fn7, 3000)
# encoding: utf-8
$console.log("ruby")
$scriptEngine.startFile { |config|
file = $files.buildFile { |fileBuilder|
fileBuilder.setRelativePath("res", "sub.rb")
}
config.setFile(file)
config.setLanguage { |l|
l.setName("Ruby")
l.setUrl("https://github.com/m8test/language-release/releases/download/ruby-0.1.0/com.m8test.ruby-release_0.1.0.apk")
l.setVersion("0.1.0")
}
config.setStandalone(false)
}
$scriptEngine.startFile { |config|
file = $files.buildFile { |fileBuilder|
fileBuilder.setRelativePath("res", "standalone.rb")
}
config.setFile(file)
config.setLanguage { |l|
l.setName("Ruby")
l.setUrl("https://github.com/m8test/language-release/releases/download/ruby-0.1.0/com.m8test.ruby-release_0.1.0.apk")
l.setVersion("0.1.0")
}
config.setStandalone(true)
}
mainThread = $script.getThreads().getMain()
timer = mainThread.getTimer()
timer.setTimeout(lambda { |params|
publisher = $events.getPublisher()
publisher.publishLocally(lambda { |subscription|
subscription.setChannel("subscription channel")
subscription.setId("subscription id")
}) { |e|
e.setData("本地事件")
}
publisher.publishGlobally(lambda { |subscription|
subscription.setChannel("subscription channel")
subscription.setId("subscription id")
}) { |e|
e.setData("全局事件")
}
}, 3000)
Last modified: 29 April 2025