This commit is contained in:
Mister_Nebula 2021-07-06 16:28:12 +01:00
parent 6adb0b2ffb
commit 0194c6522d
7 changed files with 52 additions and 9 deletions

View File

@ -100,6 +100,8 @@ namespace QSB.SectorSync
return;
}
DebugLog.DebugWrite($"LOCAL Change {transformSync.AttachedObject.name} to sector {closestSector.Name}");
transformSync.SetReferenceSector(closestSector);
}
}

View File

@ -122,6 +122,8 @@ namespace QSB.SectorSync
return ordered.FirstOrDefault();
}
internal static object CalculateSectorScore(QSBSector x, Transform transform, object getValue) => throw new System.NotImplementedException();
public static float CalculateSectorScore(QSBSector sector, Transform trans, OWRigidbody rigidbody)
{
var distance = Vector3.Distance(sector.Position, trans.position); // want to be small

View File

@ -141,6 +141,11 @@ namespace QSB.Syncs.TransformSync
AttachedObject = HasAuthority ? InitLocalTransform() : InitRemoteTransform();
_isInitialized = true;
if (QSBCore.DebugMode)
{
DebugBoxManager.CreateBox(AttachedObject.transform, 0, _logName);
}
}
public override void SerializeTransform(QNetworkWriter writer)
@ -319,7 +324,7 @@ namespace QSB.Syncs.TransformSync
return Vector3.SmoothDamp(currentPosition, targetPosition, ref _positionSmoothVelocity, SmoothTime);
}
private void OnRenderObject()
protected virtual void OnRenderObject()
{
if (!QSBCore.WorldObjectsReady
|| !QSBCore.DebugMode
@ -340,7 +345,7 @@ namespace QSB.Syncs.TransformSync
Popcron.Gizmos.Line(_intermediaryTransform.GetTargetPosition_Unparented(), AttachedObject.transform.position, Color.red);
var color = HasMoved() ? Color.green : Color.yellow;
Popcron.Gizmos.Cube(AttachedObject.transform.position, AttachedObject.transform.rotation, Vector3.one / 2, color);
Popcron.Gizmos.Line(AttachedObject.transform.position, ReferenceTransform.position, Color.cyan);
//Popcron.Gizmos.Line(AttachedObject.transform.position, ReferenceTransform.position, Color.cyan);
}
}
}

View File

@ -1,7 +1,10 @@
using QSB.SectorSync;
using OWML.Utils;
using QSB.SectorSync;
using QSB.SectorSync.WorldObjects;
using QSB.Utility;
using QSB.WorldSync;
using QuantumUNET.Transport;
using System.Linq;
using UnityEngine;
namespace QSB.Syncs.TransformSync
@ -80,6 +83,7 @@ namespace QSB.Syncs.TransformSync
if (sector != ReferenceSector)
{
DebugLog.DebugWrite($"DESERAILIZE new sector ({ReferenceSector.Name} to {sector.Name})");
SetReferenceSector(sector);
}
@ -106,8 +110,35 @@ namespace QSB.Syncs.TransformSync
public void SetReferenceSector(QSBSector sector)
{
DebugLog.DebugWrite($"{Player.PlayerId}.{GetType().Name} set reference sector to {sector.Name}");
ReferenceSector = sector;
SetReferenceTransform(sector?.Transform);
}
protected override void OnRenderObject()
{
if (!QSBCore.WorldObjectsReady
|| !QSBCore.DebugMode
|| !QSBCore.ShowLinesInDebug
|| !IsReady
|| ReferenceTransform == null)
{
return;
}
base.OnRenderObject();
var allSectorsCurrentlyIn = SectorSync.SectorList;
var allSectorScores = allSectorsCurrentlyIn.Select(x => QSB.SectorSync.SectorSync.CalculateSectorScore(x, AttachedObject.transform, SectorSync.GetValue<OWRigidbody>("_attachedOWRigidbody")));
foreach (var sector in allSectorsCurrentlyIn)
{
var sectorScore = QSB.SectorSync.SectorSync.CalculateSectorScore(sector, AttachedObject.transform, SectorSync.GetValue<OWRigidbody>("_attachedOWRigidbody"));
var mappedScore = sectorScore.Map(allSectorScores.Min(), allSectorScores.Max(), 0, 1);
Popcron.Gizmos.Line(AttachedObject.transform.position, sector.Transform.position, Color.Lerp(Color.green, Color.red, mappedScore));
}
}
}
}

View File

@ -30,9 +30,9 @@ namespace QSB.Utility
newBox.transform.localPosition = new Vector3(0, vertOffset, 0);
newBox.transform.rotation = parent.rotation;
var lookAt = newBox.AddComponent<FaceActiveCamera>();
lookAt.SetValue("_useLookAt", false);
lookAt.SetValue("_localFacingVector", Vector3.back);
lookAt.SetValue("_localRotationAxis", Vector3.up);
lookAt.SetValue("_useLookAt", true);
//lookAt.SetValue("_localFacingVector", Vector3.back);
//lookAt.SetValue("_localRotationAxis", Vector3.up);
newBox.GetComponent<Text>().text = text;
newBox.AddComponent<ZOverride>();
newBox.SetActive(true);

View File

@ -53,11 +53,14 @@ namespace QSB.Utility
offset2 += _debugLineSpacing;
GUI.Label(new Rect(320, offset2, 400f, 20f), $" - L.Pos : {networkTransform.transform.localPosition}");
offset2 += _debugLineSpacing;
GUI.Label(new Rect(320, offset2, 400f, 20f), $" - W.Pos : {sector.Transform.InverseTransformPoint(networkTransform.AttachedObject.position)}");
offset2 += _debugLineSpacing;
GUI.Label(new Rect(320, offset2, 400f, 20f), $" - Sector : {(sector == null ? "NULL" : sector.Name)}");
offset2 += _debugLineSpacing;
var probeSync = BaseTransformSync.GetPlayers<PlayerProbeSync>(player);
if (probeSync == default)
{
return;
}
var probeSector = probeSync.ReferenceSector;
GUI.Label(new Rect(320, offset2, 400f, 20f), $" - Probe Sector : {(probeSector == null ? "NULL" : probeSector.Name)}");
offset2 += _debugLineSpacing;

View File

@ -4,6 +4,6 @@
"defaultServerIP": "localhost",
"port": 7777,
"debugMode": true,
"showLinesInDebug": false
"showLinesInDebug": true
}
}