summaryrefslogtreecommitdiff
path: root/Thronefall_1_57/Decompile/I2.Loc/BaseSpecializationManager.cs
diff options
context:
space:
mode:
Diffstat (limited to 'Thronefall_1_57/Decompile/I2.Loc/BaseSpecializationManager.cs')
-rw-r--r--Thronefall_1_57/Decompile/I2.Loc/BaseSpecializationManager.cs52
1 files changed, 52 insertions, 0 deletions
diff --git a/Thronefall_1_57/Decompile/I2.Loc/BaseSpecializationManager.cs b/Thronefall_1_57/Decompile/I2.Loc/BaseSpecializationManager.cs
new file mode 100644
index 0000000..bb91640
--- /dev/null
+++ b/Thronefall_1_57/Decompile/I2.Loc/BaseSpecializationManager.cs
@@ -0,0 +1,52 @@
+using System;
+using System.Collections.Generic;
+
+namespace I2.Loc;
+
+public class BaseSpecializationManager
+{
+ public string[] mSpecializations;
+
+ public Dictionary<string, string> mSpecializationsFallbacks;
+
+ public virtual void InitializeSpecializations()
+ {
+ mSpecializations = new string[12]
+ {
+ "Any", "PC", "Touch", "Controller", "VR", "XBox", "PS4", "OculusVR", "ViveVR", "GearVR",
+ "Android", "IOS"
+ };
+ mSpecializationsFallbacks = new Dictionary<string, string>(StringComparer.Ordinal)
+ {
+ { "XBox", "Controller" },
+ { "PS4", "Controller" },
+ { "OculusVR", "VR" },
+ { "ViveVR", "VR" },
+ { "GearVR", "VR" },
+ { "Android", "Touch" },
+ { "IOS", "Touch" }
+ };
+ }
+
+ public virtual string GetCurrentSpecialization()
+ {
+ if (mSpecializations == null)
+ {
+ InitializeSpecializations();
+ }
+ return "PC";
+ }
+
+ public virtual string GetFallbackSpecialization(string specialization)
+ {
+ if (mSpecializationsFallbacks == null)
+ {
+ InitializeSpecializations();
+ }
+ if (mSpecializationsFallbacks.TryGetValue(specialization, out var value))
+ {
+ return value;
+ }
+ return "Any";
+ }
+}