1
This commit is contained in:
parent
95c606490f
commit
f173868aae
@ -76,3 +76,10 @@ bool GlmHelper::IsEqual2D(const glm::vec3& v1, const glm::vec3& v2)
|
||||
{
|
||||
return std::abs(v1.x - v2.x) < 0.00001f && std::abs(v1.z - v2.z) < 0.00001f;
|
||||
}
|
||||
|
||||
bool GlmHelper::IsEqual3D(const glm::vec3& v1, const glm::vec3& v2)
|
||||
{
|
||||
return std::abs(v1.x - v2.x) < 0.00001f &&
|
||||
std::abs(v1.y - v2.y) < 0.00001f &&
|
||||
std::abs(v1.z - v2.z) < 0.00001f;
|
||||
}
|
||||
|
@ -14,6 +14,7 @@ class GlmHelper
|
||||
static bool IsZero(const glm::vec3& v);
|
||||
|
||||
static bool IsEqual2D(const glm::vec3& v1, const glm::vec3& v2);
|
||||
static bool IsEqual3D(const glm::vec3& v1, const glm::vec3& v2);
|
||||
|
||||
static float CalcAngle(const glm::vec3& v1, const glm::vec3& v2);
|
||||
|
||||
|
@ -2146,5 +2146,20 @@ void Room::NotifyNewsTicker(int msg_type, std::vector<std::string> msg_content)
|
||||
|
||||
void SyncObject::FillSMSyncPosition(cs::SMSyncPosition& sync_msg)
|
||||
{
|
||||
|
||||
if (!c.Get()) {
|
||||
return;
|
||||
}
|
||||
bool need_sync = !GlmHelper::IsEqual3D(c.Get()->GetPos().ToGlmVec3(), pos) ||
|
||||
!GlmHelper::IsEqual3D(c.Get()->GetAttackDir(), dir) ||
|
||||
c.Get()->room->GetFrameNo() - last_sync_frameno > SERVER_FRAME_RATE * 10;
|
||||
if (need_sync) {
|
||||
auto obj = sync_msg.add_obj_list();
|
||||
obj->set_obj_uniid(obj_uniid);
|
||||
TypeConvert::ToPb(c.Get()->GetPos().ToGlmVec3(), obj->mutable_pos());
|
||||
TypeConvert::ToPb(c.Get()->GetAttackDir(), obj->mutable_dir());
|
||||
|
||||
pos = c.Get()->GetPos().ToGlmVec3();
|
||||
dir = c.Get()->GetAttackDir();
|
||||
last_sync_frameno = c.Get()->room->GetFrameNo();
|
||||
}
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user