56 lines
1.6 KiB
TypeScript
56 lines
1.6 KiB
TypeScript
import { Vector } from "@bearmetal/doodler";
|
|
import { TrainCar } from "./train.ts";
|
|
import { getContextItem } from "../lib/context.ts";
|
|
import { ResourceManager } from "../lib/resources.ts";
|
|
|
|
export class RedEngine extends TrainCar {
|
|
constructor() {
|
|
const resources = getContextItem<ResourceManager>("resources");
|
|
super(55, resources.get<HTMLImageElement>("engine-sprites")!, 80, 20, {
|
|
at: new Vector(0, 60),
|
|
width: 80,
|
|
height: 20,
|
|
});
|
|
}
|
|
}
|
|
export class PurpleEngine extends TrainCar {
|
|
constructor() {
|
|
const resources = getContextItem<ResourceManager>("resources");
|
|
super(55, resources.get<HTMLImageElement>("engine-sprites")!, 80, 20, {
|
|
at: new Vector(0, 60),
|
|
width: 80,
|
|
height: 20,
|
|
});
|
|
}
|
|
}
|
|
export class GreenEngine extends TrainCar {
|
|
constructor() {
|
|
const resources = getContextItem<ResourceManager>("resources");
|
|
super(55, resources.get<HTMLImageElement>("engine-sprites")!, 80, 20, {
|
|
at: new Vector(0, 40),
|
|
width: 80,
|
|
height: 20,
|
|
});
|
|
}
|
|
}
|
|
export class GrayEngine extends TrainCar {
|
|
constructor() {
|
|
const resources = getContextItem<ResourceManager>("resources");
|
|
super(55, resources.get<HTMLImageElement>("engine-sprites")!, 80, 20, {
|
|
at: new Vector(0, 20),
|
|
width: 80,
|
|
height: 20,
|
|
});
|
|
}
|
|
}
|
|
export class BlueEngine extends TrainCar {
|
|
constructor() {
|
|
const resources = getContextItem<ResourceManager>("resources");
|
|
super(55, resources.get<HTMLImageElement>("engine-sprites")!, 80, 20, {
|
|
at: new Vector(0, 0),
|
|
width: 80,
|
|
height: 20,
|
|
});
|
|
}
|
|
}
|