From c451112e9471419a15bd6a39246521ef35432f3e Mon Sep 17 00:00:00 2001 From: aozhiwei Date: Fri, 6 Jan 2023 10:08:56 +0800 Subject: [PATCH] 1 --- server/gameserver/mapinstance.cc | 56 +++++--------------------------- server/gameserver/mapinstance.h | 1 + 2 files changed, 10 insertions(+), 47 deletions(-) diff --git a/server/gameserver/mapinstance.cc b/server/gameserver/mapinstance.cc index 183e9a98..a370eba5 100644 --- a/server/gameserver/mapinstance.cc +++ b/server/gameserver/mapinstance.cc @@ -162,53 +162,7 @@ void MapInstance::Init() } navmesh_query_ = new dtNavMeshQuery(); navmesh_query_->init(navmesh_, 1024); -#if 0 - { - - dtTileRef tile_ref = navmesh_->getTileRefAt(0, 0, 0); - - glm::vec3 start; - glm::vec3 end; - glm::vec3 hit_point; - start.x = 1.45; - start.y = 0.0; - start.z = 1.45; - end = start; - end.x = 1035; - end.y = 0; - end.z = 51.25; - bool hit_result = false; - #if 0 - auto a = Raycast(0, start, end, hit_point, hit_result); - - a8::XPrintf("ret:%d hit_point:%f,%f,%f\n", - { - a, - hit_point.x, - hit_point.y, - hit_point.z - }); - int i = 0; - #endif - } - { - std::set group_y; - const dtMeshTile* tile = navmesh_->getTileAt(0, 0, 0); - for (int i = 0; i < tile->header->polyCount; ++i) { - dtPoly* poly = &tile->polys[i]; - for (int ii = 0; ii < poly->vertCount; ++ii) { - const float* va = &tile->verts[poly->verts[ii] * 3]; - float y = va[1]; - group_y.insert(y); - } - } - a8::XPrintf("group_y>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>\n", {}); - for (auto& itr : group_y) { - a8::XPrintf("y:%f\n", {itr}); - } - a8::XPrintf("group_y<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<\n", {}); - } -#endif + MarkMapAreaPolys(); } void MapInstance::UnInit() @@ -647,3 +601,11 @@ dtPoly* MapInstance::GetPoly(glm::vec3 pos) } return nullptr; } + +void MapInstance::MarkMapAreaPolys() +{ + const dtMeshTile* tile = navmesh_->getTileAt(0, 0, 0); + if (!tile) { + abort(); + } +} diff --git a/server/gameserver/mapinstance.h b/server/gameserver/mapinstance.h index c78d9756..9cd1e974 100644 --- a/server/gameserver/mapinstance.h +++ b/server/gameserver/mapinstance.h @@ -45,6 +45,7 @@ class MapInstance : public std::enable_shared_from_this private: void CreateThings(); int AllocUniid(); + void MarkMapAreaPolys(); private: dtNavMesh* navmesh_ = nullptr;