load("//tools:copts.bzl", "COPTS")

cc_library(
    name = "battalion",
    srcs = ["Battalion.cpp"],
    hdrs = ["Battalion.hpp"],
    copts = COPTS,
    deps = [
        "//src/main/cpp/net/eagle0/shardok/library:battalion_type",
        "//src/main/cpp/net/eagle0/shardok/library:combat_damage",
        "//src/main/flatbuffer/net/eagle0/shardok/storage:battalion_cc_fbs",
        "//src/main/protobuf/net/eagle0/shardok/common:terrain_cc_proto",
    ],
)

cc_library(
    name = "hero",
    srcs = ["Hero.cpp"],
    hdrs = ["Hero.hpp"],
    copts = COPTS,
    visibility = [
        "//src/test/cpp/net/eagle0/shardok/library:__subpackages__",
    ],
    deps = [
        "//src/main/cpp/net/eagle0/shardok/library:action_cost",
        "//src/main/cpp/net/eagle0/shardok/library:combat_damage",
        "//src/main/cpp/net/eagle0/shardok/library:shardok_c_types",
        "//src/main/cpp/net/eagle0/shardok/library:shardok_exception",
        "//src/main/flatbuffer/net/eagle0/shardok/storage:hero_cc_fbs",
        "//src/main/protobuf/net/eagle0/shardok/common:terrain_cc_proto",
    ],
)

cc_library(
    name = "unit",
    srcs = ["Unit.cpp"],
    hdrs = ["Unit.hpp"],
    copts = COPTS,
    visibility = [
        "//src/main/cpp/net/eagle0/shardok/library:__subpackages__",
        "//src/test/cpp/net/eagle0/shardok/library:__subpackages__",
    ],
    deps = [
        ":battalion",
        ":hero",
        "//src/main/cpp/net/eagle0/shardok/library:shardok_c_types",
        "//src/main/cpp/net/eagle0/shardok/library/settings:game_settings",
        "//src/main/flatbuffer/net/eagle0/shardok/storage:unit_cc_fbs",
    ],
)
