Browse Source

refactor(CAPI): 🎨 change map containers to vector

tags/0.1.0
DragonAura 3 years ago
parent
commit
9fa0726a30
4 changed files with 17 additions and 13 deletions
  1. +6
    -6
      CAPI/API/include/API.h
  2. +1
    -1
      CAPI/API/include/logic.h
  3. +1
    -1
      CAPI/API/include/state.h
  4. +9
    -5
      CAPI/API/include/utils.hpp

+ 6
- 6
CAPI/API/include/API.h View File

@@ -33,7 +33,7 @@ public:
virtual std::shared_ptr<const THUAI6::Human> HumanGetSelfInfo() const = 0;
virtual std::shared_ptr<const THUAI6::Butcher> ButcherGetSelfInfo() const = 0;

virtual std::array<std::array<THUAI6::PlaceType, 50>, 50> GetFullMap() const = 0;
virtual std::vector<std::vector<THUAI6::PlaceType>> GetFullMap() const = 0;

// 供IAPI使用的操作相关的部分
virtual bool Move(protobuf::MoveMsg) = 0;
@@ -99,7 +99,7 @@ public:
[[nodiscard]] virtual std::vector<std::shared_ptr<const THUAI6::Prop>> GetProps() const = 0;

// 获取地图信息,视野外的地图统一为Land
[[nodiscard]] virtual std::array<std::array<THUAI6::PlaceType, 50>, 50> GetFullMap() const = 0;
[[nodiscard]] virtual std::vector<std::vector<THUAI6::PlaceType>> GetFullMap() const = 0;
[[nodiscard]] virtual THUAI6::PlaceType GetPlaceType(int32_t CellX, int32_t CellY) const = 0;

// 获取所有玩家的GUID
@@ -229,7 +229,7 @@ public:
{
}

[[nodiscard]] std::array<std::array<THUAI6::PlaceType, 50>, 50> GetFullMap() const override
[[nodiscard]] std::vector<std::vector<THUAI6::PlaceType>> GetFullMap() const override
{
}
[[nodiscard]] THUAI6::PlaceType GetPlaceType(int32_t CellX, int32_t CellY) const override
@@ -340,7 +340,7 @@ public:
{
}

[[nodiscard]] std::array<std::array<THUAI6::PlaceType, 50>, 50> GetFullMap() const override
[[nodiscard]] std::vector<std::vector<THUAI6::PlaceType>> GetFullMap() const override
{
}
[[nodiscard]] THUAI6::PlaceType GetPlaceType(int32_t CellX, int32_t CellY) const override
@@ -442,7 +442,7 @@ public:
{
}

[[nodiscard]] std::array<std::array<THUAI6::PlaceType, 50>, 50> GetFullMap() const override
[[nodiscard]] std::vector<std::vector<THUAI6::PlaceType>> GetFullMap() const override
{
}
[[nodiscard]] THUAI6::PlaceType GetPlaceType(int32_t CellX, int32_t CellY) const override
@@ -553,7 +553,7 @@ public:
{
}

[[nodiscard]] std::array<std::array<THUAI6::PlaceType, 50>, 50> GetFullMap() const override
[[nodiscard]] std::vector<std::vector<THUAI6::PlaceType>> GetFullMap() const override
{
}
[[nodiscard]] THUAI6::PlaceType GetPlaceType(int32_t CellX, int32_t CellY) const override


+ 1
- 1
CAPI/API/include/logic.h View File

@@ -99,7 +99,7 @@ private:
{
}

std::array<std::array<THUAI6::PlaceType, 50>, 50> GetFullMap() const override
std::vector<std::vector<THUAI6::PlaceType>> GetFullMap() const override
{
}



+ 1
- 1
CAPI/API/include/state.h View File

@@ -20,7 +20,7 @@ struct State
std::vector<std::shared_ptr<THUAI6::Butcher>> butchers;
std::vector<std::shared_ptr<THUAI6::Prop>> props;

std::array<std::array<THUAI6::PlaceType, 51>, 51> gamemap;
std::vector<std::vector<THUAI6::PlaceType>> gamemap;

std::vector<int64_t> guids;
};


+ 9
- 5
CAPI/API/include/utils.hpp View File

@@ -142,13 +142,17 @@ namespace Proto2THUAI6
return prop;
}

inline std::array<std::array<THUAI6::PlaceType, 51>, 51> Protobuf2THUAI6Map(const protobuf::MessageOfMap& mapMsg)
inline std::vector<std::vector<THUAI6::PlaceType>> Protobuf2THUAI6Map(const protobuf::MessageOfMap& mapMsg)
{
std::array<std::array<THUAI6::PlaceType, 51>, 51> map;
for (int i = 0; i < 51; i++)
std::vector<std::vector<THUAI6::PlaceType>> map;
for (int i = 0; i < mapMsg.row_size(); i++)
{
for (int j = 0; j < 51; j++)
map[i][j] = placeTypeDict[mapMsg.row(i).col(j)];
std::vector<THUAI6::PlaceType> row;
for (int j = 0; j < mapMsg.row(i).col_size(); j++)
{
row.push_back(placeTypeDict[mapMsg.row(i).col(j)]);
}
map.push_back(row);
}
return map;
}


Loading…
Cancel
Save