gametestに便利な機能を提供するライブラリです。
Releasesからダウンロードしscripts
フォルダ内に入れてください。入れる際に名前を変更することも可能ですが、インポート時に変更した名前を使う必要があります。
// ライブラリのフォルダ名に合わせて変更してください。
import { <インポートするもの> } from "./gametest-utility-lib.js";
数tick毎、数tick後と言った処理を簡潔に書けるようになります。
import { Tick } from "./gametest-utility-lib.js";
Tick.setInterval(() => {
// 20tick毎に実行する処理
}, 20);
Tick.setTimeout(() => {
// 500tick後に実行する処理
}, 500);
Tick.setInterval
とTick.setTimeout
はidを返し、それぞれのidをTick.clearInterval
、Tick.clearTimeout
に渡すことで止めることができます。
import { Tick } from "./gametest-utility-lib.js";
const ID = Tick.setInterval(() => {
// 20tick毎に実行する処理
}, 20);
Tick.setTimeout(() => {
Tick.clearInterval(ID);
}, 500);
指定したオブジェクトをチャットに表示します。
import { print } from "./gametest-utility-lib.js";
print("text");
// text
print(128);
// 128
print([1, 1, 2, 3, 5, 8, 13])
// 1,1,2,3,5,8,13
print({a: 2, b: 5, c: 6});
// [object Object]
複数指定することが可能で、空白で区切られて表示されます。
print("text", "text2");
// text text2
連想配列をjsonとして処理してprintします。
jsonの処理にはtoJsonを使用しています。
import { pprint } from "./gametest-utility-lib.js";
pprint("text");
// "text"
pprint(128);
// 128
pprint([1, 1, 2, 3, 5, 8, 13])
// 1,1,2,3,5,8,13
pprint({a: 2, b: 5, c: 6});
/*{
"a": 2,
"b": 5,
"c": 6
}*/
JSON.stringifyのラッパーです。
インデントはデフォルトでスペース4つです。
また、オブジェクト内に関数、クラスがあった場合値をそれぞれ[function <Function Name>]
、[class <Class Name>]
に置き換えて処理します。
import { print, toJson } from "./gametest-utility-lib.js";
print(toJson({a: 0}));
/*{
"a": 0
}*/
print(toJson({a: 0}, 0));
/*{"a": 0}*/
print(toJson({a: function(){}, b: class {}}, 0));
/*{"a": "[function <Function Name>]", "b": "[class <Class Name>]"}*/