添加mapthing配置

This commit is contained in:
aozhiwei 2019-03-22 11:02:50 +08:00
parent 0615ee4061
commit 2751310f43
5 changed files with 32 additions and 4 deletions

View File

@ -15,6 +15,11 @@ namespace MetaData
const metatable::Map* i = nullptr;
};
struct MapThing
{
const metatable::MapThing* i = nullptr;
};
struct SafeArea
{
const metatable::SafeArea* i = nullptr;

View File

@ -22,6 +22,8 @@ public:
std::list<MetaData::Equip> equip_list;
std::list<metatable::Player> player_meta_list;
std::list<MetaData::Player> player_list;
std::list<metatable::MapThing> mapthing_meta_list;
std::list<MetaData::MapThing> mapthing_list;
std::map<std::string, MetaData::Parameter*> parameter_hash;
std::map<int, MetaData::Map*> gamemap_hash;
@ -29,6 +31,7 @@ public:
std::map<int, MetaData::Item*> item_hash;
std::map<int, MetaData::Equip*> equip_hash;
std::map<int, MetaData::Player*> player_hash;
std::map<int, MetaData::MapThing*> mapthing_hash;
void Load()
{
@ -45,6 +48,8 @@ public:
f8::ReadCsvMetaFile(res_path + "item@item.csv", item_meta_list);
f8::ReadCsvMetaFile(res_path + "equip@equip.csv", equip_meta_list);
f8::ReadCsvMetaFile(res_path + "player@player.csv", player_meta_list);
f8::ReadCsvMetaFile(res_path + "player@player.csv", player_meta_list);
f8::ReadCsvMetaFile(res_path + "mapThing@mapThing.csv", mapthing_meta_list);
BindToMetaData();
}
@ -89,6 +94,12 @@ private:
player_hash[item.i->id()] = &item;
}
for (auto& meta : mapthing_meta_list) {
MetaData::MapThing& item = a8::FastAppend(mapthing_list);
item.i = &meta;
mapthing_hash[item.i->thing_id()] = &item;
}
}
};

View File

@ -80,7 +80,7 @@ void Player::UpdateMove()
int speed = std::max(1, (int)GetSpeed());
for (int i = 0; i < speed; ++i) {
Vector2D old_pos = pos;
pos = pos + move_dir * (i + 1);
pos = pos + move_dir;
if (IsCollision()) {
pos = old_pos;
if (i == 0) {

View File

@ -11,7 +11,7 @@
#include "collider.h"
const int ROOM_MAX_PLAYER_NUM = 50;
const int ANDROID_NUM = 30;
const int ANDROID_NUM = 0;
void Room::Update(int delta_time)
{
@ -66,8 +66,8 @@ int Room::AliveCount()
void Room::AddPlayer(Player* hum)
{
{
hum->pos.x = 100 + rand() % 100;
hum->pos.y = 200 + rand() % 200;
hum->pos.x = 1000 + rand() % 100;
hum->pos.y = 2000 + rand() % 200;
hum->attack_dir = hum->pos;
hum->attack_dir.Normalize();
float angle = ((float)rand() / RAND_MAX) * 2.0f;

View File

@ -13,6 +13,18 @@ message Map
optional int32 height = 3; //
}
message MapThing
{
optional int32 thing_id = 1; //id
optional int32 type = 2; //
optional int32 hight = 3; //
optional int32 width = 4; //
optional int32 hp = 5; //
optional float damage = 6; //
optional float damage_dia = 7; //
optional int32 drop = 8; //
}
message SafeArea
{
optional int32 id = 1; //id