using System.Collections;
|
using System.Collections.Generic;
|
using UnityEngine;
|
using LitJson;
|
using System;
|
using System.Text.RegularExpressions;
|
using System.Linq;
|
|
public class GeneralDefine
|
{
|
public static Dictionary<int, int> MoneyDisplayModel { get; private set; }
|
public static int activityItemID { get; private set; }
|
|
public static int expDisplayId { get; private set; }
|
|
|
//参数int,int ,string 分别表示职业,转生等级,icon
|
static Dictionary<int, Dictionary<int, string>> jobHeadPortrait = new Dictionary<int, Dictionary<int, string>>();
|
static Dictionary<int, Dictionary<int, string>> otherjobHeadPortrait = new Dictionary<int, Dictionary<int, string>>();
|
|
|
public static int rechargeRedpointLv { get; private set; }
|
public static int rechargeRedpointMinLv { get; private set; }
|
|
|
public static List<int> inGameDownLoadLevelCheckPoints = null;
|
public static List<int> inGameDownLoadTaskCheckPoints = null;
|
public static int inGameDownLoadHighLevel { get; private set; }
|
|
public static Dictionary<int, List<int>> itemPutInPackDict { get; private set; }
|
public static Dictionary<int, int> itemMoneyCountDict { get; private set; } //背包中用于展示货币数量的物品
|
|
public static int UISpringDecorate { get; private set; }
|
public static Dictionary<int, List<int>> skillAttrIDDict { get; private set; }
|
|
|
public static int acutionItemHour { get; private set; }
|
|
public static float blockRatio;
|
|
public static Dictionary<int, string> itemIconDict { get; private set; }
|
public static int mainRightFuncOpenFuncID { get; private set; }
|
|
public static void Init()
|
{
|
try
|
{
|
MoneyDisplayModel = ConfigParse.ParseIntDict(GetInputString("MoneyDisplayModel", 1));
|
activityItemID = GetInt("MoneyDisplayModel", 2);
|
|
var config = FuncConfigConfig.Get("PutInItemPack");
|
JsonData itemPutInData = JsonMapper.ToObject(config.Numerical1);
|
itemPutInPackDict = new Dictionary<int, List<int>>();
|
foreach (var _key in itemPutInData.Keys)
|
{
|
var itemTypeData = itemPutInData[_key];
|
int packType = int.Parse(_key);
|
List<int> itemTypes = new List<int>();
|
itemPutInPackDict.Add(packType, itemTypes);
|
if (itemTypeData.IsArray)
|
{
|
for (int i = 0; i < itemTypeData.Count; i++)
|
{
|
int itemType = int.Parse(itemTypeData[i].ToString());
|
itemTypes.Add(itemType);
|
}
|
}
|
}
|
|
itemMoneyCountDict = ConfigParse.ParseIntDict(config.Numerical2);
|
|
config = FuncConfigConfig.Get("ParryCfg");
|
blockRatio = float.Parse(config.Numerical3);
|
|
config = FuncConfigConfig.Get("Item");
|
var tmpDict = JsonMapper.ToObject<Dictionary<string, string>>(config.Numerical1);
|
itemIconDict = new Dictionary<int, string>();
|
foreach (var key in tmpDict.Keys)
|
{
|
int itemType = int.Parse(key);
|
string icon = tmpDict[key];
|
itemIconDict.Add(itemType, icon);
|
}
|
|
config = FuncConfigConfig.Get("MainRightFunc");
|
mainRightFuncOpenFuncID = int.Parse(config.Numerical1);
|
}
|
catch (Exception ex)
|
{
|
Debug.LogError(ex);
|
}
|
|
}
|
|
public static string GetJobHeadPortrait(int _job, int _ReincarnationLv)
|
{
|
if (jobHeadPortrait.ContainsKey(_job) && jobHeadPortrait[_job].ContainsKey(_ReincarnationLv))
|
{
|
return jobHeadPortrait[_job][_ReincarnationLv];
|
}
|
else
|
{
|
return string.Empty;
|
}
|
}
|
|
public static List<int> GetAttrIdsBySkill(int _skillId)
|
{
|
if (skillAttrIDDict.ContainsKey(_skillId))
|
{
|
return skillAttrIDDict[_skillId];
|
}
|
return null;
|
}
|
|
public static string GetOtherJobHeadPortrait(int _job, int _ReincarnationLv)
|
{
|
if (otherjobHeadPortrait.ContainsKey(_job) && otherjobHeadPortrait[_job].ContainsKey(_ReincarnationLv))
|
{
|
return otherjobHeadPortrait[_job][_ReincarnationLv];
|
}
|
else
|
{
|
return string.Empty;
|
}
|
}
|
|
public static PackType GetPackTypeByItemType(int itemType)
|
{
|
foreach (var key in itemPutInPackDict.Keys)
|
{
|
var types = itemPutInPackDict[key];
|
if (types.Contains(itemType))
|
{
|
return (PackType)key;
|
}
|
}
|
return PackType.Item;
|
}
|
|
public static int GetInt(string _key, int _index = 1)
|
{
|
var result = 0;
|
int.TryParse(GetInputString(_key, _index), out result);
|
return result;
|
}
|
|
public static float GetFloat(string _key, int _index = 1)
|
{
|
var result = 0f;
|
float.TryParse(GetInputString(_key, _index), out result);
|
return result;
|
}
|
|
public static bool GetBool(string _key, int _index = 1)
|
{
|
var result = false;
|
bool.TryParse(GetInputString(_key, _index), out result);
|
return result;
|
}
|
|
public static int[] GetIntArray(string _key, int _index = 1)
|
{
|
var inputString = GetInputString(_key, _index);
|
var stringArray = inputString.Split(StringUtility.splitSeparator, StringSplitOptions.RemoveEmptyEntries);
|
|
if (stringArray.Length == 0)
|
{
|
return null;
|
}
|
|
var result = new int[stringArray.Length];
|
for (int i = 0; i < stringArray.Length; i++)
|
{
|
int.TryParse(stringArray[i], out result[i]);
|
}
|
|
return result;
|
}
|
|
public static string[] GetStringArray(string _key, int _index = 1)
|
{
|
var inputString = GetInputString(_key, _index);
|
var stringArray = inputString.Split(StringUtility.splitSeparator, StringSplitOptions.RemoveEmptyEntries);
|
|
if (stringArray.Length == 0)
|
{
|
return null;
|
}
|
|
var result = new string[stringArray.Length];
|
for (int i = 0; i < stringArray.Length; i++)
|
{
|
result[i] = stringArray[i];
|
}
|
|
return result;
|
}
|
|
|
public static float[] GetFloatArray(string _key, int _index = 1)
|
{
|
var inputString = GetInputString(_key, _index);
|
var stringArray = inputString.Split(StringUtility.splitSeparator, StringSplitOptions.RemoveEmptyEntries);
|
|
if (stringArray.Length == 0)
|
{
|
return null;
|
}
|
|
var result = new float[stringArray.Length];
|
for (int i = 0; i < stringArray.Length; i++)
|
{
|
float.TryParse(stringArray[i], out result[i]);
|
}
|
|
return result;
|
}
|
|
public static bool[] GetBoolArray(string _key, int _index = 1)
|
{
|
var inputString = GetInputString(_key, _index);
|
var stringArray = inputString.Split(StringUtility.splitSeparator, StringSplitOptions.RemoveEmptyEntries);
|
|
if (stringArray.Length == 0)
|
{
|
return null;
|
}
|
|
var result = new bool[stringArray.Length];
|
for (int i = 0; i < stringArray.Length; i++)
|
{
|
bool.TryParse(stringArray[i], out result[i]);
|
}
|
|
return result;
|
}
|
|
public static List<int> GetTimeArray(string _key, int _index = 1)
|
{
|
var configContent = GetInputString(_key, _index);
|
var stringArray = configContent.Split(StringUtility.splitSeparator, StringSplitOptions.RemoveEmptyEntries);
|
var timeList = new List<int>();
|
for (int i = 0; i < stringArray.Length; i++)
|
{
|
var input = stringArray[i];
|
var matches = Regex.Matches(input, "[0-9]{1,2}");
|
var hour = matches.Count > 0 ? int.Parse(matches[0].Value) : 0;
|
var minute = matches.Count > 1 ? int.Parse(matches[1].Value) : 0;
|
timeList.Add(hour * 60 + minute);
|
}
|
|
return timeList;
|
}
|
|
public static string GetInputString(string _key, int _index = 1)
|
{
|
var config = FuncConfigConfig.Get(_key);
|
var inputString = string.Empty;
|
|
switch (_index)
|
{
|
case 1:
|
inputString = config.Numerical1;
|
break;
|
case 2:
|
inputString = config.Numerical2;
|
break;
|
case 3:
|
inputString = config.Numerical3;
|
break;
|
case 4:
|
inputString = config.Numerical4;
|
break;
|
case 5:
|
inputString = config.Numerical5;
|
break;
|
}
|
|
return inputString;
|
}
|
|
public static long GetFactValue(uint value, uint valueEx)
|
{
|
return (long)valueEx * (long)Constants.ExpPointValue +(long)value;
|
}
|
}
|