//
// Created by Dan Crosby on 11/29/20.
//

#ifndef EAGLE0_PLAYERUTILS_HPP
#define EAGLE0_PLAYERUTILS_HPP

#include "src/main/cpp/net/eagle0/shardok/library/ShardokCTypes.h"
#include "src/main/flatbuffer/net/eagle0/shardok/storage/game_state.hpp"

namespace shardok {

using PlayerInfoFb = net::eagle0::shardok::storage::fb::PlayerInfo;
using GameState = net::eagle0::shardok::storage::fb::GameState;
using std::vector;

auto PlayerIsDefender(const GameState *gameState, int playerId) -> bool;
auto NextPlayerId(const GameState *gameState, PlayerId pid, bool allowUncontrolled = true)
        -> PlayerId;
auto AlliedPids(const GameState *gameState, int playerId) -> vector<PlayerId>;

}  // namespace shardok

#endif  // EAGLE0_PLAYERUTILS_HPP
