/// <summary>
/// Stores a String Array or Multiple Parameters into a Key w/ specific char seperator
/// </summary>
public static bool SetStringArray(string key, char separator, params string[] stringArray)
{
if (stringArray.Length == 0) return false;
try
{ PlayerPrefs.SetString(key, String.Join(separator.ToString(), stringArray)); }
catch (Exception e)
{ return false; }
return true;
}
/// <summary>
/// Stores a Bool Array or Multiple Parameters into a Key
/// </summary>
public static bool SetStringArray(string key, params string[] stringArray)
{
if (!SetStringArray(key, "\n"[0], stringArray))
return false;
return true;
}
/// <summary>
/// Returns a String Array from a key & char seperator
/// </summary>
public static string[] GetStringArray(string key, char separator)
{
if (PlayerPrefs.HasKey(key))
return PlayerPrefs.GetString(key).Split(separator);
return new string[0];
}
/// <summary>
/// Returns a Bool Array from a key
/// </summary>
public static string[] GetStringArray(string key)
{
if (PlayerPrefs.HasKey(key))
return PlayerPrefs.GetString(key).Split("\n"[0]);
return new string[0];
}
/// <summary>
/// Returns a String Array from a key & char seperator
/// Note: Uses default values to initialize if no key was found
/// </summary>
public static string[] GetStringArray(string key, char separator, string defaultValue, int defaultSize)
{
if (PlayerPrefs.HasKey(key))
return PlayerPrefs.GetString(key).Split(separator);
string[] stringArray = new string[defaultSize];
for (int i = 0; i < defaultSize; i++)
stringArray[i] = defaultValue;
return stringArray;
}
/// <summary>
/// Returns a String Array from a key
/// Note: Uses default values to initialize if no key was found
/// </summary>
public static String[] GetStringArray(string key, string defaultValue, int defaultSize)
{
return GetStringArray(key, "\n"[0], defaultValue, defaultSize);
}
#endregion
}
Unity3D 中PlayerPrefs保存或读取字符串数组的脚本方法
最新推荐文章于 2023-08-09 13:03:51 发布