/// <summary> /// 初始化已经存在的建筑位置 /// </summary> public void InitBuildingExist() { listBuildingExist.Clear(); GameDataBean gameData = GameDataHandler.Instance.manager.GetGameData(); List <InnResBean> listFurniture = gameData.GetInnBuildData().GetFurnitureList(buildLayer); if (listFurniture != null) { foreach (InnResBean itemBuilding in listFurniture) { foreach (Vector3Bean itemPosition in itemBuilding.listPosition) { listBuildingExist.Add(TypeConversionUtil.Vector3BeanToVector3(itemPosition)); } } } listBuildingExistForWall.Clear(); List <InnResBean> listWall = gameData.GetInnBuildData().GetWallList(buildLayer); if (listWall != null) { foreach (InnResBean itemBuilding in listWall) { //因为保存的tile是从0,0坐标开始的。而实际判断是以1,0开始所以需要+1 listBuildingExistForWall.Add(itemBuilding.GetStartPosition() + new Vector3(1, 0, 0)); } } }
protected virtual object ResolveOutput(MemcachedCacheItem item, Type targetType) { if (item.Flags == FLAG_JSON) { if (targetType == TYPE_STRING) { return(Encoding.UTF8.GetString(item.ValueBytes)); } return(JsonUtil.Deserialize(Encoding.UTF8.GetString(item.ValueBytes), targetType)); } else if (item.Flags == FLAG_STRING) { return(TypeConversionUtil.ConvertValueIfNecessary(targetType, Encoding.UTF8.GetString(item.ValueBytes))); } else { if (targetType == TYPE_STRING) { return(item.ValueBytes.ToBase64()); } return(TypeConversionUtil.ConvertValueIfNecessary(targetType, item.ValueBytes)); } }
/// <summary> /// 设置眼睛 /// </summary> /// <param name="mouth"></param> /// <param name="mouthColor"></param> public void SetEye(string eye, Color eyeColor, bool isSave) { if (srBody == null) { return; } Texture texEye = CharacterBodyHandler.Instance.manager.GetEyeTexByName(eye); if (eye != null) { srBody.sharedMaterial.SetTexture("_Eye", texEye); } srBody.material.SetColor("_ColorEye", eyeColor); if (!isSave) { return; } //数据保存 if (characterBodyData == null) { characterBodyData = new CharacterBodyBean(); } if (eye != null) { characterBodyData.eye = eye; } characterBodyData.eyeColor = TypeConversionUtil.ColorToColorBean(eyeColor); }
protected virtual object ResolveOutput(MemoryCacheItem item, Type targetType) { if (item.ValueType == CacheValueType.Json) { if (targetType == TYPE_STRING) { return(item.StringValue); } return(JsonUtil.Deserialize(item.StringValue, targetType)); } else if (item.ValueType == CacheValueType.Plain) { return(TypeConversionUtil.ConvertValueIfNecessary(targetType, item.StringValue)); } else if (item.ValueType == CacheValueType.Binary) { if (targetType == TYPE_STRING) { return(item.BinaryValue.ToBase64()); } return(TypeConversionUtil.ConvertValueIfNecessary(targetType, item.BinaryValue)); } else { throw new Exception(); } }
/// <summary> /// 创建本地Item /// </summary> /// <param name="intScore"></param> public void CreateLocalItem(long score) { int intScore = 0; if (score > int.MaxValue) { intScore = int.MaxValue; } else { intScore = (int)score; } GameDataBean gameData = GameDataHandler.Instance.manager.GetGameData(); string innName = gameData.GetInnAttributesData().innName; string playerName = gameData.userCharacter.baseInfo.name; SteamLeaderboardEntryBean steamLeaderboardEntry = new SteamLeaderboardEntryBean(); steamLeaderboardEntry.rank = 0; steamLeaderboardEntry.score = intScore; try { //如果steam没有初始化 steamLeaderboardEntry.steamID = SteamUser.GetSteamID(); } catch { } steamLeaderboardEntry.details = TypeConversionUtil.StringToInt32(innName + "-" + playerName); itemRankForLocal.SetData(rankType, steamLeaderboardEntry); }
protected virtual object ResolveOutput(RedisKvCacheItem item, Type targetType) { if (targetType.IsArray) { foreach (var t in targetType.GetInterfaces()) { if (t == typeof(ICollection <byte>)) { return(TypeConversionUtil.ConvertValueIfNecessary(targetType, item.ValueBytes.FromBase64())); } } return(JsonUtil.Deserialize(item.ValueBytes.ToUtf8String(), targetType)); } if (targetType == TYPE_STRING || targetType.IsPrimitive) { return(TypeConversionUtil.ConvertValueIfNecessary(targetType, Encoding.UTF8.GetString(item.ValueBytes))); } if (targetType.IsGenericType && targetType.GetGenericTypeDefinition() == typeof(Nullable <>) && Nullable.GetUnderlyingType(targetType).IsPrimitive) { return(TypeConversionUtil.ConvertValueIfNecessary(targetType, Encoding.UTF8.GetString(item.ValueBytes))); } if (targetType == typeof(DateTime) || targetType == typeof(DateTime?)) { return(TypeConversionUtil.ConvertValueIfNecessary(targetType, Encoding.UTF8.GetString(item.ValueBytes))); } return(JsonUtil.Deserialize(Encoding.UTF8.GetString(item.ValueBytes), targetType)); }
private object[] GenerateArguments(ParameterInfo[] parameters, List <ArgumentDefinition> arguments) { var paramValues = new List <object>(); for (int i = 0; i < parameters.Length; i++) { var arg = arguments.Find(t => t.Index.HasValue && t.Index.Value == i); if (arg == null) { arg = arguments.Find(t => t.Name == parameters[i].Name); } if (arg != null) { paramValues.Add(TypeConversionUtil.ConvertValueIfNecessary(parameters[i].ParameterType, arg.GetValue())); } else { // use default value paramValues.Add(parameters[i].DefaultValue); } } return(paramValues.ToArray()); }
public List <TextInfoBean> QueryDataByMarkId(TextEnum textEnum, long[] markIds) { InitTableByTextType(textEnum); string values = TypeConversionUtil.ArrayToStringBySplit(markIds, ","); return(BaseQueryData <TextInfoBean>("text_id", tableNameForMain + ".mark_id", "in", "(" + values + ")")); }
/// <summary> /// 找到所有门 /// </summary> /// <returns></returns> public void InitEntranceList() { BuildDoorCpt[] doorArray = container.GetComponentsInChildren <BuildDoorCpt>(); listDoorCpt = TypeConversionUtil.ArrayToList(doorArray); BuildStairsCpt[] stairsArray = container.GetComponentsInChildren <BuildStairsCpt>(); listStairsCpt = TypeConversionUtil.ArrayToList(stairsArray); }
//比较时间------------------------------------------------------------------------------------------------------------ public static TimeSpan SubtractTime(TimeBean timeOne, TimeBean timeTwo) { DateTime dateOne = TypeConversionUtil.TimeBeanToDateTime(timeOne); DateTime dateTwo = TypeConversionUtil.TimeBeanToDateTime(timeTwo); TimeSpan timeSpan = dateOne.Subtract(dateTwo); return(timeSpan); }
public static T ConvertTo <T>(string value, T defaultValue) { try { return((T)TypeConversionUtil.ConvertValueIfNecessary(typeof(T), value)); } catch { return(defaultValue); } }
/// <summary> /// 找到所有桌子 /// </summary> /// <returns></returns> public List <BuildBedCpt> InitBedList(InnBuildBean innBuildData) { if (bedContainer == null) { return(listBedCpt); } BuildBedCpt[] tableArray = bedContainer.GetComponentsInChildren <BuildBedCpt>(); listBedCpt = TypeConversionUtil.ArrayToList(tableArray); //设置每张床的美观值 try { List <InnResBean> listFurnitureData = innBuildData.GetFurnitureList(2); List <InnResBean> listFloorData = innBuildData.GetFloorList(2); List <InnResBean> listWallData = innBuildData.GetWallList(2); Dictionary <Vector3, InnResBean> mapFurnitureData = new Dictionary <Vector3, InnResBean>(); Dictionary <Vector3, InnResBean> mapFloorData = new Dictionary <Vector3, InnResBean>(); Dictionary <Vector3, InnResBean> mapWallData = new Dictionary <Vector3, InnResBean>(); foreach (InnResBean innResData in listFurnitureData) { mapFurnitureData.Add(TypeConversionUtil.Vector3BeanToVector3(innResData.startPosition), innResData); } foreach (InnResBean innResData in listFloorData) { mapFloorData.Add(TypeConversionUtil.Vector3BeanToVector3(innResData.startPosition), innResData); } foreach (InnResBean innResData in listWallData) { mapWallData.Add(TypeConversionUtil.Vector3BeanToVector3(innResData.startPosition), innResData); } if (listBedCpt != null) { for (int i = 0; i < listBedCpt.Count; i++) { BuildBedCpt buildBedCpt = listBedCpt[i]; float totalAddAesthetics = 0; float totalSubAesthetics = 0; GetAroundAesthetics(mapFurnitureData, buildBedCpt.transform.position, 3, out float addFurnitureAesthetics, out float subFurnitureAesthetics); totalAddAesthetics += addFurnitureAesthetics; totalSubAesthetics += subFurnitureAesthetics; GetAroundAesthetics(mapFloorData, buildBedCpt.transform.position - new Vector3(0.5f, 0.5f), 3, out float addFloorAesthetics, out float subFloorAesthetics); totalAddAesthetics += addFloorAesthetics; totalSubAesthetics += subFloorAesthetics; GetAroundAesthetics(mapWallData, buildBedCpt.transform.position - new Vector3(0.5f, 0.5f), 3, out float addWallAesthetics, out float subWallAesthetics); totalAddAesthetics += addWallAesthetics; totalSubAesthetics += subWallAesthetics; buildBedCpt.SetAddAesthetics((float)decimal.Round(decimal.Parse(totalAddAesthetics + ""), 1), (float)decimal.Round(decimal.Parse(totalSubAesthetics + ""), 1)); } } } catch { } return(listBedCpt); }
public override object GetValue() { if (this.ResolvedType != null && this.ResolvedType != this.ValueDefinition.ResolvedType) { return(TypeConversionUtil.ConvertValueIfNecessary(this.ResolvedType, this.ValueDefinition.GetValue())); } return(this.ValueDefinition.GetValue()); }
public override object GetValue() { if (this.ResolvedType == null) { return(this.Value); } return(TypeConversionUtil.ConvertValueIfNecessary(this.ResolvedType, this.Value)); }
/// <summary> /// string通过指定字符拆分成数组 /// </summary> /// <param name="data"></param> /// <param name="substring"></param> /// <returns></returns> public static long[] SplitBySubstringForArrayLong(string data, char substring) { if (CheckUtil.StringIsNull(data)) { return(new long[0]); } string[] splitData = data.Split(new char[] { substring }, StringSplitOptions.RemoveEmptyEntries); long[] listData = TypeConversionUtil.ArrayStrToArrayLong(splitData); return(listData); }
/// <summary> /// string通过指定字符拆分成数组 /// </summary> /// <param name="data"></param> /// <param name="substring"></param> /// <returns></returns> public static float[] SplitBySubstringForArrayFloat(string data, char substring) { if (data == null) { return(new float[0]); } string[] splitData = data.Split(new char[] { substring }, StringSplitOptions.RemoveEmptyEntries); float[] listData = TypeConversionUtil.ArrayStrToArrayFloat(splitData); return(listData); }
/// <summary> /// 找到所有桌子 /// </summary> /// <returns></returns> public List <BuildTableCpt> InitTableList() { if (tableContainer == null) { return(listTableCpt); } BuildTableCpt[] tableArray = tableContainer.GetComponentsInChildren <BuildTableCpt>(); listTableCpt = TypeConversionUtil.ArrayToList(tableArray); return(listTableCpt); }
public InnResBean(long id, Vector3 startPosition, List <Vector3> listPosition, Direction2DEnum direction2D) { this.id = id; this.startPosition = new Vector3Bean(startPosition);; if (listPosition != null) { this.listPosition = TypeConversionUtil.ListV3ToListV3Bean(listPosition); } this.direction = (int)direction2D; }
/// <summary> /// 获取前置成就ID /// </summary> /// <returns></returns> public List <long> GetPreAchIds() { if (pre_ach_ids == null) { return(null); } List <string> listIdsStr = StringUtil.SplitBySubstringForListStr(pre_ach_ids, ','); List <long> listData = TypeConversionUtil.ListStrToListLong(listIdsStr); return(listData); }
/// <summary> /// string通过指定字符拆分成数组 /// </summary> /// <param name="data"></param> /// <param name="substring"></param> /// <returns></returns> public static List <string> SplitBySubstringForListStr(string data, char substring) { if (data == null) { return(new List <string>()); } string[] splitData = data.Split(new char[] { substring }, StringSplitOptions.RemoveEmptyEntries); List <string> listData = TypeConversionUtil.ArrayToList(splitData); return(listData); }
/// <summary> /// 根据ID查询数据 /// </summary> /// <param name="ids"></param> /// <returns></returns> public List <ItemsInfoBean> QueryDataByIds(long[] ids) { string[] leftTable = new string[] { tableNameForLeft, mLeftIntactTableName }; string[] mainKey = new string[] { "id", "intact_id" }; string[] leftKey = new string[] { "items_id", "intact_id" }; string[] colName = new string[] { tableNameForMain + ".id" }; string[] operations = new string[] { "IN" }; string values = TypeConversionUtil.ArrayToStringBySplit(ids, ","); string[] colValue = new string[] { "(" + values + ")" }; return(SQLiteHandle.LoadTableData <ItemsInfoBean>(ProjectConfigInfo.DATA_BASE_INFO_NAME, tableNameForMain, leftTable, mainKey, leftKey, colName, operations, colValue)); }
private object CreateInstance() { object instance = null; var watch = new Stopwatch(); watch.Start(); if (this.FactoryObject != null) { instance = this.factoryMethod.Invoke(this.FactoryObject.GetValue(), GenerateArguments(this.factoryMethod.GetParameters(), this.FactoryArgs)); } else if (this.factoryMethod != null) { instance = this.factoryMethod.Invoke(null, GenerateArguments(this.factoryMethod.GetParameters(), this.FactoryArgs)); } else if (this.ctorMethod != null) { instance = this.ctorMethod.Invoke(GenerateArguments(this.ctorMethod.GetParameters(), this.ConstructorArgs)); } else { instance = Activator.CreateInstance(this.ResolvedType); } foreach (var property in this.propertyMaps) { property.Value.SetValue(instance, TypeConversionUtil.ConvertValueIfNecessary(property.Value.PropertyType, property.Key.GetValue())); } foreach (var listener in this.listenerMaps) { listener.Value.AddEventHandler(instance, listener.Key.CreateDelegate(listener.Value.EventHandlerType)); } if (this.initMethod != null) { this.initMethod.Invoke(instance, GenerateArguments(this.initMethod.GetParameters(), this.InitializeArgs)); } watch.Stop(); if (!string.IsNullOrWhiteSpace(this.ID)) { Log.Debug($"Object '{this.ID}' created, {watch.ElapsedMilliseconds}ms time took."); } else { Log.Debug($"Anonymous object created, {watch.ElapsedMilliseconds}ms time took."); } return(instance); }
public override object GetValue() { var list = Activator.CreateInstance(this.ResolvedType); foreach (var item in this.Items) { var val = TypeConversionUtil.ConvertValueIfNecessary(this.resolvedElementType, item.GetValue()); this.addItemMethod.Invoke(list, new[] { val }); } return(list); }
/// <summary> /// 修建建筑 /// </summary> /// <param name="furnitureData"></param> /// <returns></returns> public GameObject BuildFurniture(InnResBean furnitureData, BuildBedBean buildBedData) { if (furnitureData == null) { return(null); } GameObject buildItemObj = InnBuildHandler.Instance.manager.GetFurnitureObjById(furnitureData, buildContainer.transform, buildBedData); buildItemObj.transform.position = TypeConversionUtil.Vector3BeanToVector3(furnitureData.startPosition); BaseBuildItemCpt buildItemCpt = buildItemObj.GetComponent <BaseBuildItemCpt>(); buildItemCpt.SetDirection(furnitureData.direction); return(buildItemObj); }
public override bool CanConvertTo(Type destinationType) { if (destinationType == null) { throw new ArgumentNullException(nameof(destinationType)); } if (this.ResolvedType != null) { return(destinationType.IsAssignableFrom(this.ResolvedType)); } TypeConversionUtil.ConvertValueIfNecessary(destinationType, this.Value); return(true); }
public override T ToValue <T>() { if (this.ValueKind == JValueKind.Null) { if (typeof(T).IsValueType) { throw new JsonException($"Null cannot be converted to type {typeof(T)}"); } return(default(T)); } else { return((T)TypeConversionUtil.ConvertValueIfNecessary(typeof(T), this.Value)); } }
/// <summary> /// 设置皮肤 /// </summary> /// <param name="skinColor">皮肤颜色</param> public void SetSkin(Color skinColor) { if (srBody == null) { return; } srBody.material.SetColor("_ColorHead", skinColor); srBody.material.SetColor("_ColorTrunk", skinColor); srBody.material.SetColor("_ColorFootLeft", skinColor); srBody.material.SetColor("_ColorFootRight", skinColor); //数据保存 if (characterBodyData == null) { characterBodyData = new CharacterBodyBean(); } characterBodyData.skinColor = TypeConversionUtil.ColorToColorBean(skinColor); }
public void SetData(RankTypeEnum rankType, SteamLeaderboardEntryBean rankData) { this.rankType = rankType; this.rankData = rankData; SetScore(rankType, rankData.score); SetRank(rankData.rank); string name = TypeConversionUtil.Int32ToString(rankData.details); SetName(name); //开始获取头像和名字 if (rankData.steamID.m_SteamID != 0) { StartCoroutine(SteamHandler.Instance.GetUserInfo(rankData.steamID.m_SteamID + "", this)); } }
/// <summary> /// 设置排行榜数据 /// </summary> /// <param name="leaderboardId"></param> /// <param name="score"></param> /// <param name="details"></param> /// <param name="callBack"></param> public void SetGetLeaderboardData(ulong leaderboardId, int score, string details, ISteamLeaderboardUpdateCallBack callBack) { if (!SteamManager.Initialized) { return; } if (steamLeaderboard == null) { steamLeaderboard = new SteamLeaderboardImpl(); } if (details.Length > 64) { details = details.Substring(0, 64); } int[] intDetails = TypeConversionUtil.StringToInt32(details); int[] intDetailsData = new int[64]; intDetails.CopyTo(intDetailsData, 0); steamLeaderboard.UpdateLeaderboardScore(leaderboardId, score, intDetailsData, 64, callBack); }
/// <summary> /// 自动找到rb /// </summary> public void AutoFindRadioButton() { if (listButton == null) { listButton = new List <RadioButtonView>(); } listButton.Clear(); RadioButtonView[] rbList = GetComponentsInChildren <RadioButtonView>(); if (rbList != null) { listButton = TypeConversionUtil.ArrayToList(rbList); } if (listButton != null) { foreach (RadioButtonView itemRB in listButton) { itemRB.SetCallBack(this); } } }