Compare commits

...

1 Commits

Author SHA1 Message Date
Reto Spoerri
d798b7cc9c using unitys internal hashing method. 2025-05-16 09:15:44 +02:00
2 changed files with 17 additions and 4 deletions

View File

@ -61,7 +61,7 @@ public class BTC : MonoBehaviour {
}
public List<ComponentController> namedObjects = new List<ComponentController>();
private Dictionary<string, ComponentController> namedLookup = new();
private Dictionary<int, ComponentController> 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<T>(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;
}

View File

@ -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();
}