Skip to content

Instantly share code, notes, and snippets.

@noir-neo
Last active October 27, 2022 12:53
Show Gist options
  • Select an option

  • Save noir-neo/f2dd4cda694ac170938d9c2cfdd273aa to your computer and use it in GitHub Desktop.

Select an option

Save noir-neo/f2dd4cda694ac170938d9c2cfdd273aa to your computer and use it in GitHub Desktop.
cluster script 用の snippet / 前回にチェックしたときより新しい signal が来ているかチェックする関数
/**
* 前回にチェックしたときより新しい signal が来ているかチェックする
* @param {CompatGimmickTarget} target メッセージを通知する対象
* @param {string} key メッセージを通知する対象
* @return {boolean} 最後にチェックしたときより新しい signal が来ていたら true
*/
const checkTriggered = (target, key) => {
const triggeredAt = $.getStateCompat(target, key, "double");
const lastTriggeredAtKey = target + key + "LastTriggeredAt";
const lastTriggeredAt = $.getStateCompat("this", lastTriggeredAtKey, "double");
const isTriggered = triggeredAt <= lastTriggeredAt;
if (!isTriggered) {
$.setStateCompat("this", lastTriggeredAtKey, triggeredAt);
}
return isTriggered;
};
$.onUpdate(_ => {
if (!checkTriggered("this", "Ping")) {
$.sendSignalCompat("this", "Pong");
}
});
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment