Skip to content

Commit

Permalink
Merge pull request #144 from Raicuparta/dev
Browse files Browse the repository at this point in the history
Master <- Dev
  • Loading branch information
misternebula authored Aug 9, 2020
2 parents 535f89c + dc39c2a commit 0e645cd
Show file tree
Hide file tree
Showing 6 changed files with 27 additions and 20 deletions.
1 change: 0 additions & 1 deletion QSB/Events/EventHandler.cs
Original file line number Diff line number Diff line change
Expand Up @@ -45,7 +45,6 @@ private void OnServerReceiveMessage(EventMessage message)
private void OnClientReceiveMessage(EventMessage message)
{
var player = PlayerRegistry.GetPlayer(message.SenderId);
player.IsReady = true;
if (message.SenderId == PlayerRegistry.LocalPlayer.NetId)
{
return;
Expand Down
1 change: 0 additions & 1 deletion QSB/Events/PlayerJoin.cs
Original file line number Diff line number Diff line change
Expand Up @@ -48,7 +48,6 @@ private void OnClientReceiveMessage(JoinMessage message)
{
var player = PlayerRegistry.CreatePlayer(message.SenderId);
player.Name = message.PlayerName;
player.IsReady = true;
DebugLog.ToAll(message.PlayerName, "joined!");
}
}
Expand Down
2 changes: 1 addition & 1 deletion QSB/PlayerInfo.cs
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ public class PlayerInfo
public QSBTool Translator => GetToolByType(ToolType.Translator);
public QSBTool ProbeLauncher => GetToolByType(ToolType.ProbeLauncher);
public string Name { get; set; }
public bool IsReady { get; set; }
public bool IsReady => Body != null;
public State State { get; private set; }

public PlayerInfo(uint id)
Expand Down
2 changes: 1 addition & 1 deletion QSB/Tools/PlayerToolsManager.cs
Original file line number Diff line number Diff line change
Expand Up @@ -124,7 +124,7 @@ private static void CreateTranslator()
tool.ArrivalDegrees = 5f;
tool.Type = ToolType.Translator;
tool.ToolGameObject = group.gameObject;
oldTranslator.enabled = false;
Object.Destroy(oldTranslator);

GetRenderer(translatorRoot, "Props_HEA_Translator_Geo").material = _playerToolsMaterial;
GetRenderer(translatorRoot, "Props_HEA_Translator_RotatingPart").material = _playerToolsMaterial;
Expand Down
39 changes: 24 additions & 15 deletions QSB/TransformSync/SectorSync.cs
Original file line number Diff line number Diff line change
@@ -1,14 +1,14 @@
using QSB.Messaging;
using System.Collections.Generic;
using QSB.Messaging;
using UnityEngine;
using System.Linq;
using QSB.Utility;
using UnityEngine.SceneManagement;

namespace QSB.TransformSync
{
public class SectorSync : MonoBehaviour
{
private Sector[] _allSectors;
private readonly List<Sector> _allSectors = new List<Sector>();
private MessageHandler<SectorMessage> _sectorHandler;

private readonly Sector.Name[] _sectorBlacklist =
Expand All @@ -19,7 +19,19 @@ public class SectorSync : MonoBehaviour

private void Awake()
{
SceneManager.sceneLoaded += OnSceneLoaded;
QSB.Helper.Events.Subscribe<Sector>(OWML.Common.Events.AfterAwake);
QSB.Helper.Events.Event += OnEvent;
}

private void OnEvent(MonoBehaviour behaviour, OWML.Common.Events ev)
{
if (behaviour is Sector sector && ev == OWML.Common.Events.AfterAwake)
{
if (!_allSectors.Contains(sector))
{
_allSectors.Add(sector);
}
}
}

private void Start()
Expand All @@ -29,11 +41,6 @@ private void Start()
_sectorHandler.OnServerReceiveMessage += OnServerReceiveMessage;
}

private void OnSceneLoaded(Scene scene, LoadSceneMode mode)
{
_allSectors = FindObjectsOfType<Sector>();
}

private void SendSector(uint id, Sector sector)
{
DebugLog.ToScreen($"Sending sector {sector.name} for id {id}");
Expand All @@ -50,23 +57,24 @@ private void SendSector(uint id, Sector sector)
private Sector FindSectorByName(Sector.Name sectorName, string goName)
{
return _allSectors?
.FirstOrDefault(sector => sector.GetName() == sectorName && sector.name == goName);
.FirstOrDefault(sector => sector != null &&
sector.GetName() == sectorName &&
sector.name == goName);
}

private void OnClientReceiveMessage(SectorMessage message)
{
var sectorName = (Sector.Name)message.SectorId;
DebugLog.ToScreen($"Received sector {message.SectorName} for id {message.SenderId}");

var sector = FindSectorByName(sectorName, message.SectorName);
var sector = FindSectorByName((Sector.Name)message.SectorId, message.SectorName);

if (sector == null)
{
DebugLog.ToScreen($"Sector {sectorName} not found");
DebugLog.ToScreen($"Sector {message.SectorName} not found");
return;
}

DebugLog.ToScreen($"Found sector {sectorName} for {message.SenderId}");
DebugLog.ToScreen($"Found sector {message.SectorName} for {message.SenderId}");
PlayerRegistry.GetTransformSync(message.SenderId).ReferenceTransform = sector.transform;
}

Expand Down Expand Up @@ -105,7 +113,8 @@ private void UpdateTransformSync(TransformSync transformSync)
private Sector GetClosestSector(Transform trans)
{
return _allSectors?
.Where(sector => !_sectorBlacklist.Contains(sector.GetName()))
.Where(sector => sector != null &&
!_sectorBlacklist.Contains(sector.GetName()))
.OrderBy(sector => Vector3.Distance(sector.transform.position, trans.position))
.First();
}
Expand Down
2 changes: 1 addition & 1 deletion QSB/manifest.json
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,6 @@
"name": "Quantum Space Buddies",
"description": "Adds online multiplayer to the game.",
"uniqueName": "Raicuparta.QuantumSpaceBuddies",
"version": "0.3.1",
"version": "0.3.2",
"owmlVersion": "0.7.2"
}

0 comments on commit 0e645cd

Please sign in to comment.