public static PrefabBindingInfo LoadPrefabBindingInfo(this CsvTable table) { if (table == null) { return(null); } if (table.Columns.Count < 4) { Debug.LogErrorFormat("表列数和需求不一致,请目标表{0}检查是否为绑定信息!", table.name); return(null); } var prefabBindingInfo = new PrefabBindingInfo(table.name); var count = table.Rows.Count; for (int i = 0; i < count; i++) { var row = table.Rows[i]; var scriptItem = new PrefabBindingInfo.ScriptItem(); scriptItem.path = row[0]; var assemble = Assembly.Load(row[1]); if (assemble != null) { scriptItem.type = assemble.GetType(row[2]); } scriptItem.resources = ParamAnalysisTool.ToDictionary(row[3]); prefabBindingInfo.scriptItems.Add(scriptItem); } return(prefabBindingInfo); }
public override string GetStringValue() { var highlightedPath = m_highlight_icon.text; var pressedPath = m_pressed_icon.text; var disabledPath = m_disabled_icon.text; var group = ParamAnalysisTool.ArrayToGroup(highlightedPath, pressedPath, disabledPath); return(group); }
public override void SetValue(string value) { var colorblock = ParamAnalysisTool.StringToColorBlock(value); m_normal_icon.color = colorblock.normalColor; m_highlight_icon.color = colorblock.highlightedColor; m_pressed_icon.color = colorblock.pressedColor; m_disabled_icon.color = colorblock.disabledColor; }
public override void SetValue(string value) { var rect = ParamAnalysisTool.StringToRect(value); input_x.text = rect.x.ToString(); input_y.text = rect.y.ToString(); input_w.text = rect.width.ToString(); input_h.text = rect.height.ToString(); }
/// <summary> /// 按类型得到字符串值 /// </summary> /// <param name="type"></param> /// <param name="root"></param> /// <param name="value"></param> /// <returns></returns> private static string GetStringValue(Type type, Transform root, object value) { if (typeof(IConvertible).IsAssignableFrom(type)) { return(value.ToString()); } //资源型引用类型,记录guid else if (type.IsSubclassOf(typeof(UnityEngine.Object))) { UnityEngine.Object uObj = (UnityEngine.Object)value; string guid; string rPath; if (TypeUtil.IsAssetsType(type))//资源类型 { if (TryGetGUID(uObj, out guid)) { return(guid); } } else if (type == typeof(GameObject))//相对引用 { if (TryGetGUID(uObj, out guid)) { return(guid); } else if (TryGetChildPath(root, ((GameObject)uObj).transform, out rPath)) { return(rPath); } } else if (type.IsSubclassOf(typeof(Component)))//组件类型 { if (TryGetGUID(uObj, out guid)) { return(guid); } else if (TryGetChildPath(root, ((Component)uObj).transform, out rPath)) { return(rPath); } } } else if (TypeUtil.IsInnerStructure(type)) { var strvalue = ParamAnalysisTool.InnerStructObjectToString(type, value); if (!string.IsNullOrEmpty(strvalue)) { return(strvalue); } } Debug.LogWarning("未能成功解析属性信息:" + type.Name); return(null); }
public override string GetStringValue() { var normalColor = ColorUtility.ToHtmlStringRGBA(m_normal_icon.color); var highlightedColor = ColorUtility.ToHtmlStringRGBA(m_highlight_icon.color); var pressedColor = ColorUtility.ToHtmlStringRGBA(m_pressed_icon.color); var disabledColor = ColorUtility.ToHtmlStringRGBA(m_disabled_icon.color); var group = ParamAnalysisTool.ArrayToGroup(normalColor, highlightedColor, pressedColor, disabledColor); Debug.Log(group); return(group); }
public override void SetValue(string value) { var values = ParamAnalysisTool.GroupToArray(value); for (int i = 0; i < values.Length; i++) { if (fieldValues.Length > i) { fieldValues[i] = values[i]; } } }
public static CsvTable CreateTable(this PrefabBindingInfo bindingInfo) { var table = new CsvTable(bindingInfo.name); table.Columns = new List <string>(titles); for (int i = 0; i < bindingInfo.scriptItems.Count; i++) { var scriptItem = bindingInfo.scriptItems[i]; var infos = new string[titles.Length]; infos[0] = scriptItem.path; infos[1] = scriptItem.type.Assembly.FullName; infos[2] = scriptItem.type.FullName; infos[3] = ParamAnalysisTool.FromDictionary(scriptItem.resources); table.Rows.Add(infos); } return(table); }
public static void AnalysisLayerInfo(PsdLayer layer, LayerInfo layerInfo) { ResourceDic dic = new ResourceDic(); Rect parentRect = layerInfo.rect; Rect innerRect = GetSubRectFromLayer(layer, parentRect); dic.Add("name", layer.Name); switch (layer.LayerType) { case LayerType.Normal: case LayerType.Color: layerInfo.sub_images.Add(dic); dic.Add("sprite", layer.Name + ".png"); dic.Add("rect", ParamAnalysisTool.RectToString(innerRect)); CreatePNGFile(layer); break; case LayerType.Text: layerInfo.sub_texts.Add(dic); var textInfo = layer.Records.TextInfo; var color = new Color(textInfo.color[0], textInfo.color[1], textInfo.color[2], textInfo.color[3]); dic.Add("rect", ParamAnalysisTool.RectToString(GetMarginRect(innerRect, 1.2f))); dic.Add("color", ParamAnalysisTool.ColorToString(color)); dic.Add("text", textInfo.text); if (!string.IsNullOrEmpty(textInfo.fontName)) { dic.Add("font", textInfo.fontName); } dic.Add("fontSize", textInfo.fontSize.ToString()); break; case LayerType.Complex: Debug.Log("目标层解析能正常,请修改为智能对象! layer --> " + layer.Name); layerInfo.sub_images.Add(dic); dic.Add("sprite", layer.Name + ".png"); dic.Add("rect", ParamAnalysisTool.RectToString(innerRect)); CreatePNGFile(layer); break; default: break; } }
public override void SetValue(string value) { var array = ParamAnalysisTool.GroupToArray(value); if (array != null) { if (array.Length > 0) { m_highlight_icon.text = array[0]; } if (array.Length > 1) { m_pressed_icon.text = array[1]; } if (array.Length > 2) { m_disabled_icon.text = array[2]; } } }
protected override void OnValueChanged() { base.OnValueChanged(); m_icon.color = ParamAnalysisTool.StringToColor(m_input.text); }
/// <summary> /// 按类型解析值,没有Transform创建之 /// </summary> /// <param name="type"></param> /// <param name="value"></param> /// <param name="root"></param> /// <param name="dic"></param> /// <returns></returns> private static object StringToObjectRuntime(Type type, string value, Transform root, Dictionary <string, Transform> dic) { //资源型引用类型,记录guid if (type.IsSubclassOf(typeof(UnityEngine.Object))) { UnityEngine.Object obj = null; if (TypeUtil.IsAssetsType(type))//资源类型 { if (TryLoadAssetFromGUID(type, value, out obj)) { return(obj); } else { Debug.LogWarningFormat("参数{0}解析失败:guid找不到", value); } } else { if (type == typeof(GameObject)) { if (TryLoadAssetFromGUID(type, value, out obj)) { return(obj); } else { var trans = CompleteTransform(root, value, dic); if (trans != null) { return(trans.gameObject); } } } else if (type.IsSubclassOf(typeof(Component))) { if (TryLoadAssetFromGUID(type, value, out obj)) { return(obj); } else { var trans = CompleteTransform(root, value, dic); if (trans != null) { return(MustComponent(trans.gameObject, type)); } } } else { Debug.LogWarningFormat("参数{0}解析失败类型未判断:{1}", value, type); } } } else if (TypeUtil.IsInnerStructure(type)) { var objValue = ParamAnalysisTool.InnerStructFromString(type, value); if (objValue == null) { Debug.LogWarningFormat("参数{0}解析失败,类型:{1}", value, type); } return(objValue); } else if (typeof(IConvertible).IsAssignableFrom(type)) { return(ParamAnalysisTool.IconventibleFromString(type, value)); } Debug.LogWarningFormat("参数{0}解析失败,类型:{1}", value, type); return(null); }
/// <summary> /// 按类型解析值 /// </summary> /// <param name="type"></param> /// <param name="value"></param> /// <returns></returns> private static object StringToObject(Type type, string value, Dictionary <string, Transform> dic) { //资源型引用类型,记录guid if (type.IsSubclassOf(typeof(UnityEngine.Object))) { UnityEngine.Object obj = null; if (TypeUtil.IsAssetsType(type))//资源类型 { if (TryLoadAssetFromGUID(type, value, out obj)) { return(obj); } else { Debug.LogWarningFormat("参数{0}解析失败:guid找不到", value); } } else { if (type == typeof(GameObject)) { if (TryLoadAssetFromGUID(type, value, out obj)) { return(obj); } else if (dic.ContainsKey(value)) { return(dic[value].gameObject); } else { Debug.LogWarningFormat("参数{0}解析失败,未找到GameOject:{1}", value, type); } } else if (type.IsSubclassOf(typeof(Component))) { if (TryLoadAssetFromGUID(type, value, out obj)) { return(obj); } else if (TryLoadComponentFromPath(type, value, dic, out obj)) { return(obj); } else { Debug.LogWarningFormat("参数{0}解析失败未找到组件:{1}", value, type); } } else { Debug.LogWarningFormat("参数{0}解析失败类型未判断:{1}", value, type); } } } else if (TypeUtil.IsInnerStructure(type)) { var objValue = ParamAnalysisTool.InnerStructFromString(type, value); if (objValue == null) { Debug.LogWarningFormat("参数{0}解析失败,类型:{1}", value, type); } return(objValue); } else if (typeof(IConvertible).IsAssignableFrom(type)) { return(ParamAnalysisTool.IconventibleFromString(type, value)); } Debug.LogWarningFormat("参数{0}解析失败,类型:{1}", value, type); return(null); }
public override string GetStringValue() { return(ParamAnalysisTool.ArrayToRange(input_x.text, input_y.text, input_w.text, input_h.text)); }
public override string GetStringValue() { return(ParamAnalysisTool.ArrayToGroup(fieldValues)); }