Unity Compatibility

This commit is contained in:
Pascal Serrarens 2025-02-19 11:04:56 +01:00
parent 062aafd19a
commit 4044b86a9d
15 changed files with 42 additions and 14 deletions

View File

@ -1,6 +1,9 @@
using System;
using System.Diagnostics;
using Passer.LinearAlgebra;
#if UNITY_5_3_OR_NEWER
using Vector3Float = UnityEngine.Vector3;
#endif
public readonly struct Slice {
public int start { get; }

View File

@ -1,3 +1,8 @@
using System;
#if UNITY_5_3_OR_NEWER
using Vector3Float = UnityEngine.Vector3;
#endif
namespace Passer.LinearAlgebra {
public class Spherical {
public float distance;

View File

@ -1,9 +1,6 @@
#if UNITY_5_3_OR_NEWER
using Passer.LinearAlgebra.Vector3Float = UnityEngine.Vector3
#else
#if !UNITY_5_3_OR_NEWER
namespace Passer.LinearAlgebra {
public class Vector3Of<T> {
public T x;
public T y;

View File

@ -24,7 +24,7 @@ namespace Passer.Control.Core {
public CustomMsg(byte networkId, Thing thing) : base() {
this.networkId = networkId;
this.thingId = thing.id;
this.bytes = [];
this.bytes = new byte[0];
}
public override byte Serialize(ref byte[] buffer) {

View File

@ -1,3 +1,5 @@
using System.IO;
using System.Threading.Tasks;
namespace Passer.Control.Core {

View File

@ -1,3 +1,6 @@
using System.IO;
using System.Threading.Tasks;
namespace Passer.Control.Core {
public class InvestigateMsg : IMessage {

View File

@ -1,3 +1,6 @@
using System.Threading.Tasks;
using System.IO;
namespace Passer.Control.Core {
public class IMessage {

View File

@ -1,3 +1,5 @@
using System.IO;
using System.Threading.Tasks;
using Passer.LinearAlgebra;
namespace Passer.Control.Core {

View File

@ -1,6 +1,10 @@
using System.IO;
using System.Threading.Tasks;
namespace Passer.Control.Core {
public class TextMsg(byte[] buffer) : IMessage(buffer) {
public class TextMsg : IMessage {
public TextMsg(byte[] buffer) : base(buffer) {}
public const byte Id = 0xB0;
public string text = "";

View File

@ -1,3 +1,4 @@
#nullable enable
using System;
using System.Collections.Generic;
@ -17,7 +18,7 @@ namespace Passer.Control.Core {
this.port = port;
}
protected readonly List<Thing> things = [];
protected readonly List<Thing> things = new();
public Thing? Get(byte networkId, byte thingId) {
Thing? thing = things.Find(aThing => Thing.IsThing(aThing, networkId, thingId));

View File

@ -2,9 +2,11 @@ using System;
namespace Passer.Control.Core {
public class TemperatureSensor(Participant participant, byte networkId, byte thingId) : Thing(participant, networkId, thingId, (byte)Type.TemperatureSensor) {
public class TemperatureSensor : Thing {
public float temp = 0;
public TemperatureSensor(Participant participant, byte networkId, byte thingId) : base(participant, networkId, thingId, (byte)Type.TemperatureSensor) {}
public override void ProcessBinary(byte[] bytes) {
byte ix = 0;
this.temp = LowLevelMessages.ReceiveFloat16(bytes, ref ix);

View File

@ -1,3 +1,4 @@
#nullable enable
using System;
using System.Collections.Generic;
using System.Net;

View File

@ -1,3 +1,4 @@
#nullable enable
using System;
using System.Collections.Generic;
using Passer.LinearAlgebra;
@ -128,7 +129,7 @@ namespace Passer.Control.Core {
#if UNITY_5_3_OR_NEWER
[NonSerialized]
public Unity.Thing component;
public Unity.Thing? component = null;
#endif
#endregion Properties
@ -188,7 +189,7 @@ namespace Passer.Control.Core {
//---------- All Things
private static readonly List<Thing> allThings = [];
// private static readonly List<Thing> allThings = new();
public delegate void ThingHandler(Thing t);
public static event ThingHandler OnNewThing = delegate {};

View File

@ -12,8 +12,10 @@ namespace Passer.Control.Unity {
}
protected virtual void Start() {
if (core == null)
SetCoreThing(new Core.DistanceSensor());
if (core == null) {
SiteServer siteServer = FindAnyObjectByType<SiteServer>();
SetCoreThing(new Core.DistanceSensor(siteServer.site));
}
StartCoroutine(MeasureDistance());
}

View File

@ -10,8 +10,10 @@ namespace Passer.Control.Unity {
}
protected virtual void Start() {
if (core == null)
SetCoreThing(new Core.TouchSensor());
if (core == null) {
SiteServer siteServer = FindAnyObjectByType<SiteServer>();
SetCoreThing(new Core.TouchSensor(siteServer.site));
}
}