Files
Airport/assets/scripts/gameplay/scene.toy

35 lines
789 B
Plaintext

import standard;
import node;
var tilemap: opaque = null;
var player: opaque = null;
var collisionMap: [[bool]] = null; //cache this, since it won't change during a level
//lifecycle functions
fn onLoad(node: opaque) {
tilemap = node.loadChild("scripts:/gameplay/tilemap.toy");
player = node.loadChild("scripts:/gameplay/lejana.toy");
}
fn onInit(node: opaque) {
tilemap.callNodeFn("generateFromSeed", clock().hash(), 8, 8);
collisionMap = tilemap.callNodeFn("getCollisionMap");
}
//utils - polyfills
fn loadChild(parent: opaque, fname: string) {
var child: opaque = loadNode(fname);
parent.pushNode(child);
return child;
}
//connective functions
fn getCollisionAt(node: opaque, x: int, y: int) {
if (collisionMap == null) {
return false;
}
return collisionMap[x][y];
}