mirror of
https://gitea.msk.dinamika-avia.ru/Constanta-Design/RRJServer.git
synced 2026-03-28 19:55:48 +03:00
cfiController 1 + fix bug BUSY FREE not for Unity
This commit is contained in:
@@ -105,17 +105,26 @@ void CommonClientHandler::slot_StatusTasksFIMofTraineeChanged(int trainee_id)
|
||||
}*/
|
||||
}
|
||||
|
||||
void CommonClientHandler::slot_sendPacketToAllClients(PacketType packetType)
|
||||
void CommonClientHandler::slot_sendPacketToAllClients(PacketType packetType, bool flOnlyGUI)
|
||||
{
|
||||
foreach(int idSocket, clientsMap->keys())
|
||||
{
|
||||
ClientHandler *handler = clientsMap->value(idSocket);
|
||||
|
||||
if(flOnlyGUI)
|
||||
{
|
||||
if(handler->getClient()->getTypeClient() != TypeClientAutorization::TYPE_GUI)
|
||||
continue;
|
||||
}
|
||||
|
||||
//if(packetType != PacketType::BUSY && packetType != PacketType::FREE)
|
||||
if (!handler->getClient()->getIsLoggedIn()) continue;
|
||||
|
||||
handler->sendPacketType(packetType);
|
||||
Logger::instance().log("AllSending " + handler->getClient()->getLogin() + " " + enumToString(packetType));
|
||||
if(flOnlyGUI)
|
||||
Logger::instance().log("All GUI Sending " + handler->getClient()->getLogin() + " " + enumToString(packetType));
|
||||
else
|
||||
Logger::instance().log("All Sending " + handler->getClient()->getLogin() + " " + enumToString(packetType));
|
||||
}
|
||||
|
||||
//emit sigSetServerState(packetType);
|
||||
|
||||
@@ -29,7 +29,7 @@ public:
|
||||
void slot_DocsChanged();
|
||||
|
||||
public slots:
|
||||
void slot_sendPacketToAllClients(PacketType packetType);
|
||||
void slot_sendPacketToAllClients(PacketType packetType, bool flOnlyGUI);
|
||||
|
||||
signals:
|
||||
//void sigSetServerState(PacketType packetType);
|
||||
|
||||
@@ -98,12 +98,12 @@ void ProcessingSystem::processingClientAutorization(ClientHandler *client, Clien
|
||||
client->sendVersion();
|
||||
|
||||
//Отправляем состояние блокировки
|
||||
/**/
|
||||
/*
|
||||
if(server->getStateBlockAutorization() == EStateBlockAutorization::blocked)
|
||||
client->sendPacketType(PacketType::BUSY);
|
||||
else
|
||||
client->sendPacketType(PacketType::FREE);
|
||||
|
||||
*/
|
||||
|
||||
//client->sendPacketType(PacketType::BUSY);
|
||||
//client->sendPacketType(PacketType::FREE);
|
||||
|
||||
@@ -50,7 +50,7 @@ void UpdateController::changeAssetVersion(QString versionName)
|
||||
currentStreamingPath = assetManager->setVersion(versionName);
|
||||
setUpCurrentServerHash();
|
||||
emit sigUpdateDocs();
|
||||
commonClientHandler->slot_sendPacketToAllClients(PacketType::HASH_READY);
|
||||
commonClientHandler->slot_sendPacketToAllClients(PacketType::HASH_READY, false);
|
||||
commonClientHandler->sendCurrentVersionToAllClient();
|
||||
|
||||
//commonClientHandler->slot_sendPacketToAllClients(PacketType::FREE);
|
||||
@@ -118,10 +118,10 @@ void UpdateController::calculateFullHash()
|
||||
void UpdateController::calculateFullHashWithSetup()
|
||||
{
|
||||
bool res = emit signal_BlockAutorization(true, "SERVER", "CalculateFullHashWithSetup");
|
||||
commonClientHandler->slot_sendPacketToAllClients(PacketType::RECALCULATE_HASH);
|
||||
commonClientHandler->slot_sendPacketToAllClients(PacketType::RECALCULATE_HASH, false);
|
||||
calculateCurrentSharedHash();
|
||||
setUpCurrentServerHash();
|
||||
commonClientHandler->slot_sendPacketToAllClients(PacketType::HASH_READY);
|
||||
commonClientHandler->slot_sendPacketToAllClients(PacketType::HASH_READY, false);
|
||||
res = emit signal_BlockAutorization(false, "SERVER", "CalculateFullHashWithSetup");
|
||||
}
|
||||
|
||||
|
||||
@@ -2,9 +2,10 @@
|
||||
|
||||
CfiController::CfiController(UpdateController* updateController, QObject *parent) :
|
||||
QObject(parent),
|
||||
updateController(updateController)
|
||||
updateController(updateController),
|
||||
germanLocale(nullptr)
|
||||
{
|
||||
|
||||
germanLocale = new QLocale(QLocale::German);
|
||||
}
|
||||
|
||||
CfiController::~CfiController()
|
||||
@@ -84,15 +85,15 @@ bool CfiController::parsingCfiXML()
|
||||
setCamPos.state = nodeMapSetcamerapos.namedItem("state").nodeValue();
|
||||
setCamPos.panelName = nodeMapSetcamerapos.namedItem("panelName").nodeValue();
|
||||
|
||||
setCamPos.prevCamOffsetMARposY = nodeMapSetcamerapos.namedItem("prevCamOffsetMARposY").nodeValue().toFloat();
|
||||
setCamPos.camOffsetMARposY = nodeMapSetcamerapos.namedItem("camOffsetMARposY").nodeValue().toFloat();
|
||||
setCamPos.prevCharControlerHeight = nodeMapSetcamerapos.namedItem("prevCharControlerHeight").nodeValue().toFloat();
|
||||
setCamPos.charControlerHeight = nodeMapSetcamerapos.namedItem("charControlerHeight").nodeValue().toFloat();
|
||||
setCamPos.FOV = nodeMapSetcamerapos.namedItem("FOV").nodeValue().toFloat();
|
||||
setCamPos.moveSpeed = nodeMapSetcamerapos.namedItem("moveSpeed").nodeValue().toFloat();
|
||||
setCamPos.projectionSize = nodeMapSetcamerapos.namedItem("projectionSize").nodeValue().toFloat();
|
||||
setCamPos.offset = nodeMapSetcamerapos.namedItem("offset").nodeValue().toFloat();
|
||||
setCamPos.prevPlayerRot = nodeMapSetcamerapos.namedItem("prevPlayerRot").nodeValue().toFloat();
|
||||
setCamPos.prevCamOffsetMARposY = germanLocale->toFloat(nodeMapSetcamerapos.namedItem("prevCamOffsetMARposY").nodeValue());
|
||||
setCamPos.camOffsetMARposY = germanLocale->toFloat(nodeMapSetcamerapos.namedItem("camOffsetMARposY").nodeValue());
|
||||
setCamPos.prevCharControlerHeight = germanLocale->toFloat(nodeMapSetcamerapos.namedItem("prevCharControlerHeight").nodeValue());
|
||||
setCamPos.charControlerHeight = germanLocale->toFloat(nodeMapSetcamerapos.namedItem("charControlerHeight").nodeValue());
|
||||
setCamPos.FOV = germanLocale->toFloat(nodeMapSetcamerapos.namedItem("FOV").nodeValue());
|
||||
setCamPos.moveSpeed = germanLocale->toFloat(nodeMapSetcamerapos.namedItem("moveSpeed").nodeValue());
|
||||
setCamPos.projectionSize = germanLocale->toFloat(nodeMapSetcamerapos.namedItem("projectionSize").nodeValue());
|
||||
setCamPos.offset = germanLocale->toFloat(nodeMapSetcamerapos.namedItem("offset").nodeValue());
|
||||
setCamPos.prevPlayerRot = germanLocale->toFloat(nodeMapSetcamerapos.namedItem("prevPlayerRot").nodeValue());
|
||||
|
||||
//childs setcamerapos
|
||||
QDomElement loc_Element;
|
||||
@@ -132,9 +133,9 @@ QVector3D CfiController::getXYZfromElement(QDomElement element)
|
||||
{
|
||||
QVector3D vector3D;
|
||||
QDomNamedNodeMap nodeMap = element.attributes();
|
||||
vector3D.setX(nodeMap.namedItem("x").nodeValue().toFloat());
|
||||
vector3D.setY(nodeMap.namedItem("y").nodeValue().toFloat());
|
||||
vector3D.setZ(nodeMap.namedItem("z").nodeValue().toFloat());
|
||||
vector3D.setX(germanLocale->toFloat(nodeMap.namedItem("x").nodeValue()));
|
||||
vector3D.setY(germanLocale->toFloat(nodeMap.namedItem("y").nodeValue()));
|
||||
vector3D.setZ(germanLocale->toFloat(nodeMap.namedItem("z").nodeValue()));
|
||||
return vector3D;
|
||||
}
|
||||
|
||||
@@ -142,7 +143,7 @@ QVector2D CfiController::getXYfromElement(QDomElement element)
|
||||
{
|
||||
QVector2D vector2D;
|
||||
QDomNamedNodeMap nodeMap = element.attributes();
|
||||
vector2D.setX(nodeMap.namedItem("x").nodeValue().toFloat());
|
||||
vector2D.setY(nodeMap.namedItem("y").nodeValue().toFloat());
|
||||
vector2D.setX(germanLocale->toFloat(nodeMap.namedItem("x").nodeValue()));
|
||||
vector2D.setY(germanLocale->toFloat(nodeMap.namedItem("y").nodeValue()));
|
||||
return vector2D;
|
||||
}
|
||||
|
||||
@@ -3,6 +3,7 @@
|
||||
|
||||
#include <QObject>
|
||||
#include <QMutex>
|
||||
#include <QLocale>
|
||||
#include "updatecontroller.h"
|
||||
#include "cfiobject.h"
|
||||
|
||||
@@ -30,6 +31,8 @@ private:
|
||||
QMutex mtxAccess;
|
||||
|
||||
QList<CfiObject> listCfiObjects;
|
||||
|
||||
QLocale* germanLocale;
|
||||
};
|
||||
|
||||
#endif // CFICONTROLLER_H
|
||||
|
||||
@@ -239,10 +239,12 @@ bool MultiThreadServer::slot_BlockAutorization(bool block, QString whoFullName,
|
||||
|
||||
if(res)
|
||||
{
|
||||
/**/
|
||||
if(blockRes)
|
||||
emit signal_sendPacketToAllClients(PacketType::BUSY);
|
||||
emit signal_sendPacketToAllClients(PacketType::BUSY, true);
|
||||
else
|
||||
emit signal_sendPacketToAllClients(PacketType::FREE);
|
||||
emit signal_sendPacketToAllClients(PacketType::FREE, true);
|
||||
|
||||
|
||||
for(QString keyLocal : blockersMap.keys())
|
||||
{
|
||||
|
||||
@@ -47,7 +47,7 @@ signals:
|
||||
void signalStopSendFile();
|
||||
|
||||
void signal_BlockAutorizationIndicate(bool block, QString blocker, QString types);
|
||||
void signal_sendPacketToAllClients(PacketType packetType);
|
||||
void signal_sendPacketToAllClients(PacketType packetType, bool flOnlyGUI);
|
||||
|
||||
public slots:
|
||||
void slotDisconnectClient(QString peerAddress, QString peerPort);
|
||||
|
||||
@@ -155,7 +155,7 @@ void ServerLMSWidget::slot_UpdateDocs()
|
||||
QApplication::restoreOverrideCursor();
|
||||
|
||||
//TODO для теста
|
||||
slot_ParsingCfiXML();
|
||||
//slot_ParsingCfiXML();
|
||||
}
|
||||
|
||||
void ServerLMSWidget::slot_ParsingCfiXML()
|
||||
|
||||
Reference in New Issue
Block a user