first step on loading a tileset from a script

This commit is contained in:
GRL 2021-05-20 17:09:10 +02:00
parent 2f9cc393a7
commit 3506063e65
9 changed files with 276 additions and 3 deletions

View file

@ -16,6 +16,7 @@ import type { DataLayerEvent } from "./DataLayerEvent";
import type { LayerEvent } from './LayerEvent';
import type { SetPropertyEvent } from "./setPropertyEvent";
import type { TagEvent } from "./TagEvent";
import type { TilesetEvent } from "./TilesetEvent";
export interface TypedMessageEvent<T> extends MessageEvent {
data: T
@ -42,6 +43,7 @@ export type IframeEventMap = {
setProperty: SetPropertyEvent
getDataLayer: undefined
getTag: undefined
tilsetEvent: TilesetEvent
}
export interface IframeEvent<T extends keyof IframeEventMap> {
type: T;

View file

@ -0,0 +1,15 @@
import * as tg from "generic-type-guard";
export const isTilesetEvent =
new tg.IsInterface().withProperties({
name : tg.isString,
imgUrl : tg.isString,
tilewidth : tg.isNumber,
tileheight : tg.isNumber,
margin : tg.isNumber,
spacing : tg.isNumber,
}).get();
/**
* A message sent from the iFrame to the game to show/hide a layer.
*/
export type TilesetEvent = tg.GuardedType<typeof isTilesetEvent>;