1
This commit is contained in:
parent
988a130204
commit
f39707b7ee
@ -242,28 +242,26 @@ namespace mt
|
||||
auto group = root.At("group");
|
||||
for (int i = 0; i < group->Size(); ++i) {
|
||||
auto group_obj = group->At(i);
|
||||
for (int ii = 0; ii < group_obj->Size(); ++ii) {
|
||||
std::vector<std::string> keys;
|
||||
group_obj->GetKeys(keys);
|
||||
for (auto key : keys) {
|
||||
int ikey = a8::XValue(key);
|
||||
if (_group_world_objects.find(ikey) != _group_world_objects.end()) {
|
||||
abort();
|
||||
}
|
||||
std::vector<std::shared_ptr<WorldObject>> objects;
|
||||
auto items = group_obj->At(key);
|
||||
for (int iii = 0; iii < items->Size(); ++iii) {
|
||||
auto item_obj = items->At(iii);
|
||||
auto obj = std::make_shared<WorldObject>();
|
||||
{
|
||||
obj->pos.x = item_obj->At("x")->AsXValue().GetDouble();
|
||||
obj->pos.y = item_obj->At("y")->AsXValue().GetDouble();
|
||||
obj->pos.z = item_obj->At("z")->AsXValue().GetDouble();
|
||||
}
|
||||
objects.push_back(obj);
|
||||
}
|
||||
_group_world_objects[ikey] = objects;
|
||||
std::vector<std::string> keys;
|
||||
group_obj->GetKeys(keys);
|
||||
for (auto key : keys) {
|
||||
int ikey = a8::XValue(key);
|
||||
if (_group_world_objects.find(ikey) != _group_world_objects.end()) {
|
||||
abort();
|
||||
}
|
||||
std::vector<std::shared_ptr<WorldObject>> objects;
|
||||
auto items = group_obj->At(key);
|
||||
for (int iii = 0; iii < items->Size(); ++iii) {
|
||||
auto item_obj = items->At(iii);
|
||||
auto obj = std::make_shared<WorldObject>();
|
||||
{
|
||||
obj->pos.x = item_obj->At("x")->AsXValue().GetDouble();
|
||||
obj->pos.y = item_obj->At("y")->AsXValue().GetDouble();
|
||||
obj->pos.z = item_obj->At("z")->AsXValue().GetDouble();
|
||||
}
|
||||
objects.push_back(obj);
|
||||
}
|
||||
_group_world_objects[ikey] = objects;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -838,7 +838,7 @@ namespace mtb
|
||||
{
|
||||
a8::reflect::Class* meta_class = nullptr;
|
||||
if (!meta_class) {
|
||||
meta_class = new a8::reflect::Class("MapThingGroup", 3, 0);
|
||||
meta_class = new a8::reflect::Class("MapThingGroup", 4, 0);
|
||||
meta_class->SetSimpleField(0, "mtGroupId", a8::reflect::ET_INT32, my_offsetof2(MapThingGroup, mtGroupId_));
|
||||
meta_class->SetSimpleField(1, "rule", a8::reflect::ET_STRING, my_offsetof2(MapThingGroup, rule_));
|
||||
meta_class->SetSimpleField(2, "mapThings", a8::reflect::ET_STRING, my_offsetof2(MapThingGroup, mapThings_));
|
||||
|
@ -3719,7 +3719,20 @@ void Room::CreateWorldObjects()
|
||||
}
|
||||
}
|
||||
if (born_point_hash_.size() < 10) {
|
||||
#if 1
|
||||
while (born_point_hash_.size() < 10) {
|
||||
int uniid = AllocUniid();
|
||||
std::shared_ptr<BornPoint> born_point = std::make_shared<BornPoint>();
|
||||
std::shared_ptr<mt::WorldObject> wo_meta = std::make_shared<mt::WorldObject>();
|
||||
wo_meta->pos.x = (60 + rand() % ((int)GetMapMeta()->map_width() - 100));
|
||||
wo_meta->pos.y = 6.250846862793;
|
||||
wo_meta->pos.z = (60 + rand() % ((int)GetMapMeta()->map_height() - 100));
|
||||
born_point->wo_meta = wo_meta;
|
||||
born_point_hash_[uniid] = born_point;
|
||||
}
|
||||
#else
|
||||
abort();
|
||||
#endif
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -7,6 +7,9 @@
|
||||
|
||||
SandTable::SandTable(Room* room): room_(room)
|
||||
{
|
||||
if (room_->IsNewBieRoom()) {
|
||||
return;
|
||||
}
|
||||
room->OpenRoomSwitch(kRoomSwitchDisableUseSkill);
|
||||
room->OpenRoomSwitch(kRoomSwitchDisableUseItem);
|
||||
room->OpenRoomSwitch(kRoomSwitchDisableShot);
|
||||
@ -26,6 +29,9 @@ SandTable::SandTable(Room* room): room_(room)
|
||||
|
||||
void SandTable::OnGameStart()
|
||||
{
|
||||
if (room_->IsNewBieRoom()) {
|
||||
return;
|
||||
}
|
||||
room_->OpenRoomSwitch(kRoomSwitchDisableMove);
|
||||
room_->OpenRoomSwitch(kRoomSwitchDisableUseSkill);
|
||||
room_->OpenRoomSwitch(kRoomSwitchDisableUseItem);
|
||||
|
Loading…
x
Reference in New Issue
Block a user