/// <summary> /// 从字典中解析rect信息 /// </summary> /// <param name="defultRect"></param> /// <param name="resourceDic"></param> /// <returns></returns> public static Rect AddSubRectFromResourceDic(Rect defultRect, ResourceDic resourceDic) { if (resourceDic.ContainsKey("rect")) { var subRect = ParamAnalysisTool.StringToRect(resourceDic["rect"]); defultRect = new Rect(defultRect.x + subRect.x, defultRect.y + subRect.y, subRect.width, subRect.height); } return(defultRect); }
/// <summary> /// 从字典中解析rect信息 /// </summary> /// <param name="defultRect"></param> /// <param name="resourceDic"></param> /// <returns></returns> public static bool UpdateRectFromResourceDic(ref Rect defultRect, ResourceDic resourceDic) { if (resourceDic.ContainsKey("rect")) { defultRect = ParamAnalysisTool.StringToRect(resourceDic["rect"]); return(true); } else if (resourceDic.ContainsKey("padding")) { var paddingRect = ParamAnalysisTool.StringToVector4(resourceDic["padding"]); defultRect = new Rect(defultRect.x + paddingRect.x, defultRect.y + paddingRect.y, defultRect.width - paddingRect.z - paddingRect.x, defultRect.height - paddingRect.y - paddingRect.w); } return(false); }
public static UIInfo LoadUIInfo(this CsvTable table) { if (table.IsUIInfoTable(false)) { var uiInfo = new UIInfo(table.name); if (table.Rows != null && table.Columns != null) { for (int i = 0; i < table.Rows.Count; i++) { var layerInfo = new LayerInfo(); layerInfo.name = table[0, i]; layerInfo.path = table[1, i]; layerInfo.type = table[2, i]; layerInfo.rect = ParamAnalysisTool.StringToRect(table[3, i]); var resourceDic = ParamAnalysisTool.ToDictionary(table[4, i]); if (resourceDic != null) { ChargeDic(layerInfo.resourceDic, resourceDic); } if (table.Columns.Count > 5) { List <ResourceDic> sub_images; List <ResourceDic> sub_texts; List <ResourceDic> sub_rawImages; var subResourceDic = ParamAnalysisTool.ToDictionary_Sub(table[5, i], out sub_images, out sub_texts, out sub_rawImages); if (subResourceDic != null) { ChargeDic(layerInfo.subResourceDic, subResourceDic); } ChargeList(layerInfo.sub_images, sub_images); ChargeList(layerInfo.sub_texts, sub_texts); ChargeList(layerInfo.sub_rawImages, sub_rawImages); } uiInfo.layers.Add(layerInfo); } } return(uiInfo); } return(null); }
/// <summary> /// 按类型和字符串解析值 /// </summary> /// <param name="type"></param> /// <param name="value"></param> /// <returns></returns> public static object GetValueFromTypeString(Type type, string value) { if (type == typeof(Rect)) { return(ParamAnalysisTool.StringToRect(value)); } else if (type == typeof(Vector2)) { return(ParamAnalysisTool.StringToVector2(value)); } else if (type == typeof(Vector3)) { return(ParamAnalysisTool.StringToVector2(value)); } else if (type == typeof(Vector4)) { return(ParamAnalysisTool.StringToVector4(value)); } else if (typeof(IConvertible).IsAssignableFrom(type)) { if (type.IsSubclassOf(typeof(System.Enum))) { return(Enum.Parse(type, value)); } else { try { return(Convert.ChangeType(value, type)); } catch (Exception e) { Debug.LogWarning(e.Message + ":" + value); } } } Debug.LogWarningFormat("未成功解析类型为{0}的信息", type.FullName); return(null); }
public static object InnerStructFromString(Type type, string value) { if (type == typeof(ColorBlock)) { return(ParamAnalysisTool.StringToColorBlock(value)); } if (type == typeof(Color)) { return(ParamAnalysisTool.StringToColor(value)); } else if (type == typeof(Vector2)) { return(ParamAnalysisTool.StringToVector2(value)); } else if (type == typeof(Vector2Int)) { return(ParamAnalysisTool.StringToVector2Int(value)); } else if (type == typeof(Vector3)) { return(ParamAnalysisTool.StringToVector3(value)); } else if (type == typeof(Vector3Int)) { return(ParamAnalysisTool.StringToVector3Int(value)); } else if (type == typeof(Vector4)) { return(ParamAnalysisTool.StringToVector4(value)); } else if (type == typeof(Rect)) { return(ParamAnalysisTool.StringToRect(value)); } Debug.LogWarningFormat("未成功解析类型为{0}的信息", type.FullName); return(null); }
public static object GetValueFromTypeString(Type type, string value, AssemblerStateMechine mechine) { if (type == typeof(SpriteState)) { return(ParamAnalysisTool.StringToSpriteState(value, mechine.spriteFolderPath)); } else if (type == typeof(ColorBlock)) { return(ParamAnalysisTool.StringToColorBlock(value)); } else if (type == typeof(Sprite)) { return(ParamAnalysisTool.StringToObject <Sprite>(value, mechine.spriteFolderPath)); } else if (type == typeof(Font)) { return(ParamAnalysisTool.StringToObject <Font>(value, mechine.fontFolderPath)); } else if (type == typeof(Material)) { return(ParamAnalysisTool.StringToObject <Material>(value, mechine.materialFolderPath)); } else if (type == typeof(Texture)) { return(ParamAnalysisTool.StringToObject <Texture>(value, mechine.textureFolderPath)); } else if (type == typeof(Texture2D)) { return(ParamAnalysisTool.StringToObject <Texture2D>(value, mechine.textureFolderPath)); } else if (type == typeof(Color)) { return(ParamAnalysisTool.StringToColor(value)); } else if (type == typeof(Vector2)) { return(ParamAnalysisTool.StringToVector2(value)); } else if (type == typeof(Vector3)) { return(ParamAnalysisTool.StringToVector3(value)); } else if (type == typeof(Vector4)) { return(ParamAnalysisTool.StringToVector4(value)); } else if (type == typeof(Rect)) { return(ParamAnalysisTool.StringToRect(value)); } else if (typeof(IConvertible).IsAssignableFrom(type)) { if (type.IsSubclassOf(typeof(System.Enum))) { return(Enum.Parse(type, value)); } else { try { return(Convert.ChangeType(value, type)); } catch (Exception e) { Debug.LogWarning(e.Message + ":" + value); } } } Debug.LogWarningFormat("未成功解析类型为{0}的信息", type.FullName); return(null); }