From d798b7cc9ca4cf5c11a3ddbf93ecfb11776a8f13 Mon Sep 17 00:00:00 2001 From: Reto Spoerri Date: Fri, 16 May 2025 09:15:44 +0200 Subject: [PATCH] using unitys internal hashing method. --- Viagg-io/Assets/Packages/MyBT/BTC/BTC.cs | 6 +++--- .../Packages/MyBT/BTC/ComponentController.cs | 15 ++++++++++++++- 2 files changed, 17 insertions(+), 4 deletions(-) diff --git a/Viagg-io/Assets/Packages/MyBT/BTC/BTC.cs b/Viagg-io/Assets/Packages/MyBT/BTC/BTC.cs index 428a5a52..e35bc5fa 100644 --- a/Viagg-io/Assets/Packages/MyBT/BTC/BTC.cs +++ b/Viagg-io/Assets/Packages/MyBT/BTC/BTC.cs @@ -61,7 +61,7 @@ public class BTC : MonoBehaviour { } public List namedObjects = new List(); - private Dictionary namedLookup = new(); + private Dictionary namedLookup = new(); private void OnEnable() { @@ -95,13 +95,13 @@ public class BTC : MonoBehaviour { foreach (var ctrl in namedObjects) { if (!string.IsNullOrEmpty(ctrl.objectName)) - namedLookup[ctrl.objectName] = ctrl; + namedLookup[ctrl.objectName.GetHashCode()] = ctrl; } } public T GetNamedObject(string objectName) where T : ComponentController { - if (namedLookup.TryGetValue(objectName, out var obj)) + if (namedLookup.TryGetValue(objectName.GetHashCode(), out var obj)) return obj as T; return null; } diff --git a/Viagg-io/Assets/Packages/MyBT/BTC/ComponentController.cs b/Viagg-io/Assets/Packages/MyBT/BTC/ComponentController.cs index 70c75e41..dfeb13c8 100644 --- a/Viagg-io/Assets/Packages/MyBT/BTC/ComponentController.cs +++ b/Viagg-io/Assets/Packages/MyBT/BTC/ComponentController.cs @@ -99,15 +99,28 @@ public class ComponentController : MonoBehaviour { public string roomId; public string uniqueId; + // cache the name + public string _name; public string objectName { get { - return name; + if (string.IsNullOrEmpty(_name)) { + _name = name; + } + return _name; } set { name = value; + _name = value; } } + public int objectHash { + get { + return name.GetHashCode(); + } + set {} + } + public virtual void Awake () { UpdateObject(); }