summaryrefslogtreecommitdiff
path: root/VRCSDK3Worlds/Assets/Bakery/ftUniqueIDRegistry.cs
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--VRCSDK3Worlds/Assets/Bakery/ftUniqueIDRegistry.cs46
-rw-r--r--VRCSDK3Worlds/Assets/Bakery/ftUniqueIDRegistry.cs.meta12
2 files changed, 58 insertions, 0 deletions
diff --git a/VRCSDK3Worlds/Assets/Bakery/ftUniqueIDRegistry.cs b/VRCSDK3Worlds/Assets/Bakery/ftUniqueIDRegistry.cs
new file mode 100644
index 00000000..9faa1b43
--- /dev/null
+++ b/VRCSDK3Worlds/Assets/Bakery/ftUniqueIDRegistry.cs
@@ -0,0 +1,46 @@
+using System;
+using System.Collections;
+using System.Collections.Generic;
+using UnityEngine;
+
+public static class ftUniqueIDRegistry
+{
+ public static Dictionary<Int32, Int32> Mapping = new Dictionary<int, int>();
+ public static Dictionary<Int32, Int32> MappingInv = new Dictionary<int, int>();
+
+ public static void Deregister(Int32 id)
+ {
+ int instanceId = GetInstanceId(id);
+ if (instanceId < 0) return;
+ MappingInv.Remove(instanceId);
+ Mapping.Remove(id);
+ }
+
+ public static void Register(Int32 id, Int32 value)
+ {
+ if (!Mapping.ContainsKey(id)) {
+ Mapping[id] = value;
+ MappingInv[value] = id;
+ }
+ }
+
+ public static Int32 GetInstanceId(Int32 id)
+ {
+ Int32 instanceId;
+ if (!Mapping.TryGetValue(id, out instanceId))
+ {
+ return -1;
+ }
+ else
+ {
+ return instanceId;
+ }
+ }
+
+ public static Int32 GetUID(Int32 instanceId)
+ {
+ Int32 result;
+ if (MappingInv.TryGetValue(instanceId, out result)) return result;
+ return -1;
+ }
+}
diff --git a/VRCSDK3Worlds/Assets/Bakery/ftUniqueIDRegistry.cs.meta b/VRCSDK3Worlds/Assets/Bakery/ftUniqueIDRegistry.cs.meta
new file mode 100644
index 00000000..361f4742
--- /dev/null
+++ b/VRCSDK3Worlds/Assets/Bakery/ftUniqueIDRegistry.cs.meta
@@ -0,0 +1,12 @@
+fileFormatVersion: 2
+guid: 823b71f76e7ce5a48a9db822489f7b5d
+timeCreated: 1496221374
+licenseType: Store
+MonoImporter:
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant: