完成配置表读取
This commit is contained in:
parent
275b5b94be
commit
d41352e6b0
@ -5,4 +5,24 @@
|
|||||||
namespace MetaData
|
namespace MetaData
|
||||||
{
|
{
|
||||||
|
|
||||||
|
struct Map
|
||||||
|
{
|
||||||
|
const metatable::Map* meta = nullptr;
|
||||||
|
};
|
||||||
|
|
||||||
|
struct SafeArea
|
||||||
|
{
|
||||||
|
const metatable::SafeArea* meta = nullptr;
|
||||||
|
};
|
||||||
|
|
||||||
|
struct Item
|
||||||
|
{
|
||||||
|
const metatable::Item* meta = nullptr;
|
||||||
|
};
|
||||||
|
|
||||||
|
struct Equip
|
||||||
|
{
|
||||||
|
const metatable::Equip* meta = nullptr;
|
||||||
|
};
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -10,15 +10,33 @@
|
|||||||
class MetaDataLoader
|
class MetaDataLoader
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
|
std::list<metatable::Map> map_meta_list;
|
||||||
|
std::list<MetaData::Map> map_list;
|
||||||
|
std::list<metatable::SafeArea> safearea_meta_list;
|
||||||
|
std::list<MetaData::SafeArea> safearea_list;
|
||||||
|
std::list<metatable::Item> item_meta_list;
|
||||||
|
std::list<MetaData::Item> item_list;
|
||||||
|
std::list<metatable::Equip> equip_meta_list;
|
||||||
|
std::list<MetaData::Equip> equip_list;
|
||||||
|
|
||||||
|
std::map<int, MetaData::Map*> gamemap_hash;
|
||||||
|
std::map<int, MetaData::SafeArea*> safearea_hash;
|
||||||
|
std::map<int, MetaData::Item*> item_hash;
|
||||||
|
std::map<int, MetaData::Equip*> equip_hash;
|
||||||
|
|
||||||
void Load()
|
void Load()
|
||||||
{
|
{
|
||||||
std::string res_path;
|
std::string res_path;
|
||||||
if (getenv("is_dev_env")) {
|
if (!f8::IsOnlineEnv()) {
|
||||||
res_path = a8::Format("/var/data/conf_test/game%d/res/", {GAME_ID});
|
res_path = a8::Format("/var/data/conf_test/game%d/res/", {GAME_ID});
|
||||||
} else {
|
} else {
|
||||||
res_path = "../res/";
|
res_path = "../res/";
|
||||||
}
|
}
|
||||||
|
|
||||||
|
f8::ReadCsvMetaFile(res_path + "map@map.csv", map_meta_list);
|
||||||
|
f8::ReadCsvMetaFile(res_path + "safearea@safearea.csv", safearea_meta_list);
|
||||||
|
f8::ReadCsvMetaFile(res_path + "item@item.csv", item_meta_list);
|
||||||
|
f8::ReadCsvMetaFile(res_path + "equip@equip.csv", equip_meta_list);
|
||||||
BindToMetaData();
|
BindToMetaData();
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -26,6 +44,31 @@ private:
|
|||||||
|
|
||||||
void BindToMetaData()
|
void BindToMetaData()
|
||||||
{
|
{
|
||||||
|
|
||||||
|
for (auto& meta : map_meta_list) {
|
||||||
|
MetaData::Map& item = a8::FastAppend(map_list);
|
||||||
|
item.meta = &meta;
|
||||||
|
gamemap_hash[item.meta->map_id()] = &item;
|
||||||
|
}
|
||||||
|
|
||||||
|
for (auto& meta : safearea_meta_list) {
|
||||||
|
MetaData::SafeArea& item = a8::FastAppend(safearea_list);
|
||||||
|
item.meta = &meta;
|
||||||
|
safearea_hash[item.meta->id()] = &item;
|
||||||
|
}
|
||||||
|
|
||||||
|
for (auto& meta : item_meta_list) {
|
||||||
|
MetaData::Item& item = a8::FastAppend(item_list);
|
||||||
|
item.meta = &meta;
|
||||||
|
item_hash[item.meta->id()] = &item;
|
||||||
|
}
|
||||||
|
|
||||||
|
for (auto& meta : equip_meta_list) {
|
||||||
|
MetaData::Equip& item = a8::FastAppend(equip_list);
|
||||||
|
item.meta = &meta;
|
||||||
|
equip_hash[item.meta->id()] = &item;
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
};
|
};
|
||||||
|
@ -93,6 +93,7 @@ message MFGoods
|
|||||||
optional int32 num = 2;
|
optional int32 num = 2;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//视野 x1 x4 x8
|
||||||
message MFPlug
|
message MFPlug
|
||||||
{
|
{
|
||||||
optional string name = 1;
|
optional string name = 1;
|
||||||
@ -175,7 +176,7 @@ message MFBuildingFull
|
|||||||
optional bool ceiling_dead = 5;
|
optional bool ceiling_dead = 5;
|
||||||
}
|
}
|
||||||
|
|
||||||
//loot出生点-部分
|
//loot出生点-部分 补给箱
|
||||||
message MFLootSpawnerPart
|
message MFLootSpawnerPart
|
||||||
{
|
{
|
||||||
optional int32 obj_uniid = 1; //唯一id
|
optional int32 obj_uniid = 1; //唯一id
|
||||||
@ -274,7 +275,7 @@ message MFSmokeFull
|
|||||||
message MFObjectPart
|
message MFObjectPart
|
||||||
{
|
{
|
||||||
//1:player 2:obstacle 3:building 4:lootspawner 5:loot 6:deadbody 7:decal 8:projectile 9:smoke
|
//1:player 2:obstacle 3:building 4:lootspawner 5:loot 6:deadbody 7:decal 8:projectile 9:smoke
|
||||||
optional int32 object_type = 1;
|
optional int32 type = 1;
|
||||||
|
|
||||||
optional MFPlayerPart union_obj_1 = 2;
|
optional MFPlayerPart union_obj_1 = 2;
|
||||||
optional MFObstaclePart union_obj_2 = 3;
|
optional MFObstaclePart union_obj_2 = 3;
|
||||||
@ -309,6 +310,7 @@ message MFPlayerData
|
|||||||
{
|
{
|
||||||
optional float boost = 1;
|
optional float boost = 1;
|
||||||
|
|
||||||
|
//
|
||||||
optional bool has_action = 2;
|
optional bool has_action = 2;
|
||||||
optional float actoin_time = 3;
|
optional float actoin_time = 3;
|
||||||
optional float action_duration = 4;
|
optional float action_duration = 4;
|
||||||
@ -322,12 +324,11 @@ message MFPlayerData
|
|||||||
// repeated int32 weapons = 16;
|
// repeated int32 weapons = 16;
|
||||||
|
|
||||||
optional int32 spectator_count = 20;
|
optional int32 spectator_count = 20;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
message MFGasData
|
message MFGasData
|
||||||
{
|
{
|
||||||
optional int32 mode = 1;
|
optional int32 mode = 1; //0:inactive 1:waiting 2:moveing
|
||||||
optional float duration = 2;
|
optional float duration = 2;
|
||||||
optional MFVector2D pos_old = 3;
|
optional MFVector2D pos_old = 3;
|
||||||
optional MFVector2D pos_new = 4;
|
optional MFVector2D pos_new = 4;
|
||||||
@ -482,31 +483,37 @@ message CMJoin
|
|||||||
message CMMove
|
message CMMove
|
||||||
{
|
{
|
||||||
optional int32 seq = 1; //序号
|
optional int32 seq = 1; //序号
|
||||||
optional bool move_left = 2; //zzz
|
|
||||||
optional bool move_right = 3; //zz
|
optional bool move_left = 2; //移动-左
|
||||||
optional bool move_up = 4; //zzz
|
optional bool move_right = 3; //移动-右
|
||||||
optional bool move_down = 5; //zzz
|
optional bool move_up = 4; //移动-上
|
||||||
optional bool shoot_start = 6; //zzz
|
optional bool move_down = 5; //移动-下
|
||||||
optional bool shoot_hold = 7; //zzz
|
optional int32 move_len = 22; //移动-距离
|
||||||
optional bool reload = 8; //zzzz
|
optional MFVector2D to_move_dir = 24; //移动-方向
|
||||||
optional bool interaction = 9; //zzz
|
|
||||||
optional bool equip_primary = 10; //zzz
|
optional bool shoot_start = 6; //射击-开始
|
||||||
optional bool equip_secondary = 11; //zz
|
optional bool shoot_hold = 7; //射击-一直按着
|
||||||
optional bool equip_throwable = 12; //zz
|
optional bool reload = 8; //装弹
|
||||||
optional bool equip_melee = 13; //zz
|
|
||||||
optional bool equip_last = 14; //zz
|
optional bool equip_primary = 10; //装备1
|
||||||
|
optional bool equip_secondary = 11; //装备2
|
||||||
|
optional bool equip_throwable = 12; //装备3
|
||||||
|
optional bool equip_melee = 13; //装备
|
||||||
|
optional bool equip_last = 14; //最后使用的装备
|
||||||
|
|
||||||
optional bool cancel_action = 15; //zz
|
optional bool cancel_action = 15; //zz
|
||||||
optional bool edit_mode = 16; //zz
|
//optional bool edit_mode = 16; //没用到
|
||||||
optional bool scroll_down = 17; //zzz
|
optional bool scroll_down = 17; //zzz
|
||||||
optional bool scroll_up = 18; //zz
|
optional bool scroll_up = 18; //zz
|
||||||
optional bool portrait = 19; //zz
|
optional bool portrait = 19; //zz
|
||||||
|
|
||||||
optional MFVector2D to_mouse_dir = 20; //zz
|
optional MFVector2D to_mouse_dir = 20; //zz
|
||||||
optional float to_mouse_len = 21; //
|
optional float to_mouse_len = 21; //
|
||||||
//use_item
|
//use_item
|
||||||
//use_scope
|
//use_scope
|
||||||
optional int32 move_len = 22; //zz
|
|
||||||
optional int32 interaction_objid = 23; //zz
|
optional bool interaction = 9; //是否有交互
|
||||||
optional MFVector2D to_move_dir = 24; //移动方向
|
optional int32 interaction_objid = 23; //交互的对象id
|
||||||
}
|
}
|
||||||
|
|
||||||
//丢弃道具
|
//丢弃道具
|
||||||
@ -576,7 +583,7 @@ message SMUpdate
|
|||||||
repeated MFObjectPart part_objects = 3;
|
repeated MFObjectPart part_objects = 3;
|
||||||
optional int32 active_player_id = 10; //当前活跃玩家id
|
optional int32 active_player_id = 10; //当前活跃玩家id
|
||||||
optional MFPlayerData active_player_data = 11; //活跃玩家数据
|
optional MFPlayerData active_player_data = 11; //活跃玩家数据
|
||||||
optional int32 alive_count = 15; //存货数量
|
optional int32 alive_count = 15; //存活数量
|
||||||
optional int32 gasT = 16;
|
optional int32 gasT = 16;
|
||||||
optional MFGasData gas_data = 17;
|
optional MFGasData gas_data = 17;
|
||||||
repeated MFTeamData team_data = 18;
|
repeated MFTeamData team_data = 18;
|
||||||
|
@ -3,11 +3,48 @@ package metatable;
|
|||||||
message Map
|
message Map
|
||||||
{
|
{
|
||||||
optional int32 map_id = 1; //地图id
|
optional int32 map_id = 1; //地图id
|
||||||
|
optional int32 width = 2; //地图宽度
|
||||||
|
optional int32 height = 3; //地图高度
|
||||||
|
}
|
||||||
|
|
||||||
|
message SafeArea
|
||||||
|
{
|
||||||
|
optional int32 id = 1; //id
|
||||||
|
optional int32 level = 2; //安全区登记
|
||||||
|
optional int32 rad = 3; //半径
|
||||||
|
optional int32 wait_time = 4; //等待时间
|
||||||
|
optional int32 hurt = 5; //伤害/秒
|
||||||
}
|
}
|
||||||
|
|
||||||
message Item
|
message Item
|
||||||
{
|
{
|
||||||
optional int32 item_id = 1; //道具id
|
optional int32 id = 1; //道具id
|
||||||
|
optional int32 type = 2; //类型
|
||||||
|
optional int32 reward = 3; //使用奖励
|
||||||
|
optional int32 price = 4; //购买价格
|
||||||
|
}
|
||||||
|
|
||||||
|
message Equip
|
||||||
|
{
|
||||||
|
optional int32 id = 1; //装备id
|
||||||
|
optional int32 equip_type = 2; //装备类型
|
||||||
|
optional int32 equip_subtype = 3; //装备子类型
|
||||||
|
optional int32 equip_lv = 4; //装备等级
|
||||||
|
optional int32 fire_mode = 5; //开火模式
|
||||||
|
optional int32 use_bullet = 6; //使用子弹
|
||||||
|
optional int32 clip_volume = 7; //弹夹数量
|
||||||
|
optional int32 reload_time = 8; //装弹时间
|
||||||
|
optional int32 fire_rate = 9; //武器射速
|
||||||
|
optional int32 atk = 10; //攻击力
|
||||||
|
optional int32 def = 11; //防御力
|
||||||
|
optional int32 explosion_range = 12; //子弹爆炸范围
|
||||||
|
optional int32 bullet_speed = 13; //子弹速度
|
||||||
|
optional int32 range = 14; //射程
|
||||||
|
optional int32 use_time = 15; //使用时间
|
||||||
|
optional int32 heal = 16; //瞬间生命恢复
|
||||||
|
optional int32 energy = 17; //能量值
|
||||||
|
optional int32 number = 18; //视野参数
|
||||||
|
optional int32 volume = 19; //装备容量
|
||||||
}
|
}
|
||||||
|
|
||||||
message Monster
|
message Monster
|
||||||
|
Loading…
x
Reference in New Issue
Block a user