102 lines
2.7 KiB
C#
102 lines
2.7 KiB
C#
|
|
using System.Collections.Generic;
|
|||
|
|
using UnityEngine;
|
|||
|
|
using GameAnalyticsSDK;
|
|||
|
|
using Touka.GameLogic;
|
|||
|
|
|
|||
|
|
public partial class StaticOnlineParams :ToukaSingletonMonoBehaviour<StaticOnlineParams>{
|
|||
|
|
|
|||
|
|
public void Init () {
|
|||
|
|
// init all params, from local saved
|
|||
|
|
InitAllParams();
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
private void InitAllParams()
|
|||
|
|
{
|
|||
|
|
InitAllGameParams();
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
#region Save & Get value
|
|||
|
|
|
|||
|
|
/// <summary>
|
|||
|
|
/// save online value by string
|
|||
|
|
/// </summary>
|
|||
|
|
/// <param name="_key"></param>
|
|||
|
|
/// <param name="_value"></param>
|
|||
|
|
public void SaveOnlineValue2Local(string _key, string _value)
|
|||
|
|
{
|
|||
|
|
ToukaUtils.SavePlayerPrefsStringByKeyValue(_key, _value);
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
/// <summary>
|
|||
|
|
/// get online value by string
|
|||
|
|
/// </summary>
|
|||
|
|
/// <param name="_key"></param>
|
|||
|
|
/// <param name="_defaultValue"></param>
|
|||
|
|
/// <returns></returns>
|
|||
|
|
public string GetOnlineValueFromLocal(string _key, string _defaultValue)
|
|||
|
|
{
|
|||
|
|
string tempValue = ToukaUtils.GetPlayerPrefsStringByKey(_key, _defaultValue);
|
|||
|
|
return tempValue;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
#endregion
|
|||
|
|
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
public class ToukaOnlineParam {
|
|||
|
|
public string Key; // key
|
|||
|
|
public bool needUploadDirectly = true; // 获取到在线参数后是否立刻上传,默认:是
|
|||
|
|
|
|||
|
|
private string defaultValue;
|
|||
|
|
public string DefaultValue // value
|
|||
|
|
{
|
|||
|
|
get
|
|||
|
|
{
|
|||
|
|
string tempOnlineValue = TGTools.Instance.ConfigValueForKey(Key);
|
|||
|
|
Debug.Log("value ----- tempOnlineValue : " + tempOnlineValue);
|
|||
|
|
if (!string.IsNullOrEmpty(tempOnlineValue)) // 实时取一下在线参数
|
|||
|
|
{
|
|||
|
|
UpdateValueByKey(tempOnlineValue);
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
return defaultValue;
|
|||
|
|
}
|
|||
|
|
set
|
|||
|
|
{
|
|||
|
|
defaultValue = value;
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
public ToukaOnlineParam (string _key, string _defaultValue, bool _uploadDirectly = true) {
|
|||
|
|
Key = _key;
|
|||
|
|
DefaultValue = _defaultValue;
|
|||
|
|
needUploadDirectly = _uploadDirectly;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
/// <summary>
|
|||
|
|
/// 拿到在线参数后,更新数据
|
|||
|
|
/// </summary>
|
|||
|
|
/// <param name="newValue"></param>
|
|||
|
|
public void UpdateValueByKey(string newValue)
|
|||
|
|
{
|
|||
|
|
DefaultValue = newValue; // 赋值
|
|||
|
|
|
|||
|
|
if (needUploadDirectly) // 若需要,则上报
|
|||
|
|
{
|
|||
|
|
ToukaAnalyticsManager.Instance.LogEventByUmeng(string.Format("{0}_{1}", Key, newValue));
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
StaticOnlineParams.Instance.SaveOnlineValue2Local(Key, newValue); // 本地缓存
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
|
|||
|
|
/// <summary>
|
|||
|
|
/// 初始化参数
|
|||
|
|
/// </summary>
|
|||
|
|
/// <param name="_newValue"></param>
|
|||
|
|
public void InitValue(string _newValue)
|
|||
|
|
{
|
|||
|
|
DefaultValue = _newValue; // 赋值
|
|||
|
|
}
|
|||
|
|
}
|