diff --git a/lib/gen/vault_tile.dart b/lib/gen/vault_tile.dart new file mode 100644 index 0000000..5ccbd93 --- /dev/null +++ b/lib/gen/vault_tile.dart @@ -0,0 +1,35 @@ +part of 'generator.dart'; + +VaultTile mergeVaultTile(VaultTile bottom, VaultTile top) { + if (bottom == VaultTile.wall && top == VaultTile.archpronewall) { + return VaultTile.wall; + } + if (bottom == VaultTile.wall && top == VaultTile.archwall) { + return VaultTile.wall; + } + if (bottom == VaultTile.archwall && top == VaultTile.archpronewall) { + return VaultTile.archwall; + } + return top; +} + +LevelTile flattenVaultTile(VaultTile vt) { + switch (vt) { + case VaultTile.meta0: + case VaultTile.defaultwall: + case VaultTile.archpronewall: + case VaultTile.archwall: + case VaultTile.wall: + return LevelTile.wall; + + case VaultTile.exit: + return LevelTile.exit; + case VaultTile.door: + return LevelTile.closedDoor; + + case VaultTile.doorpronefloor: + case VaultTile.bspfloor: + case VaultTile.floor: + return LevelTile.floor; + } +}