summaryrefslogtreecommitdiff
path: root/WorldlineKeepers/Assets/ThirdParty/StringUtil/VStringShareObject.cs
diff options
context:
space:
mode:
authorchai <215380520@qq.com>2023-05-30 14:27:59 +0800
committerchai <215380520@qq.com>2023-05-30 14:27:59 +0800
commit2fcb4625389b1594bbefdbaf2e038b2cfffa8ead (patch)
tree87f57dbfdaf3d11ebf33869b76f12cc475c9a033 /WorldlineKeepers/Assets/ThirdParty/StringUtil/VStringShareObject.cs
parent38e177b0fdf130d6a361ab51c80b5b56ee83f28e (diff)
+ json extends
Diffstat (limited to 'WorldlineKeepers/Assets/ThirdParty/StringUtil/VStringShareObject.cs')
-rw-r--r--WorldlineKeepers/Assets/ThirdParty/StringUtil/VStringShareObject.cs54
1 files changed, 54 insertions, 0 deletions
diff --git a/WorldlineKeepers/Assets/ThirdParty/StringUtil/VStringShareObject.cs b/WorldlineKeepers/Assets/ThirdParty/StringUtil/VStringShareObject.cs
new file mode 100644
index 0000000..0cd147d
--- /dev/null
+++ b/WorldlineKeepers/Assets/ThirdParty/StringUtil/VStringShareObject.cs
@@ -0,0 +1,54 @@
+using System.Collections;
+using System.Collections.Generic;
+using UnityEngine;
+
+
+
+public static class VStringShareObject
+{
+
+ private static volatile object lockThis = new object();
+ private static int _internalVsIndex;
+ private static VString[] _internalVSArray = new VString[]
+ {
+ new VString(2048),
+ new VString(2048),
+ new VString(2048),
+ new VString(2048),
+ new VString(2048),
+ new VString(2048),
+ new VString(2048),
+ new VString(2048),
+ new VString(2048),
+ new VString(2048),
+ new VString(2048),
+ new VString(2048),
+ new VString(2048),
+ new VString(2048),
+ new VString(2048)
+ };
+
+
+ public static VString GetShareVString()
+ {
+ lock(lockThis)
+ {
+ _internalVsIndex = (_internalVsIndex + 1) % _internalVSArray.Length;
+ VString vString = _internalVSArray[_internalVsIndex];
+ vString.Clear();
+ return vString;
+ }
+ }
+
+ public static bool UseShareObject(string str)
+ {
+ for (int i = 0; i < _internalVSArray.Length; ++i)
+ {
+ if (string.ReferenceEquals(str, _internalVSArray[i].GetString()))
+ {
+ return true;
+ }
+ }
+ return false;
+ }
+} \ No newline at end of file