dartterm/lib/gen/vault.dart
2023-09-22 18:35:47 -07:00

42 lines
936 B
Dart

part of 'generator.dart';
class Vault {
final Bitmap<VaultTile> tiles;
final DirectionSet smooth;
geo.Size get size => tiles.size;
int get vx => size.dx;
int get vy => size.dy;
Vault(this.tiles, this.smooth);
static Vault blank(int vx, int vy, VaultTile lt, DirectionSet smooth) {
return Vault(Bitmap.blank(vx, vy, lt), smooth);
}
static Vault blankWith(
int vx, int vy, VaultTile Function(int, int) lt, DirectionSet smooth) {
return Vault(Bitmap.blankWith(vx, vy, lt), smooth);
}
void clear(VaultTile lt) {
tiles.clear(lt);
}
void blitFrom(Vault other, int dx, int dy) {
tiles.blitFromWith(other.tiles, dx, dy, mergeVaultTile);
}
Vault flip() {
return Vault(tiles.flip(), smooth.flip());
}
Vault rotateRight() {
return Vault(tiles.rotateRight(), smooth.rotateRight());
}
Vault rotateLeft() {
return Vault(tiles.rotateLeft(), smooth.rotateLeft());
}
}