Select Git revision
unit.hpp 3.49 KiB
#pragma once
#include <unordered_map>
#include "engine.hpp"
#include "weapon.hpp"
#include <optional>
namespace advanced_wars {
enum class UnitFaction {
URED = 0,
UBLUE = 1,
UGREEN = 2,
UYELLOW = 3,
UPURPLE = 4,
};
enum class UnitId {
INFANTERY = 0,
MECHANIZED_INFANTERY = 1,
RECON = 2,
MEDIUM_TANK = 3,
HEAVY_TANK = 4,
NEO_TANK = 5,
APC = 6,
ANTI_AIR_TANK = 7,
ARTILLERY = 8,
ROCKET_ARTILLERY = 9,
ANTI_AIR_MISSILE_LAUNCHER = 10,
FIGHTER = 11,
BOMBER = 12,
BATTLE_HELICOPTER = 13,
TRANSPORT_HELICOPTER = 14,
BATTLESHIP = 15,
CRUISER = 16,
LANDER = 17,
SUBMARINE = 18,
};
/*
enum class UnitId {
INFANTERY,
MECH,
RECON,
MEDIUM_TANK,
HEAVY_TANK,
NEO_TANK,
APC,
ANTI_AIR_TANK,
ARTILLERY,
ROCKET_ARTILLERY,
ANTI_AIR_MISSILE_LAUNCHER,
FIGHTER,
BOMBER,
BATTLE_HELICOPTER,
TRANSPORT_HELICOPTER,
BATTLESHIP,
CRUISER,
LANDER,
SUBMARINE,
};*/
enum class UnitState {
IDLE = 0,
UNAVAILABLE = 1,
MOVEMENTLEFT = 2,
MOVEMENTRIGHT = 3,
MOVEMENTDOWN = 4,
MOVEMENTUP = 5,