//
//  ShardokCTypes.h
//  eagle0
//
//  Created by Dan Crosby on 9/10/17.
//  Copyright © 2017 none. All rights reserved.
//

#ifndef EAGLE0_SHARDOK_LIBRARY_SHARDOK_CTYPES_H
#define EAGLE0_SHARDOK_LIBRARY_SHARDOK_CTYPES_H

#include <cstdint>
#include <string>

namespace shardok {

using HeroId = int16_t;
using UnitId = int16_t;
using PlayerId = int8_t;
using GameId = std::string;
using ActionId = int64_t;
using RoundId = int32_t;
using MapIndex = int8_t;
using ActionPoints = uint8_t;

enum class AttackOrientation : std::uint8_t { front, flank, rear };

inline constexpr AttackOrientation front = AttackOrientation::front;
inline constexpr AttackOrientation flank = AttackOrientation::flank;
inline constexpr AttackOrientation rear = AttackOrientation::rear;

constexpr PlayerId UNCONTROLLED_PLAYER_ID = 99;
}  // namespace shardok

#endif  // EAGLE0_SHARDOK_LIBRARY_SHARDOK_CTYPES_H
