#pragma once #include #include namespace td { using FpFloat = fpm::fixed_16_16; enum class Team : std::uint8_t { Blue = 0, Red, }; enum class TowerType : std::uint8_t { Archer = 0, Leach, Artillery, Mage, Ice, Poison, Quake, Sorcerer, Zeus, Necromancer, Turret, }; enum class EntityType : std::uint8_t { Zombie = 0, Spider, Pigman, Skeleton, Creeper, Silverfish, Blaze, Witch, Slime, Giant, Wither, // And passive animals }; enum class ShopItem : std::uint8_t { Goldmine = 0, Inferno, Meteor, Zeus, Freeze, Speed, Heal, }; using TowerID = std::uint16_t; using PlayerID = std::uint8_t; using EntityID = std::uint16_t; struct TowerCoords { std::int16_t x; std::int16_t y; }; struct EntityCoords { FpFloat x; FpFloat y; }; using PeerID = std::uint16_t; } // namespace td