Initial draft

This commit is contained in:
Ylva Selling
2022-11-22 10:49:58 -05:00
parent 9ae5e16b90
commit e37f3a2948
2 changed files with 27 additions and 22 deletions

View File

@@ -576,26 +576,31 @@ void ScriptEngine::writeLog(const std::string& script) {
void ScriptEngine::preSync(bool isMaster) {
ZoneScoped
if (!isMaster) {
return;
}
std::lock_guard guard(_clientScriptsMutex);
while (!_incomingScripts.empty()) {
QueueItem item = std::move(_incomingScripts.front());
_incomingScripts.pop();
if (isMaster) {
while (!_incomingScripts.empty()) {
QueueItem item = std::move(_incomingScripts.front());
_incomingScripts.pop();
_scriptsToSync.push_back(item.script);
const bool remoteScripting = item.remoteScripting;
_scriptsToSync.push_back(item.script);
const bool remoteScripting = item.remoteScripting;
// Not really a received script but the master also needs to run the script...
_masterScriptQueue.push(item);
// Not really a received script but the master also needs to run the script...
_masterScriptQueue.push(item);
if (global::parallelPeer->isHost() && remoteScripting) {
global::parallelPeer->sendScript(item.script);
if (global::parallelPeer->isHost() && remoteScripting) {
global::parallelPeer->sendScript(item.script);
}
if (global::sessionRecording->isRecording()) {
global::sessionRecording->saveScriptKeyframeToTimeline(item.script);
}
}
if (global::sessionRecording->isRecording()) {
global::sessionRecording->saveScriptKeyframeToTimeline(item.script);
}
else {
while (!_incomingScripts.empty()) {
QueueItem item = std::move(_incomingScripts.front());
_incomingScripts.pop();
_clientScriptQueue.push(item.script);
}
}
}