فهرست منبع

Allow timer pause pack on opening settings menu in battle

Ivan Savenko 1 سال پیش
والد
کامیت
5df98f3eca
1فایلهای تغییر یافته به همراه8 افزوده شده و 2 حذف شده
  1. 8 2
      server/queries/BattleQueries.cpp

+ 8 - 2
server/queries/BattleQueries.cpp

@@ -18,6 +18,7 @@
 #include "../../lib/battle/IBattleState.h"
 #include "../../lib/mapObjects/CGObjectInstance.h"
 #include "../../lib/networkPacks/PacksForServer.h"
+#include "../../lib/serializer/Cast.h"
 
 void CBattleQuery::notifyObjectAboutRemoval(const CObjectVisitQuery & objectVisit) const
 {
@@ -46,8 +47,13 @@ CBattleQuery::CBattleQuery(CGameHandler * owner):
 
 bool CBattleQuery::blocksPack(const CPack * pack) const
 {
-	const char * name = typeid(*pack).name();
-	return strcmp(name, typeid(MakeAction).name()) != 0;
+	if(dynamic_ptr_cast<MakeAction>(pack) != nullptr)
+		return false;
+
+	if(dynamic_ptr_cast<GamePause>(pack) != nullptr)
+		return false;
+
+	return true;
 }
 
 void CBattleQuery::onRemoval(PlayerColor color)