mirror of
https://github.com/misternebula/quantum-space-buddies.git
synced 2025-02-26 06:40:23 +00:00
add stuff for pc move
This commit is contained in:
parent
87b490e022
commit
28301b53f4
@ -17,22 +17,36 @@ namespace QSB.Player.Events
|
||||
{
|
||||
AboutId = LocalPlayerId,
|
||||
PlayerName = name,
|
||||
QSBVersion = QSBCore.QSBVersion
|
||||
QSBVersion = QSBCore.QSBVersion,
|
||||
GameVersion = QSBCore.GameVersion
|
||||
};
|
||||
|
||||
public override void OnReceiveRemote(bool server, PlayerJoinMessage message)
|
||||
{
|
||||
if (server && (message.QSBVersion != QSBCore.QSBVersion))
|
||||
if (message.QSBVersion != QSBCore.QSBVersion)
|
||||
{
|
||||
DebugLog.ToConsole($"Error - Client {message.PlayerName} connecting with wrong version. (Client:{message.QSBVersion}, Server:{QSBCore.QSBVersion})", MessageType.Error);
|
||||
QSBEventManager.FireEvent(EventNames.QSBPlayerKick, message.AboutId, KickReason.VersionNotMatching);
|
||||
if (server)
|
||||
{
|
||||
DebugLog.ToConsole($"Error - Client {message.PlayerName} connecting with wrong QSB version. (Client:{message.QSBVersion}, Server:{QSBCore.QSBVersion})", MessageType.Error);
|
||||
QSBEventManager.FireEvent(EventNames.QSBPlayerKick, message.AboutId, KickReason.QSBVersionNotMatching);
|
||||
}
|
||||
return;
|
||||
}
|
||||
|
||||
if (message.GameVersion != QSBCore.GameVersion)
|
||||
{
|
||||
if (server)
|
||||
{
|
||||
DebugLog.ToConsole($"Error - Client {message.PlayerName} connecting with wrong game version. (Client:{message.GameVersion}, Server:{QSBCore.GameVersion})", MessageType.Error);
|
||||
QSBEventManager.FireEvent(EventNames.QSBPlayerKick, message.AboutId, KickReason.GameVersionNotMatching);
|
||||
}
|
||||
return;
|
||||
}
|
||||
|
||||
var player = QSBPlayerManager.GetPlayer(message.AboutId);
|
||||
player.Name = message.PlayerName;
|
||||
DebugLog.ToAll($"{player.Name} joined!", MessageType.Info);
|
||||
DebugLog.DebugWrite($"{player.Name} joined as id {player.PlayerId}", MessageType.Info);
|
||||
DebugLog.DebugWrite($"{player.Name} joined. id:{player.PlayerId}, qsbVersion:{message.QSBVersion}, gameVersion:{message.GameVersion}", MessageType.Info);
|
||||
}
|
||||
|
||||
public override void OnReceiveLocal(bool server, PlayerJoinMessage message)
|
||||
|
@ -7,12 +7,14 @@ namespace QSB.Player.Events
|
||||
{
|
||||
public string PlayerName { get; set; }
|
||||
public string QSBVersion { get; set; }
|
||||
public string GameVersion { get; set; }
|
||||
|
||||
public override void Deserialize(QNetworkReader reader)
|
||||
{
|
||||
base.Deserialize(reader);
|
||||
PlayerName = reader.ReadString();
|
||||
QSBVersion = reader.ReadString();
|
||||
GameVersion = reader.ReadString();
|
||||
}
|
||||
|
||||
public override void Serialize(QNetworkWriter writer)
|
||||
@ -20,6 +22,7 @@ namespace QSB.Player.Events
|
||||
base.Serialize(writer);
|
||||
writer.Write(PlayerName);
|
||||
writer.Write(QSBVersion);
|
||||
writer.Write(GameVersion);
|
||||
}
|
||||
}
|
||||
}
|
@ -2,6 +2,7 @@
|
||||
{
|
||||
public enum KickReason
|
||||
{
|
||||
VersionNotMatching
|
||||
QSBVersionNotMatching,
|
||||
GameVersionNotMatching
|
||||
}
|
||||
}
|
||||
|
@ -63,6 +63,7 @@ namespace QSB
|
||||
public static bool IsHost => QNetworkServer.active;
|
||||
public static bool IsInMultiplayer => QNetworkManager.singleton.isNetworkActive;
|
||||
public static string QSBVersion => Helper.Manifest.Version;
|
||||
public static string GameVersion => Application.version;
|
||||
|
||||
public void Awake()
|
||||
{
|
||||
|
@ -4,6 +4,7 @@ using QSB.SectorSync.WorldObjects;
|
||||
using QSB.Syncs;
|
||||
using QSB.Utility;
|
||||
using QSB.WorldSync;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using UnityEngine;
|
||||
@ -31,6 +32,7 @@ namespace QSB.SectorSync
|
||||
|
||||
public void Init<T>(SectorDetector detector, ISectoredSync<T> sectoredSync)
|
||||
{
|
||||
DebugLog.DebugWrite($"INIT SECTOR SYNC detector:{detector.name}");
|
||||
if (_sectorDetector != null)
|
||||
{
|
||||
_sectorDetector.OnEnterSector -= AddSector;
|
||||
@ -119,7 +121,7 @@ namespace QSB.SectorSync
|
||||
|
||||
if (!_isReady)
|
||||
{
|
||||
DebugLog.ToConsole($"Warning - Tried to use GetClosestSector before it was initialized. Transform:{trans.name}", MessageType.Warning);
|
||||
DebugLog.ToConsole($"Warning - Tried to use GetClosestSector before it was initialized. Transform:{trans.name} Stacktrace:{Environment.StackTrace}", MessageType.Warning);
|
||||
return null;
|
||||
}
|
||||
|
||||
|
@ -58,11 +58,6 @@ namespace QSB.Syncs.RigidbodySync
|
||||
_intermediaryTransform = new IntermediaryTransform(transform);
|
||||
}
|
||||
|
||||
if (!QSBCore.WorldObjectsReady)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
if (ReferenceSector != null)
|
||||
{
|
||||
writer.Write(ReferenceSector.ObjectId);
|
||||
|
@ -51,11 +51,6 @@ namespace QSB.Syncs.RigidbodySync
|
||||
_intermediaryTransform = new IntermediaryTransform(transform);
|
||||
}
|
||||
|
||||
if (!QSBCore.WorldObjectsReady)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
/* We need to send :
|
||||
* - Position
|
||||
* - Rotation
|
||||
|
@ -50,6 +50,12 @@ namespace QSB.Syncs.TransformSync
|
||||
_intermediaryTransform = new IntermediaryTransform(transform);
|
||||
QSBSceneManager.OnSceneLoaded += OnSceneLoaded;
|
||||
|
||||
if (Player == null)
|
||||
{
|
||||
DebugLog.ToConsole($"Error - Player in start of {_logName} was null!", MessageType.Error);
|
||||
return;
|
||||
}
|
||||
|
||||
if (!_storedTransformSyncs.ContainsKey(Player))
|
||||
{
|
||||
_storedTransformSyncs.Add(Player, new Dictionary<Type, BaseTransformSync>());
|
||||
@ -141,11 +147,6 @@ namespace QSB.Syncs.TransformSync
|
||||
_intermediaryTransform = new IntermediaryTransform(transform);
|
||||
}
|
||||
|
||||
if (!QSBCore.WorldObjectsReady)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
var worldPos = _intermediaryTransform.GetPosition();
|
||||
var worldRot = _intermediaryTransform.GetRotation();
|
||||
writer.Write(worldPos);
|
||||
|
@ -102,19 +102,12 @@ namespace QSB.Syncs.TransformSync
|
||||
_intermediaryTransform = new IntermediaryTransform(transform);
|
||||
}
|
||||
|
||||
if (!QSBCore.WorldObjectsReady)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
if (!QSBPlayerManager.PlayerExists(PlayerId))
|
||||
{
|
||||
DebugLog.ToConsole($"Warning - Tried to serialize {_logName} before the right player exists.", OWML.Common.MessageType.Warning);
|
||||
writer.Write(-1);
|
||||
}
|
||||
else if (!Player.PlayerStates.IsReady)
|
||||
{
|
||||
DebugLog.ToConsole($"Warning - Tried to serialize {_logName} before the player was ready.", OWML.Common.MessageType.Warning);
|
||||
writer.Write(-1);
|
||||
}
|
||||
|
||||
|
@ -50,11 +50,6 @@ namespace QSB.Syncs.TransformSync
|
||||
_intermediaryTransform = new IntermediaryTransform(transform);
|
||||
}
|
||||
|
||||
if (!QSBCore.WorldObjectsReady)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
var worldPos = _intermediaryTransform.GetPosition();
|
||||
var worldRot = _intermediaryTransform.GetRotation();
|
||||
writer.Write(worldPos);
|
||||
|
@ -366,6 +366,11 @@ namespace QSB.TimeSync
|
||||
ResetTimeScale();
|
||||
}
|
||||
}
|
||||
|
||||
if (CurrentState == State.Loaded)
|
||||
{
|
||||
CheckTimeDifference();
|
||||
}
|
||||
}
|
||||
|
||||
private void CheckTimeDifference()
|
||||
|
Loading…
x
Reference in New Issue
Block a user