1
This commit is contained in:
parent
1b3deed6d2
commit
df5eba0390
@ -194,6 +194,15 @@ namespace mt
|
|||||||
obj->size.z = size->At("z")->AsXValue().GetDouble();
|
obj->size.z = size->At("z")->AsXValue().GetDouble();
|
||||||
};
|
};
|
||||||
|
|
||||||
|
auto parse_human_func =
|
||||||
|
[] (std::shared_ptr<a8::XObject> node, std::shared_ptr<WorldObject> obj)
|
||||||
|
{
|
||||||
|
auto pos = node->At("pos");
|
||||||
|
obj->pos.x = pos->At("x")->AsXValue().GetDouble();
|
||||||
|
obj->pos.y = pos->At("y")->AsXValue().GetDouble();
|
||||||
|
obj->pos.z = pos->At("z")->AsXValue().GetDouble();
|
||||||
|
};
|
||||||
|
|
||||||
a8::XObject root;
|
a8::XObject root;
|
||||||
if (root.ReadFromFile(MetaMgr::Instance()->GetResDir() + world_object_file())) {
|
if (root.ReadFromFile(MetaMgr::Instance()->GetResDir() + world_object_file())) {
|
||||||
{
|
{
|
||||||
@ -214,6 +223,24 @@ namespace mt
|
|||||||
_world_objects.push_back(obj);
|
_world_objects.push_back(obj);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
{
|
||||||
|
auto thing = root.At("car");
|
||||||
|
for (int i = 0; i < thing->Size(); ++i) {
|
||||||
|
auto obj = std::make_shared<WorldObject>();
|
||||||
|
obj->object_type = WorldObjectType_e::kCarType;
|
||||||
|
parse_func(thing->At(i), obj);
|
||||||
|
_world_objects.push_back(obj);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
{
|
||||||
|
auto thing = root.At("human");
|
||||||
|
for (int i = 0; i < thing->Size(); ++i) {
|
||||||
|
auto obj = std::make_shared<WorldObject>();
|
||||||
|
obj->object_type = WorldObjectType_e::kBornPointType;
|
||||||
|
parse_human_func(thing->At(i), obj);
|
||||||
|
_world_objects.push_back(obj);
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -2144,6 +2144,7 @@ std::shared_ptr<BornPoint> Room::GetBornPoint(int point_uniid)
|
|||||||
|
|
||||||
void Room::CreateSpawnPoints()
|
void Room::CreateSpawnPoints()
|
||||||
{
|
{
|
||||||
|
#if 0
|
||||||
if (born_point_hash_.empty()) {
|
if (born_point_hash_.empty()) {
|
||||||
for (size_t i = 0; i < 10; ++i) {
|
for (size_t i = 0; i < 10; ++i) {
|
||||||
int uniid = AllocUniid();
|
int uniid = AllocUniid();
|
||||||
@ -2156,6 +2157,7 @@ void Room::CreateSpawnPoints()
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
void Room::IncBornPointHumanNum(std::shared_ptr<BornPoint> point, Human* hum)
|
void Room::IncBornPointHumanNum(std::shared_ptr<BornPoint> point, Human* hum)
|
||||||
@ -3291,15 +3293,10 @@ int Room::GetOnlinePlayerNum()
|
|||||||
|
|
||||||
size_t Room::GetRoomMaxPlayerNum()
|
size_t Room::GetRoomMaxPlayerNum()
|
||||||
{
|
{
|
||||||
#ifdef MAP3D
|
|
||||||
return 40;
|
|
||||||
//return map_meta_->player();
|
|
||||||
#else
|
|
||||||
if (pve_instance) {
|
if (pve_instance) {
|
||||||
return pve_human_num;
|
return pve_human_num;
|
||||||
}
|
}
|
||||||
return map_meta_->player();
|
return map_meta_->player();
|
||||||
#endif
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void Room::InitAndroidAI()
|
void Room::InitAndroidAI()
|
||||||
@ -3813,25 +3810,6 @@ void Room::CreateWorldObjects()
|
|||||||
1,
|
1,
|
||||||
1
|
1
|
||||||
);
|
);
|
||||||
#if 0
|
|
||||||
{
|
|
||||||
const mt::Equip* equip_meta = mt::Equip::GetById(30502);
|
|
||||||
if (equip_meta) {
|
|
||||||
int car_uniid = AllocUniid();
|
|
||||||
Car* c = CreateCar(nullptr,
|
|
||||||
car_uniid,
|
|
||||||
equip_meta,
|
|
||||||
obj->pos,
|
|
||||||
0);
|
|
||||||
if (c) {
|
|
||||||
CarObject car;
|
|
||||||
car.car_id = equip_meta->id();
|
|
||||||
car.pos = c->GetPos().ToGlmVec3();
|
|
||||||
car_hash_[c->GetUniId()] = car;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case WorldObjectType_e::kBoxType:
|
case WorldObjectType_e::kBoxType:
|
||||||
@ -3848,11 +3826,22 @@ void Room::CreateWorldObjects()
|
|||||||
break;
|
break;
|
||||||
case WorldObjectType_e::kCarType:
|
case WorldObjectType_e::kCarType:
|
||||||
{
|
{
|
||||||
CreateAndTakeonCar
|
const mt::Equip* equip_meta = mt::Equip::GetById(obj->object_id);
|
||||||
(
|
if (equip_meta) {
|
||||||
obj->object_id,
|
int car_uniid = AllocUniid();
|
||||||
obj->pos
|
glm::vec3 pos = obj->pos - obj->size / 2.0f;
|
||||||
);
|
Car* c = CreateCar(nullptr,
|
||||||
|
car_uniid,
|
||||||
|
equip_meta,
|
||||||
|
pos,
|
||||||
|
0);
|
||||||
|
if (c) {
|
||||||
|
CarObject car;
|
||||||
|
car.car_id = equip_meta->id();
|
||||||
|
car.pos = c->GetPos().ToGlmVec3();
|
||||||
|
car_hash_[c->GetUniId()] = car;
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case WorldObjectType_e::kBornPointType:
|
case WorldObjectType_e::kBornPointType:
|
||||||
@ -3869,6 +3858,9 @@ void Room::CreateWorldObjects()
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
if (born_point_hash_.size() < 10) {
|
||||||
|
abort();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
Team* Room::GetTeam(int team_id)
|
Team* Room::GetTeam(int team_id)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user