Files
UltimateFishing2020/Assets/Scripts/Assembly-CSharp/I2/Loc/BaseSpecializationManager.cs
2026-03-04 10:03:45 +08:00

60 lines
1.3 KiB
C#

using System;
using System.Collections.Generic;
using UnityEngine.InputSystem;
namespace I2.Loc
{
public class BaseSpecializationManager
{
public string[] mSpecializations;
public Dictionary<string, string> mSpecializationsFallbacks;
public virtual void InitializeSpecializations()
{
mSpecializations = new string[14]
{
"Any", "PC", "Touch", "Controller", "VR", "XBox", "PS4", "PS5", "OculusVR", "ViveVR",
"GearVR", "Android", "IOS", "Switch"
};
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";
}
private bool IsTouchInputSupported()
{
return Touchscreen.current != null;
}
public virtual string GetFallbackSpecialization(string specialization)
{
if (mSpecializationsFallbacks == null)
{
InitializeSpecializations();
}
if (mSpecializationsFallbacks.TryGetValue(specialization, out var value))
{
return value;
}
return "Any";
}
}
}