load("@rules_cc//cc:defs.bzl", "cc_library")
load("//tools:copts.bzl", "COPTS")

cc_library(
    name = "controller",
    srcs = [
        "ShardokGameController.cpp",
    ],
    hdrs = [
        "ShardokGameController.hpp",
    ],
    copts = COPTS,
    visibility = ["//visibility:public"],
    deps = [
        ":game_update_receiver",
        "//src/main/cpp/net/eagle0/common:shardok_latency_trace",
        "//src/main/cpp/net/eagle0/shardok/ai:shardok_ai_client",
        "//src/main/cpp/net/eagle0/shardok/ai:starting_position_recommender",
        "//src/main/cpp/net/eagle0/shardok/library:engine",
        "//src/main/cpp/net/eagle0/shardok/library:shardok_c_types",
        "//src/main/cpp/net/eagle0/shardok/library:unit_placement_info",
        "//src/main/protobuf/net/eagle0/shardok/storage:action_result_cc_proto",
    ],
)

cc_library(
    name = "game_update_receiver",
    srcs = ["GameUpdateReceiver.cpp"],
    hdrs = ["GameUpdateReceiver.hpp"],
    copts = COPTS,
    visibility = ["//src/main/cpp/net/eagle0/shardok:__subpackages__"],
    deps = [
        "//src/main/protobuf/net/eagle0/shardok/api:action_result_view_cc_proto",
    ],
)
