Needs a lot of cleanup. Data has been de-duplicated, and where identical copies existed, one of them has been replaced with a symlink. Some files have been excluded, such as binaries, installers and debug dumps. Some of that may still be present.
39 lines
No EOL
1.3 KiB
JavaScript
39 lines
No EOL
1.3 KiB
JavaScript
var totalTime = 0;
|
|
var unsubscribedForTime = 0;
|
|
var subscribedForTime = 0;
|
|
var subscribed = false;
|
|
var SWITCH_SUBSCRIPTION_TIME = 10;
|
|
Script.update.connect(function (deltaTime) {
|
|
var channel = "example";
|
|
totalTime += deltaTime;
|
|
if (!subscribed) {
|
|
unsubscribedForTime += deltaTime;
|
|
} else {
|
|
subscribedForTime += deltaTime;
|
|
}
|
|
|
|
// if we've been unsubscribed for SWITCH_SUBSCRIPTION_TIME seconds, subscribe
|
|
if (!subscribed && unsubscribedForTime > SWITCH_SUBSCRIPTION_TIME) {
|
|
print("---- subscribing ----");
|
|
Messages.subscribe(channel);
|
|
subscribed = true;
|
|
subscribedForTime = 0;
|
|
}
|
|
|
|
// if we've been subscribed for SWITCH_SUBSCRIPTION_TIME seconds, unsubscribe
|
|
if (subscribed && subscribedForTime > SWITCH_SUBSCRIPTION_TIME) {
|
|
print("---- unsubscribing ----");
|
|
Messages.unsubscribe(channel);
|
|
subscribed = false;
|
|
unsubscribedForTime = 0;
|
|
}
|
|
|
|
// Even if not subscribed, still publish
|
|
var message = "update() deltaTime:" + deltaTime;
|
|
Messages.sendMessage(channel, message);
|
|
});
|
|
|
|
|
|
Messages.messageReceived.connect(function (channel, message, senderID) {
|
|
print("message received on channel:" + channel + ", message:" + message + ", senderID:" + senderID);
|
|
}); |