1
This commit is contained in:
parent
a4e43b30c3
commit
d9cd3f00be
@ -31,6 +31,11 @@ void Android::Initialize()
|
|||||||
if (skin_meta) {
|
if (skin_meta) {
|
||||||
skill_meta = MetaMgr::Instance()->GetSkill(skin_meta->i->skill_id());
|
skill_meta = MetaMgr::Instance()->GetSkill(skin_meta->i->skill_id());
|
||||||
}
|
}
|
||||||
|
MetaData::TankSkin* tank_skin_meta = MetaMgr::Instance()->GetTank(SkinId());
|
||||||
|
if (tank_skin_meta) {
|
||||||
|
tankskin.skin_id = tank_skin_meta->i->tank_id();
|
||||||
|
tankskin.skin_lv = 1;
|
||||||
|
}
|
||||||
RecalcBaseAttr();
|
RecalcBaseAttr();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -129,6 +129,7 @@ void Human::FillMFObjectFull(cs::MFObjectFull* full_data)
|
|||||||
p->set_backpack(backpack);
|
p->set_backpack(backpack);
|
||||||
p->set_helmet(helmet);
|
p->set_helmet(helmet);
|
||||||
p->set_chest(chest);
|
p->set_chest(chest);
|
||||||
|
tankskin.ToPB(p->mutable_tankskin());
|
||||||
curr_weapon->ToPB(p->mutable_weapon());
|
curr_weapon->ToPB(p->mutable_weapon());
|
||||||
#if 0
|
#if 0
|
||||||
p->set_energy_shield(energy_shield);
|
p->set_energy_shield(energy_shield);
|
||||||
|
@ -64,6 +64,7 @@ class Human : public Entity
|
|||||||
int action_item_id = 0;
|
int action_item_id = 0;
|
||||||
int action_target_id = 0;
|
int action_target_id = 0;
|
||||||
Skin skin_jlf;
|
Skin skin_jlf;
|
||||||
|
Skin tankskin;
|
||||||
Driver driver;
|
Driver driver;
|
||||||
int backpack = 0;
|
int backpack = 0;
|
||||||
int helmet = 0;
|
int helmet = 0;
|
||||||
|
@ -194,4 +194,9 @@ namespace MetaData
|
|||||||
std::map<int, std::tuple<float, int>> attr_up;
|
std::map<int, std::tuple<float, int>> attr_up;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
struct TankSkin
|
||||||
|
{
|
||||||
|
const metatable::TankSkin* i = nullptr;
|
||||||
|
};
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -33,6 +33,8 @@ public:
|
|||||||
std::list<MetaData::Dress> dress_list;
|
std::list<MetaData::Dress> dress_list;
|
||||||
std::list<metatable::Tank> tank_meta_list;
|
std::list<metatable::Tank> tank_meta_list;
|
||||||
std::list<MetaData::Tank> tank_list;
|
std::list<MetaData::Tank> tank_list;
|
||||||
|
std::list<metatable::TankSkin> tankskin_meta_list;
|
||||||
|
std::list<MetaData::TankSkin> tankskin_list;
|
||||||
std::list<metatable::Driver> driver_meta_list;
|
std::list<metatable::Driver> driver_meta_list;
|
||||||
std::list<MetaData::Driver> driver_list;
|
std::list<MetaData::Driver> driver_list;
|
||||||
std::list<metatable::Skill> skill_meta_list;
|
std::list<metatable::Skill> skill_meta_list;
|
||||||
@ -64,6 +66,7 @@ public:
|
|||||||
std::map<std::string, std::tuple<int, int>> maptpl_size_hash;
|
std::map<std::string, std::tuple<int, int>> maptpl_size_hash;
|
||||||
std::map<int, MetaData::Dress*> dress_hash;
|
std::map<int, MetaData::Dress*> dress_hash;
|
||||||
std::map<int, MetaData::Tank*> tank_hash;
|
std::map<int, MetaData::Tank*> tank_hash;
|
||||||
|
std::map<int, MetaData::TankSkin*> tankskin_hash;
|
||||||
std::vector<int> tankid_list;
|
std::vector<int> tankid_list;
|
||||||
std::map<int, MetaData::Driver*> driver_hash;
|
std::map<int, MetaData::Driver*> driver_hash;
|
||||||
std::map<int, MetaData::Skill*> skill_hash;
|
std::map<int, MetaData::Skill*> skill_hash;
|
||||||
@ -95,6 +98,7 @@ public:
|
|||||||
f8::ReadCsvMetaFile(res_path + "map@map.csv", map_meta_list);
|
f8::ReadCsvMetaFile(res_path + "map@map.csv", map_meta_list);
|
||||||
f8::ReadCsvMetaFile(res_path + "safearea@safearea.csv", safearea_meta_list);
|
f8::ReadCsvMetaFile(res_path + "safearea@safearea.csv", safearea_meta_list);
|
||||||
f8::ReadCsvMetaFile(res_path + "tank@tank.csv", tank_meta_list);
|
f8::ReadCsvMetaFile(res_path + "tank@tank.csv", tank_meta_list);
|
||||||
|
f8::ReadCsvMetaFile(res_path + "tankskin@tankskin.csv", tankskin_meta_list);
|
||||||
f8::ReadCsvMetaFile(res_path + "driver@driver.csv", driver_meta_list);
|
f8::ReadCsvMetaFile(res_path + "driver@driver.csv", driver_meta_list);
|
||||||
f8::ReadCsvMetaFile(res_path + "item@item.csv", item_meta_list);
|
f8::ReadCsvMetaFile(res_path + "item@item.csv", item_meta_list);
|
||||||
f8::ReadCsvMetaFile(res_path + "equip@equip.csv", equip_meta_list);
|
f8::ReadCsvMetaFile(res_path + "equip@equip.csv", equip_meta_list);
|
||||||
@ -210,6 +214,12 @@ private:
|
|||||||
tankid_list.push_back(meta.id());
|
tankid_list.push_back(meta.id());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
for (auto& meta : tankskin_meta_list) {
|
||||||
|
MetaData::TankSkin& item = a8::FastAppend(tankskin_list);
|
||||||
|
item.i = &meta;
|
||||||
|
tankskin_hash[item.i->tank_id()] = &item;
|
||||||
|
}
|
||||||
|
|
||||||
for (auto& meta : driver_meta_list) {
|
for (auto& meta : driver_meta_list) {
|
||||||
MetaData::Driver& item = a8::FastAppend(driver_list);
|
MetaData::Driver& item = a8::FastAppend(driver_list);
|
||||||
item.i = &meta;
|
item.i = &meta;
|
||||||
@ -488,6 +498,12 @@ MetaData::Tank* MetaMgr::GetTank(int tank_id)
|
|||||||
return itr != loader_->tank_hash.end() ? itr->second : nullptr;
|
return itr != loader_->tank_hash.end() ? itr->second : nullptr;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
MetaData::TankSkin* MetaMgr::GetTankSkin(int tank_id)
|
||||||
|
{
|
||||||
|
auto itr = loader_->tankskin_hash.find(tank_id);
|
||||||
|
return itr != loader_->tankskin_hash.end() ? itr->second : nullptr;
|
||||||
|
}
|
||||||
|
|
||||||
int MetaMgr::RandTank()
|
int MetaMgr::RandTank()
|
||||||
{
|
{
|
||||||
return !loader_->tankid_list.empty() ? loader_->tankid_list[rand() % loader_->tankid_list.size()] : 0;
|
return !loader_->tankid_list.empty() ? loader_->tankid_list[rand() % loader_->tankid_list.size()] : 0;
|
||||||
|
@ -38,6 +38,7 @@ class MetaMgr : public a8::Singleton<MetaMgr>
|
|||||||
MetaData::Dress* GetDress(int dress_id);
|
MetaData::Dress* GetDress(int dress_id);
|
||||||
MetaData::Driver* GetDriver(int driver_id);
|
MetaData::Driver* GetDriver(int driver_id);
|
||||||
MetaData::Tank* GetTank(int tank_id);
|
MetaData::Tank* GetTank(int tank_id);
|
||||||
|
MetaData::TankSkin* GetTankSkin(int tank_id);
|
||||||
int RandTank();
|
int RandTank();
|
||||||
float GetRankRewardParam(int rank);
|
float GetRankRewardParam(int rank);
|
||||||
float GetKillRewardParam(int kill_num);
|
float GetKillRewardParam(int kill_num);
|
||||||
|
@ -80,6 +80,7 @@ Player* PlayerMgr::CreatePlayerByCMJoin(long ip_saddr, int socket, const cs::CMJ
|
|||||||
}
|
}
|
||||||
hum->SetSkinInfo(msg.baseskin());
|
hum->SetSkinInfo(msg.baseskin());
|
||||||
hum->driver.FromPB(&msg.driver());
|
hum->driver.FromPB(&msg.driver());
|
||||||
|
hum->tankskin.FromPB(&msg.tankskin());
|
||||||
socket_hash_[socket] = hum;
|
socket_hash_[socket] = hum;
|
||||||
return hum;
|
return hum;
|
||||||
}
|
}
|
||||||
|
@ -20,6 +20,12 @@ int Weapon::GetClipVolume()
|
|||||||
return meta->i->clip_volume();
|
return meta->i->clip_volume();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void Skin::FromPB(const cs::MFSkin* pb_obj)
|
||||||
|
{
|
||||||
|
skin_id = pb_obj->skin_id();
|
||||||
|
skin_lv = pb_obj->skin_lv();
|
||||||
|
}
|
||||||
|
|
||||||
void Skin::ToPB(cs::MFSkin* pb_obj)
|
void Skin::ToPB(cs::MFSkin* pb_obj)
|
||||||
{
|
{
|
||||||
pb_obj->set_skin_id(skin_id);
|
pb_obj->set_skin_id(skin_id);
|
||||||
|
@ -61,6 +61,7 @@ struct Skin
|
|||||||
int skin_id = 0;
|
int skin_id = 0;
|
||||||
int skin_lv = 0;
|
int skin_lv = 0;
|
||||||
|
|
||||||
|
void FromPB(const cs::MFSkin* pb_obj);
|
||||||
void ToPB(cs::MFSkin* pb_obj);
|
void ToPB(cs::MFSkin* pb_obj);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -178,6 +178,7 @@ message MFPlayerFull
|
|||||||
optional int32 energy_shield = 19; //能量护盾
|
optional int32 energy_shield = 19; //能量护盾
|
||||||
optional int32 max_energy_shield = 22; //最大能量护盾
|
optional int32 max_energy_shield = 22; //最大能量护盾
|
||||||
repeated MFBuff buff_list = 24; //buff列表
|
repeated MFBuff buff_list = 24; //buff列表
|
||||||
|
optional MFSkin tankskin = 25; //坦克皮肤
|
||||||
}
|
}
|
||||||
|
|
||||||
//阻挡物-部分
|
//阻挡物-部分
|
||||||
@ -596,6 +597,7 @@ message CMJoin
|
|||||||
repeated int32 prepare_items = 19; //战斗前准备道具 战前准备护盾存到energy_shield
|
repeated int32 prepare_items = 19; //战斗前准备道具 战前准备护盾存到energy_shield
|
||||||
optional string from_appid = 21; //from_appid
|
optional string from_appid = 21; //from_appid
|
||||||
optional MFDriver driver = 22; //驾驶员
|
optional MFDriver driver = 22; //驾驶员
|
||||||
|
optional MFSkin tankskin = 23; //坦克皮肤
|
||||||
}
|
}
|
||||||
|
|
||||||
//移动
|
//移动
|
||||||
|
@ -217,6 +217,12 @@ message Tank
|
|||||||
optional int32 type = 7;
|
optional int32 type = 7;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
message TankSkin
|
||||||
|
{
|
||||||
|
required int32 id = 1;
|
||||||
|
optional int32 tank_id = 2;
|
||||||
|
}
|
||||||
|
|
||||||
//end
|
//end
|
||||||
|
|
||||||
message DoorObjJson
|
message DoorObjJson
|
||||||
|
Loading…
x
Reference in New Issue
Block a user