Exemplo n.º 1
0
 /// <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);
 }
Exemplo n.º 2
0
 /// <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);
 }
Exemplo n.º 3
0
        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);
 }
Exemplo n.º 5
0
 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);
 }
Exemplo n.º 6
0
 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);
 }