update: Core 内清除 Debugger
							parent
							
								
									f63c3681d8
								
							
						
					
					
						commit
						dbd3ad14ab
					
				|  | @ -1,8 +0,0 @@ | |||
| fileFormatVersion: 2 | ||||
| guid: d717553eea6bf4338b9f3059be371e71 | ||||
| folderAsset: yes | ||||
| DefaultImporter: | ||||
|   externalObjects: {} | ||||
|   userData:  | ||||
|   assetBundleName:  | ||||
|   assetBundleVariant:  | ||||
|  | @ -1,60 +0,0 @@ | |||
| # Guru Debugger 面板 | ||||
| 
 | ||||
| Version 1.0.0 | ||||
| 
 | ||||
| # 使用方法 | ||||
| 
 | ||||
| 调用方式, 可直接调用 | ||||
| 
 | ||||
| ```c# | ||||
| // 首次调用需要初始化 | ||||
| Debugger.Init(): | ||||
| 
 | ||||
| // TODO: 加入你的Layout初始化方法      | ||||
|      | ||||
| // 显示 Debugger: | ||||
| Debuggger.Show(); | ||||
| 
 | ||||
| // 关闭回调 | ||||
| Debugger.OnClose += OnDebuggerClose;   | ||||
|   | ||||
| private void OnDebuggerClose(){ | ||||
|      | ||||
|     // TODO: do sth when debugger is closed  | ||||
| } | ||||
| 
 | ||||
| ``` | ||||
| 
 | ||||
| Layout 初始化 | ||||
| ```c# | ||||
| // 添加一个条目 | ||||
| // 一般一个条目的构成为  {tab}/{option} 的方式 | ||||
| 
 | ||||
| // 添加一个 Key - Value item  | ||||
| Debugger.Instance.AddOption("Start Info/Test Key", "Test Value"); | ||||
| 
 | ||||
| // 添加一个整体可点击的 Item | ||||
| Debugger.Instance.AddOption("Start Info/Yes, click me", "", () => { | ||||
|     // TODO: the item is a pure button, add click event. | ||||
| }); | ||||
| 
 | ||||
| // 添加一个 Button | ||||
| Debugger.Instance.AddOption("Start Info/Test Key", "Test Value") | ||||
|     .AddButton("Button", ()=>{ | ||||
|         // TODO: do sth when button is clicked | ||||
|     }); | ||||
| 
 | ||||
| // Option 可以添加更多的内容, 但是不建议超过 5 个 | ||||
| Debugger.Instance.AddOption("Start Info/Test2", "valueof2") | ||||
|     .AddLabel("Sth else to add") | ||||
|     .AddCopyButton(); | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| ``` | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
|  | @ -1,3 +0,0 @@ | |||
| fileFormatVersion: 2 | ||||
| guid: 48c5db714459493d8d02ecaf89f1c2ac | ||||
| timeCreated: 1711084921 | ||||
|  | @ -1,8 +0,0 @@ | |||
| fileFormatVersion: 2 | ||||
| guid: 036a24160e57d414290c124d76a4a66f | ||||
| folderAsset: yes | ||||
| DefaultImporter: | ||||
|   externalObjects: {} | ||||
|   userData:  | ||||
|   assetBundleName:  | ||||
|   assetBundleVariant:  | ||||
|  | @ -1,8 +0,0 @@ | |||
| fileFormatVersion: 2 | ||||
| guid: f78334aec158543b2b8fc6157f69764b | ||||
| folderAsset: yes | ||||
| DefaultImporter: | ||||
|   externalObjects: {} | ||||
|   userData:  | ||||
|   assetBundleName:  | ||||
|   assetBundleVariant:  | ||||
|  | @ -1,8 +0,0 @@ | |||
| fileFormatVersion: 2 | ||||
| guid: be43df6b6918346819c7938339e0fb93 | ||||
| folderAsset: yes | ||||
| DefaultImporter: | ||||
|   externalObjects: {} | ||||
|   userData:  | ||||
|   assetBundleName:  | ||||
|   assetBundleVariant:  | ||||
|  | @ -1,300 +0,0 @@ | |||
| 
 | ||||
| 
 | ||||
| namespace Guru | ||||
| { | ||||
|     using System; | ||||
|     using UnityEngine; | ||||
|     using UnityEngine.UI; | ||||
|     using G = GlobalVars; | ||||
|     using System.Collections.Generic; | ||||
|     using System.Linq; | ||||
|      | ||||
|      | ||||
|     public class Debugger | ||||
|     { | ||||
|         public const string Version = "1.0.0";     | ||||
|          | ||||
|          | ||||
|         private static bool _initOnce = false; | ||||
|         private static Debugger _instance; | ||||
|         public static Debugger Instance | ||||
|         { | ||||
|             get | ||||
|             { | ||||
|                 if (_instance == null) | ||||
|                 { | ||||
|                     Init(); | ||||
|                 } | ||||
|                 return _instance; | ||||
|             } | ||||
|         } | ||||
| 
 | ||||
|         public static event Action OnClosed | ||||
|         { | ||||
|             add | ||||
|             { | ||||
|                 if (_onViewClosed == null) | ||||
|                 { | ||||
|                     _onViewClosed = value; | ||||
|                 } | ||||
|                 else | ||||
|                 { | ||||
|                     _onViewClosed += value; | ||||
|                 } | ||||
|             } | ||||
| 
 | ||||
|             remove | ||||
|             { | ||||
|                 if (_onViewClosed != null) | ||||
|                 { | ||||
|                     _onViewClosed -= value; | ||||
|                 } | ||||
|             } | ||||
|         } | ||||
| 
 | ||||
|         private static Action _onViewClosed; | ||||
| 
 | ||||
|         private DebuggerViewRoot _viewRoot; | ||||
|         private Dictionary<string, List<OptionLayout>> optionDicts; | ||||
|         private string _curTab; | ||||
| 
 | ||||
|         public static void Init() | ||||
|         { | ||||
|             if (_instance == null) _initOnce = false; | ||||
| 
 | ||||
|             if (_initOnce) return; | ||||
|             _initOnce = true; | ||||
|             _instance = new Debugger(); | ||||
|             _instance.StartService(); | ||||
|         } | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
|         private void StartService() | ||||
|         { | ||||
|             _viewRoot = DebuggerViewRoot.Instance; | ||||
|             optionDicts = new Dictionary<string, List<OptionLayout>>(5); | ||||
|             G.Events.OnUIEvent += OnUIEvent; | ||||
|         } | ||||
|          | ||||
|         private void OnUIEvent(string evt, object data) | ||||
|         { | ||||
|             switch (evt) | ||||
|             { | ||||
|                 case G.Events.EventTabClicked: | ||||
|                     OnSelectTab(data.ToString()); | ||||
|                     break; | ||||
|                 case G.Events.EventViewClosed: | ||||
|                     optionDicts?.Clear(); | ||||
|                     _onViewClosed?.Invoke(); | ||||
|                     break; | ||||
|             } | ||||
|         } | ||||
| 
 | ||||
| 
 | ||||
|         #region UI Layout | ||||
| 
 | ||||
|         public OptionLayout AddOption(string uri, string content = "", Action clickHandler = null) | ||||
|         { | ||||
|             string tabName = G.Consts.DefaultTabName; | ||||
|             string optName = G.Consts.DefaultOptionName; | ||||
|             if (uri.Contains("/")) | ||||
|             { | ||||
|                 var names = uri.Split('/'); | ||||
|                 if (names.Length > 0) | ||||
|                 { | ||||
|                     tabName = names[0]; | ||||
|                 } | ||||
|                 if(names.Length > 1) optName = names[1]; | ||||
|             } | ||||
| 
 | ||||
|             if (!optionDicts.ContainsKey(tabName)) | ||||
|             { | ||||
|                 optionDicts[tabName] = new List<OptionLayout>(10); | ||||
|             } | ||||
|    | ||||
|             OptionLayout opt = new OptionLayout(); | ||||
|             opt.tabName = tabName; | ||||
|             opt.optName = optName; | ||||
|             opt.content = content; | ||||
|             opt.selfClickHandler = clickHandler; | ||||
| 
 | ||||
|             AddOptionLayout(tabName, opt); | ||||
|              | ||||
|             return opt; | ||||
|         } | ||||
| 
 | ||||
|         private void AddOptionLayout(string tabName, OptionLayout layout) | ||||
|         { | ||||
|             if (!optionDicts.ContainsKey(tabName)) | ||||
|             { | ||||
|                 optionDicts[tabName] = new List<OptionLayout>(20); | ||||
|             } | ||||
|              | ||||
|             optionDicts[tabName].Add(layout); | ||||
|         } | ||||
| 
 | ||||
| 
 | ||||
|         private void ShowPage(string tabName = "") | ||||
|         { | ||||
|             if (string.IsNullOrEmpty(tabName)) | ||||
|             { | ||||
|                 tabName = optionDicts.Keys.First(); | ||||
|             } | ||||
| 
 | ||||
|             if (!string.IsNullOrEmpty(tabName)) | ||||
|             { | ||||
|                 RenderPage(tabName); | ||||
|             } | ||||
|         } | ||||
| 
 | ||||
|         /// <summary> | ||||
|         /// 渲染页面 | ||||
|         /// </summary> | ||||
|         /// <param name="tabName"></param> | ||||
|         private void RenderPage(string tabName) | ||||
|         { | ||||
|             _viewRoot.Show(); | ||||
|              | ||||
|             _viewRoot.RefreshTabs(tabName, optionDicts.Keys.ToList()); | ||||
|             _viewRoot.CleanOptions(); | ||||
|             if (optionDicts.TryGetValue(tabName, out var opts)) | ||||
|             { | ||||
|                 OptionLayout ol; | ||||
|                 UIOptionItem ui; | ||||
|                 for (int i = 0; i < opts.Count; i++) | ||||
|                 { | ||||
|                     ol = opts[i]; | ||||
|                     ui = _viewRoot.RegisterOption(ol.optName, ol.content); | ||||
| 
 | ||||
|                     if (ol.selfClickHandler != null) | ||||
|                     { | ||||
|                         var btnName = ol.content; | ||||
|                         if (string.IsNullOrEmpty(btnName)) btnName = ol.optName; | ||||
|                         var btn = _viewRoot.AddOptionButton(ui, btnName, ol.selfClickHandler); | ||||
|                         ui.Clickable = true; | ||||
|                         continue; | ||||
|                     } | ||||
| 
 | ||||
| 
 | ||||
|                     foreach (var item in ol.items) | ||||
|                     { | ||||
|                         switch (item.type) | ||||
|                         { | ||||
|                             case "button": | ||||
|                                 var btn = _viewRoot.AddOptionButton(ui, item.name, item.clickHandler); | ||||
|                                 if (!item.size.Equals(Vector2.zero)) btn.Size = item.size; | ||||
|                                 break; | ||||
|                              | ||||
|                             case "label": | ||||
|                                 var lb = _viewRoot.AddOptionLabel(ui, item.name, item.align); | ||||
|                                 if (!item.size.Equals(Vector2.zero)) lb.Size = item.size; | ||||
|                                 break; | ||||
|                         } | ||||
|                     } | ||||
| 
 | ||||
|                      | ||||
|                      | ||||
|                 } | ||||
|             } | ||||
|             else | ||||
|             { | ||||
|                 Debug.LogError($"{tabName} not found!"); | ||||
|             } | ||||
| 
 | ||||
|         } | ||||
| 
 | ||||
| 
 | ||||
|         private void OnSelectTab(string tabName) | ||||
|         { | ||||
|             if (_curTab == tabName) return; | ||||
|             Instance.ShowPage(tabName); | ||||
|         } | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
|         #endregion | ||||
| 
 | ||||
|         #region Display | ||||
|          | ||||
|         public static void Show(string tabName = "") | ||||
|         { | ||||
|             Instance.ShowPage(tabName); | ||||
|         } | ||||
| 
 | ||||
|         public static void Hide() => Instance._viewRoot.Hide(); | ||||
|          | ||||
|         #endregion | ||||
|          | ||||
|         #region DebuggerOption | ||||
|          | ||||
|         public class OptionLayout | ||||
|         { | ||||
|             public string optName; | ||||
|             public string content; | ||||
|             public string tabName; | ||||
|             public Action selfClickHandler; | ||||
| 
 | ||||
|             internal List<OptionItemLayout> items; | ||||
| 
 | ||||
| 
 | ||||
|             public OptionLayout() | ||||
|             { | ||||
|                 items = new List<OptionItemLayout>(10); | ||||
|             } | ||||
| 
 | ||||
| 
 | ||||
|             public OptionLayout AddLabel(string labelName) | ||||
|             { | ||||
|                 items.Add(new OptionItemLayout() | ||||
|                 { | ||||
|                     name = labelName, | ||||
|                     type = "label", | ||||
|                 }); | ||||
|                 return this; | ||||
|             } | ||||
|              | ||||
|             public OptionLayout AddButton(string btnName, Action onClick) | ||||
|             { | ||||
|                 items.Add(new OptionItemLayout() | ||||
|                 { | ||||
|                     name = btnName, | ||||
|                     type = "button", | ||||
|                     clickHandler = onClick | ||||
|                 }); | ||||
|                 return this; | ||||
|             } | ||||
|         } | ||||
| 
 | ||||
|         internal class OptionItemLayout | ||||
|         { | ||||
|             public string type; | ||||
|             public Action clickHandler; | ||||
|             public string name; | ||||
|             public string content; | ||||
|             public TextAnchor align = TextAnchor.MiddleCenter; | ||||
|             public Vector2 size = Vector2.zero; | ||||
|         } | ||||
| 
 | ||||
|         #endregion | ||||
|          | ||||
|     } | ||||
| 
 | ||||
| 
 | ||||
|     public static class OptionLayoutExtension | ||||
|     { | ||||
|         public static Debugger.OptionLayout AddCopyButton(this Debugger.OptionLayout layout, Action onClick = null) | ||||
|         { | ||||
|             layout.AddButton("Copy", ()=> | ||||
|             { | ||||
|                 GUIUtility.systemCopyBuffer = layout.content; | ||||
|                 onClick?.Invoke(); | ||||
|             }); | ||||
|             return layout; | ||||
|         } | ||||
|     } | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| } | ||||
|  | @ -1,3 +0,0 @@ | |||
| fileFormatVersion: 2 | ||||
| guid: f5ccddaa61334c748afe7c39cf8e11b7 | ||||
| timeCreated: 1711014134 | ||||
|  | @ -1,45 +0,0 @@ | |||
| 
 | ||||
| 
 | ||||
| namespace Guru | ||||
| { | ||||
|     using System; | ||||
|     using UnityEngine; | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
|     public static class GlobalVars | ||||
|     { | ||||
|          | ||||
|         public class Events | ||||
|         { | ||||
|             public const string EventTabClicked  = "evt_tab_clicked"; | ||||
|             public const string EventViewClosed  = "evt_view_closed"; | ||||
| 
 | ||||
|             public static Action<string, object> OnUIEvent = (e, o) => { }; | ||||
|         } | ||||
|          | ||||
| 
 | ||||
|         public class Consts | ||||
|         { | ||||
|             public const string DefaultTabName = "Tab"; | ||||
|             public const string DefaultOptionName = "Opt"; | ||||
|         } | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
|         public class Colors | ||||
|         { | ||||
|             public static Color Gray = new Color(1,1,1, 0.12f); | ||||
|             public static Color Gray2 = new Color(1,1,1, 0.036f); | ||||
|             public static Color LightGreen = new Color(0.02f,1,1, 0.788f); | ||||
|         } | ||||
| 
 | ||||
| 
 | ||||
|          | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
|     } | ||||
| } | ||||
|  | @ -1,3 +0,0 @@ | |||
| fileFormatVersion: 2 | ||||
| guid: 1f8d5969a496489eab759e7ff15a9cdc | ||||
| timeCreated: 1711021436 | ||||
|  | @ -1,4 +0,0 @@ | |||
| namespace Guru | ||||
| { | ||||
|      | ||||
| } | ||||
|  | @ -1,3 +0,0 @@ | |||
| fileFormatVersion: 2 | ||||
| guid: 0a689867fdf943e695f620d07a1b752e | ||||
| timeCreated: 1711024796 | ||||
|  | @ -1,19 +0,0 @@ | |||
| namespace Guru | ||||
| { | ||||
|     public class TestingSuit | ||||
|     { | ||||
|          | ||||
|          | ||||
|          | ||||
|          | ||||
|          | ||||
|     } | ||||
|      | ||||
|      | ||||
|      | ||||
|      | ||||
|      | ||||
|      | ||||
|      | ||||
|      | ||||
| } | ||||
|  | @ -1,3 +0,0 @@ | |||
| fileFormatVersion: 2 | ||||
| guid: 38e1154e876d43d0aec1387b5aa2fc51 | ||||
| timeCreated: 1711014089 | ||||
|  | @ -1,57 +0,0 @@ | |||
| using System; | ||||
| using UnityEngine; | ||||
| 
 | ||||
| namespace Guru | ||||
| { | ||||
|     public class UIComponent: MonoBehaviour | ||||
|     { | ||||
|          | ||||
|         public virtual long GID { get; protected set; } | ||||
|         public virtual string ID => $"{GID}"; | ||||
|          | ||||
|         public Transform Parent | ||||
|         { | ||||
|             get => transform.parent; | ||||
|             set | ||||
|             { | ||||
|                 transform.SetParent(value); | ||||
|                 transform.localPosition = Vector3.zero; | ||||
|             } | ||||
|         } | ||||
| 
 | ||||
|         public Vector2 Size | ||||
|         { | ||||
|             get => _rectTransform.sizeDelta; | ||||
|             set => _rectTransform.sizeDelta = value; | ||||
|         } | ||||
| 
 | ||||
| 
 | ||||
|         public bool Active | ||||
|         { | ||||
|             get => gameObject.activeSelf; | ||||
|             set => gameObject.SetActive(value); | ||||
|         } | ||||
| 
 | ||||
|         protected RectTransform _rectTransform; | ||||
|         private void Awake() | ||||
|         { | ||||
|             _rectTransform = gameObject.GetComponent<RectTransform>(); | ||||
| 
 | ||||
|             OnCreated(); | ||||
|         } | ||||
| 
 | ||||
|         protected virtual void OnCreated() | ||||
|         { | ||||
|              | ||||
|         } | ||||
| 
 | ||||
|         /// <summary> | ||||
|         /// 刷新UI | ||||
|         /// </summary> | ||||
|         public virtual void Refresh() | ||||
|         { | ||||
|              | ||||
|         } | ||||
| 
 | ||||
|     } | ||||
| } | ||||
|  | @ -1,3 +0,0 @@ | |||
| fileFormatVersion: 2 | ||||
| guid: c65140f21e494b6fa50779248643af52 | ||||
| timeCreated: 1711063080 | ||||
|  | @ -1,3 +0,0 @@ | |||
| fileFormatVersion: 2 | ||||
| guid: 4351260f681b42d9851e353f24f3b05a | ||||
| timeCreated: 1711018597 | ||||
|  | @ -1,221 +0,0 @@ | |||
| 
 | ||||
| 
 | ||||
| using System.Collections.Generic; | ||||
| 
 | ||||
| namespace Guru | ||||
| { | ||||
|     using System; | ||||
|     using UnityEngine; | ||||
|     using G = GlobalVars; | ||||
|      | ||||
|      | ||||
|     public partial class DebuggerViewRoot | ||||
|     { | ||||
|          | ||||
|         [SerializeField] private UITabItem _tabPrefab; | ||||
|         [SerializeField] private UIOptionItem _optPrefab; | ||||
|         [SerializeField] private VButton _btnPrefab; | ||||
|         [SerializeField] private VLabel _labelPrefab; | ||||
|          | ||||
|         private Queue<UITabItem> _tabPools; | ||||
|         private Queue<UIOptionItem> _optPools; | ||||
|          | ||||
|         private List<UITabItem> _displayedTabs; | ||||
|         private List<UIOptionItem> _displayedOptions; | ||||
| 
 | ||||
|         private long _tabIds = 0; | ||||
|         private long _optIds = 0; | ||||
|         private long _btnIds = 0; | ||||
|         private long _lbIds = 0; | ||||
| 
 | ||||
|         private void InitFactory() | ||||
|         { | ||||
|             _tabPools = new Queue<UITabItem>(10); | ||||
|             _optPools = new Queue<UIOptionItem>(20); | ||||
| 
 | ||||
|             _tabPrefab.Parent = _binNode; | ||||
|             _optPrefab.Parent = _binNode; | ||||
| 
 | ||||
| 
 | ||||
|             _displayedTabs = new List<UITabItem>(10); | ||||
|             _displayedOptions = new List<UIOptionItem>(20); | ||||
|         } | ||||
|          | ||||
|         #region Tabs | ||||
|          | ||||
|         public UITabItem RegisterTab(string tabNam) | ||||
|         { | ||||
|             var tab = GetTab(tabNam); | ||||
|             _displayedTabs.Add(tab); | ||||
|             return tab; | ||||
|         } | ||||
| 
 | ||||
|          | ||||
|          | ||||
|         public UITabItem BuildTab(string tabName) | ||||
|         { | ||||
|             var go = Instantiate(_tabPrefab.gameObject, _tabContent); | ||||
|             go.SetActive(true); | ||||
|             var tab = go.GetComponent<UITabItem>(); | ||||
|             tab.InitWithData(_tabIds, tabName); | ||||
|             tab.OnRecycle = OnTabRecycle; | ||||
|             tab.OnClicked = OnTabClicked; | ||||
|             _tabIds++; | ||||
|             return tab; | ||||
|         } | ||||
| 
 | ||||
|         private void OnTabClicked(string tabName) | ||||
|         { | ||||
|             G.Events.OnUIEvent?.Invoke(G.Events.EventTabClicked, tabName); | ||||
|         } | ||||
| 
 | ||||
|         private void OnTabRecycle(UITabItem tab) | ||||
|         { | ||||
|             _displayedTabs.Remove(tab); | ||||
|             tab.Parent = _binNode; | ||||
|             tab.transform.localPosition = Vector3.zero; | ||||
|             _tabPools.Enqueue(tab); | ||||
|         } | ||||
| 
 | ||||
| 
 | ||||
|         private UITabItem GetTab(string tabName) | ||||
|         { | ||||
|             if (_tabPools.Count > 0) | ||||
|             { | ||||
|                 var tab = _tabPools.Dequeue(); | ||||
|                 tab.Label = tabName; | ||||
|                 tab.Parent = _tabContent; | ||||
|                 return tab; | ||||
|             } | ||||
|             return BuildTab(tabName); | ||||
|         } | ||||
| 
 | ||||
|         #endregion | ||||
| 
 | ||||
|         #region Options | ||||
| 
 | ||||
| 
 | ||||
|         public UIOptionItem RegisterOption(string optName, string content = "") | ||||
|         { | ||||
|             var opt = GetOption(optName); | ||||
|             opt.Content = content; | ||||
|             opt.Refresh(); | ||||
|             _displayedOptions.Add(opt); | ||||
|             return opt; | ||||
|         } | ||||
|          | ||||
|          | ||||
|          | ||||
|         public UIOptionItem BuildOption(string optName) | ||||
|         { | ||||
|             var go = Instantiate(_optPrefab.gameObject, _optContent); | ||||
|             go.SetActive(true); | ||||
|             var opt = go.GetComponent<UIOptionItem>(); | ||||
|             opt.InitWithData(_optIds, optName); | ||||
|             opt.OnRecycle = OnOptionRecycle; | ||||
|             _optIds++; | ||||
|             return opt; | ||||
|         } | ||||
| 
 | ||||
|          | ||||
|         private UIOptionItem GetOption(string name) | ||||
|         { | ||||
|             if (_optPools.Count > 0) | ||||
|             { | ||||
|                 var opt = _optPools.Dequeue(); | ||||
|                 opt.Label = name; | ||||
|                 opt.Parent = _optContent; | ||||
|                 return opt; | ||||
|             } | ||||
|             return BuildOption(name); | ||||
|         } | ||||
|          | ||||
|         /// <summary> | ||||
|         /// 选项回收 | ||||
|         /// </summary> | ||||
|         /// <param name="opt"></param> | ||||
|         private void OnOptionRecycle(UIOptionItem opt) | ||||
|         { | ||||
|             _displayedOptions.Remove(opt);    | ||||
|             opt.Parent = _binNode; | ||||
|             opt.transform.localPosition = Vector3.zero; | ||||
|             _optPools.Enqueue(opt); | ||||
|         } | ||||
|        | ||||
|         #endregion | ||||
|          | ||||
|         #region Button | ||||
| 
 | ||||
|         public VButton BuildButton(string name, Action onClick, Transform parent) | ||||
|         { | ||||
|             var go = Instantiate(_btnPrefab.gameObject, parent); | ||||
|             var btn = go.GetComponent<VButton>(); | ||||
|             btn.Label = name; | ||||
|             btn.OnClicked = onClick; | ||||
|             btn.Size = new Vector2(120, 0); | ||||
|             return btn; | ||||
|         } | ||||
|          | ||||
|         #region 添加组件 | ||||
| 
 | ||||
|         internal VButton AddOptionButton(UIOptionItem option, string btnName, Action btnHandler) | ||||
|         { | ||||
|             var btn = BuildButton(btnName, btnHandler, option.Root); | ||||
|             option.AddChild(btn.gameObject); | ||||
|             return btn; | ||||
|         } | ||||
|         internal VLabel AddOptionLabel(UIOptionItem option, string label, TextAnchor align = TextAnchor.MiddleCenter) | ||||
|         { | ||||
|             var lb = BuildLabel(label, align, option.Root); | ||||
|             option.AddChild(lb.gameObject); | ||||
|             return lb; | ||||
|         } | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
|         #endregion | ||||
|          | ||||
|         #endregion | ||||
|          | ||||
|         #region Label | ||||
| 
 | ||||
|         public VLabel BuildLabel(string lbName, TextAnchor align, Transform parent) | ||||
|         { | ||||
|             var go = Instantiate(_labelPrefab.gameObject, parent); | ||||
|             go.name = lbName; | ||||
|             var label = go.GetComponent<VLabel>(); | ||||
|             label.Text = lbName; | ||||
|             label.Align = align; | ||||
|             label.Size = new Vector2(300, 0); | ||||
|             return label; | ||||
|         } | ||||
| 
 | ||||
|         #endregion | ||||
| 
 | ||||
|         #region Recycle | ||||
|          | ||||
|         internal void CleanTabs() | ||||
|         { | ||||
|             while (_displayedTabs.Count > 0) | ||||
|             { | ||||
|                 var tab = _displayedTabs[0]; | ||||
|                 tab.Dispose(); | ||||
|             } | ||||
|         } | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
|         internal void CleanOptions() | ||||
|         { | ||||
|             while (_displayedOptions.Count > 0) | ||||
|             { | ||||
|                 var opt = _displayedOptions[0]; | ||||
|                 opt.Dispose(); | ||||
|             } | ||||
| 
 | ||||
|         } | ||||
| 
 | ||||
|         #endregion | ||||
|          | ||||
|     } | ||||
| } | ||||
|  | @ -1,3 +0,0 @@ | |||
| fileFormatVersion: 2 | ||||
| guid: 3a8636631ec74eeea6dff03bdc79c03c | ||||
| timeCreated: 1711026127 | ||||
|  | @ -1,151 +0,0 @@ | |||
| 
 | ||||
| 
 | ||||
| using UnityEngine.EventSystems; | ||||
| 
 | ||||
| namespace Guru | ||||
| { | ||||
|     using UnityEngine; | ||||
|     using UnityEngine.UI; | ||||
|     using G = GlobalVars; | ||||
|      | ||||
|     using System; | ||||
|     using System.Collections.Generic; | ||||
|      | ||||
|     public partial class DebuggerViewRoot: UIComponent, IViewFactory, IWidgetFactory | ||||
|     { | ||||
|         [SerializeField] private Canvas _canvas; | ||||
|         [SerializeField] private CanvasGroup _canvasGroup; | ||||
| 
 | ||||
|         [SerializeField] private RectTransform _tabContent; | ||||
|         [SerializeField] private RectTransform _optContent; | ||||
|         [SerializeField] private RectTransform _binNode; | ||||
|          | ||||
|          | ||||
|         [SerializeField] private Button _btnClose; | ||||
|          | ||||
|         private const string PrefabPath = "ui/debugger_root"; | ||||
|         private const string InstanceName = "__debugger__"; | ||||
|          | ||||
|         private static DebuggerViewRoot _instance; | ||||
|         public static DebuggerViewRoot Instance | ||||
|         { | ||||
|             get | ||||
|             { | ||||
|                 if (_instance == null) _instance = CreateInstance(); | ||||
|                 return _instance; | ||||
|             } | ||||
|         } | ||||
|          | ||||
|         private EventSystem _eventSystem; | ||||
| 
 | ||||
|          | ||||
| 
 | ||||
|         #region Static Calls | ||||
| 
 | ||||
|         private static DebuggerViewRoot CreateInstance() | ||||
|         { | ||||
|             var p = Resources.Load<GameObject>(PrefabPath); | ||||
|             if (p != null) | ||||
|             { | ||||
|                 var go = Instantiate(p); | ||||
|                 DontDestroyOnLoad(go); | ||||
|                 go.name = InstanceName; | ||||
|                 return go.GetComponent<DebuggerViewRoot>(); | ||||
|             } | ||||
|             return null; | ||||
|         } | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
|         #endregion | ||||
| 
 | ||||
|         #region Initialization | ||||
| 
 | ||||
|         private void Awake() | ||||
|         { | ||||
|             Init(); | ||||
|         } | ||||
| 
 | ||||
| 
 | ||||
|         private void Init() | ||||
|         { | ||||
|             InitFactory(); | ||||
|              | ||||
|             _btnClose.onClick.AddListener(OnCloseBtnEvent); | ||||
| 
 | ||||
|             if (EventSystem.current == null) | ||||
|             { | ||||
|                 SetupEventSystem(); | ||||
|             } | ||||
|             else | ||||
|             { | ||||
|                 _eventSystem = EventSystem.current; | ||||
|             } | ||||
|              | ||||
|             Hide(); | ||||
|         } | ||||
| 
 | ||||
|         private void SetupEventSystem() | ||||
|         { | ||||
| 
 | ||||
|             var go = new GameObject(nameof(EventSystem)); | ||||
|             var es = go.AddComponent<EventSystem>(); | ||||
|             go.AddComponent<StandaloneInputModule>(); | ||||
|             es.transform.parent = transform; | ||||
|             _eventSystem = es; | ||||
|         } | ||||
| 
 | ||||
|         private void OnCloseBtnEvent() | ||||
|         { | ||||
|             Hide(); | ||||
|             OnSelfClosed(); | ||||
|         } | ||||
| 
 | ||||
|         #endregion | ||||
|          | ||||
|         #region Display | ||||
|          | ||||
|         public void Show() => Active = true; | ||||
|         public void Hide() => Active = false; | ||||
|          | ||||
|         #endregion | ||||
| 
 | ||||
|         #region Pages | ||||
| 
 | ||||
|          | ||||
|         internal void RefreshTabs(string tanName, List<string> tabs = null) | ||||
|         { | ||||
|             if (tabs == null) | ||||
|             { | ||||
|                 tabs = new List<string>(_displayedTabs.Count); | ||||
|                 foreach (var t in _displayedTabs) | ||||
|                 { | ||||
|                     tabs.Add(t.Label); | ||||
|                 } | ||||
|             } | ||||
| 
 | ||||
|             CleanTabs(); | ||||
|             foreach (var tn in tabs) | ||||
|             { | ||||
|                 var tab = RegisterTab(tn); | ||||
|                 tab.Selected = tn == tanName; | ||||
|                 tab.OnClicked = OnTabClicked; | ||||
|             } | ||||
|         } | ||||
| 
 | ||||
|         #endregion | ||||
| 
 | ||||
|         #region Dispos | ||||
| 
 | ||||
|         private void OnSelfClosed() | ||||
|         { | ||||
|             CleanTabs(); | ||||
|             CleanOptions(); | ||||
|             G.Events.OnUIEvent?.Invoke(G.Events.EventViewClosed, null); | ||||
|         } | ||||
| 
 | ||||
|         #endregion | ||||
| 
 | ||||
|     } | ||||
| } | ||||
|  | @ -1,3 +0,0 @@ | |||
| fileFormatVersion: 2 | ||||
| guid: 128174e534964447a73e381ca1fadd0f | ||||
| timeCreated: 1711018610 | ||||
|  | @ -1,22 +0,0 @@ | |||
| 
 | ||||
| 
 | ||||
| namespace Guru | ||||
| { | ||||
|     using System; | ||||
|     using UnityEngine; | ||||
|      | ||||
|      | ||||
|     public interface IViewFactory | ||||
|     { | ||||
|         UITabItem BuildTab(string tabName); | ||||
|         UIOptionItem BuildOption(string optName); | ||||
|     } | ||||
|      | ||||
|     public interface IWidgetFactory  | ||||
|     { | ||||
| 
 | ||||
|         VButton BuildButton(string name, Action onClick, Transform parent); | ||||
|         VLabel BuildLabel(string lbName, TextAnchor align, Transform parent); | ||||
|          | ||||
|     } | ||||
| } | ||||
|  | @ -1,3 +0,0 @@ | |||
| fileFormatVersion: 2 | ||||
| guid: d783b7f8e37f48f3bc36e2877c6143b3 | ||||
| timeCreated: 1711025708 | ||||
|  | @ -1,114 +0,0 @@ | |||
| 
 | ||||
| 
 | ||||
| using System; | ||||
| using System.Collections.Generic; | ||||
| 
 | ||||
| namespace Guru | ||||
| { | ||||
|     using UnityEngine; | ||||
|     using UnityEngine.UI; | ||||
|      | ||||
|     public class UIOptionItem: UIComponent | ||||
|     { | ||||
| 
 | ||||
|         [SerializeField] private RectTransform _root; | ||||
|         [SerializeField] private VLabel _label; | ||||
|         [SerializeField] private VLabel _content; | ||||
|         [SerializeField] private Image _bgImage; | ||||
| 
 | ||||
|         public Action<UIOptionItem> OnRecycle; | ||||
|         private List<GameObject> _children; | ||||
| 
 | ||||
|         public Transform Root => _root; | ||||
|          | ||||
|         public string Label | ||||
|         { | ||||
|             get => _label.Text; | ||||
|             set => _label.Text = value; | ||||
|         } | ||||
|          | ||||
|         public string Content | ||||
|         { | ||||
|             get => _content.Text; | ||||
|             set | ||||
|             { | ||||
|                 _content.Text = value; | ||||
|                 _content.Active = !string.IsNullOrEmpty(value); | ||||
|             } | ||||
|         } | ||||
| 
 | ||||
| 
 | ||||
|         private bool _clickable = false; | ||||
|         public bool Clickable | ||||
|         { | ||||
|             get => _clickable; | ||||
|             set | ||||
|             { | ||||
|                 _clickable = value; | ||||
|                 _label.Active = !_clickable; | ||||
|                 _content.Active = !_clickable; | ||||
|             } | ||||
|         } | ||||
| 
 | ||||
| 
 | ||||
|         public void InitWithData(long gid, string optName = "") | ||||
|         { | ||||
|             GID = gid; | ||||
|             name = $"opt_{gid}"; | ||||
|             _children = new List<GameObject>(10); | ||||
| 
 | ||||
|             if (string.IsNullOrEmpty(optName)) | ||||
|             { | ||||
|                 _label.Active = false; | ||||
|             } | ||||
|             else | ||||
|             { | ||||
|                 Label = optName; | ||||
|             } | ||||
| 
 | ||||
|             _label.Align = TextAnchor.MiddleLeft; | ||||
|             _content.Align = TextAnchor.MiddleLeft; | ||||
| 
 | ||||
|              | ||||
|         } | ||||
| 
 | ||||
| 
 | ||||
|         public void Dispose() | ||||
|         { | ||||
|             Clickable = false; | ||||
|             ClearChildren(); | ||||
|             OnRecycle?.Invoke(this); | ||||
|         } | ||||
| 
 | ||||
| 
 | ||||
|         private void ClearChildren() | ||||
|         { | ||||
|              | ||||
|             if(_children != null && _children.Count > 0) | ||||
|             { | ||||
|                 foreach (var child in _children) | ||||
|                 { | ||||
|                     Destroy(child); | ||||
|                 } | ||||
|                 _children.Clear(); | ||||
|             } | ||||
|         } | ||||
| 
 | ||||
| 
 | ||||
|         public void AddChild(GameObject obj) | ||||
|         { | ||||
|             _children.Add(obj); | ||||
|         } | ||||
| 
 | ||||
| 
 | ||||
|         public override void Refresh() | ||||
|         { | ||||
|             var idx = transform.GetSiblingIndex(); | ||||
|             _bgImage.color = idx % 2 == 0 ? GlobalVars.Colors.Gray : GlobalVars.Colors.Gray2; | ||||
|         } | ||||
|          | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
|     } | ||||
| } | ||||
|  | @ -1,3 +0,0 @@ | |||
| fileFormatVersion: 2 | ||||
| guid: 8010bd3b4bfd4274997d438a1d99ae19 | ||||
| timeCreated: 1711024532 | ||||
|  | @ -1,93 +0,0 @@ | |||
| 
 | ||||
| 
 | ||||
| namespace Guru | ||||
| { | ||||
|     using UnityEngine; | ||||
|     using System; | ||||
|     using UnityEngine.UI; | ||||
|     using G = GlobalVars; | ||||
|      | ||||
|     public class UITabItem: UIComponent | ||||
|     { | ||||
|         [SerializeField] private VButton _btn; | ||||
| 
 | ||||
|         private string _label; | ||||
|         public string Label | ||||
|         { | ||||
|             get => _label; | ||||
|             set | ||||
|             { | ||||
|                 _label = value; | ||||
|                 _btn.Label = value; | ||||
|             } | ||||
|         } | ||||
| 
 | ||||
|         private bool _selected = false; | ||||
| 
 | ||||
|         public bool Selected | ||||
|         { | ||||
|             get => _selected; | ||||
|             set | ||||
|             { | ||||
|                 _selected = value; | ||||
|                 Refresh(); | ||||
|             } | ||||
|         } | ||||
|         public Action<string> OnClicked; | ||||
|         public Action<UITabItem> OnRecycle; | ||||
| 
 | ||||
|         #region Init | ||||
| 
 | ||||
|         protected override void OnCreated() | ||||
|         { | ||||
|             _btn.OnClicked = OnTabClickedEvent; | ||||
|         } | ||||
| 
 | ||||
| 
 | ||||
|         private void OnTabClickedEvent() | ||||
|         { | ||||
|             Selected = !Selected; | ||||
|             OnClicked?.Invoke(_label); | ||||
|             Refresh(); | ||||
|         } | ||||
| 
 | ||||
| 
 | ||||
|         public void InitWithData(long gid, string label = "") | ||||
|         { | ||||
|             GID = gid; | ||||
|             name = $"tab_{GID}"; | ||||
|             _btn.name = "_btn"; | ||||
| 
 | ||||
|             if (!string.IsNullOrEmpty(label)) | ||||
|             { | ||||
|                 Label = label; | ||||
|             } | ||||
| 
 | ||||
|         } | ||||
| 
 | ||||
| 
 | ||||
|         #endregion | ||||
|          | ||||
|         #region UI | ||||
| 
 | ||||
|         public override void Refresh() | ||||
|         { | ||||
|             _btn.Color = Selected? G.Colors.LightGreen: G.Colors.Gray; | ||||
|         } | ||||
| 
 | ||||
|         #endregion | ||||
| 
 | ||||
|         #region Recycle | ||||
| 
 | ||||
| 
 | ||||
|         public void Dispose() | ||||
|         { | ||||
|             OnClicked = null; | ||||
|             OnRecycle?.Invoke(this); | ||||
|         } | ||||
| 
 | ||||
| 
 | ||||
|         #endregion | ||||
|          | ||||
|     } | ||||
| } | ||||
|  | @ -1,3 +0,0 @@ | |||
| fileFormatVersion: 2 | ||||
| guid: 74db3f6a69ff47f0880e1250393e6f7f | ||||
| timeCreated: 1711020325 | ||||
|  | @ -1,52 +0,0 @@ | |||
| 
 | ||||
| 
 | ||||
| namespace Guru | ||||
| { | ||||
|     using System; | ||||
|     using UnityEngine; | ||||
|     using UnityEngine.UI; | ||||
| 
 | ||||
|     public class VButton: UIComponent | ||||
|     { | ||||
|         [SerializeField] private Image _image; | ||||
|         [SerializeField] private Text _label; | ||||
|         [SerializeField] private Button _button; | ||||
|          | ||||
|         public string Label | ||||
|         { | ||||
|             get => _label.text; | ||||
|             set => _label.text = value; | ||||
|         } | ||||
|          | ||||
|         public Action OnClicked; | ||||
|          | ||||
|         public Color Color | ||||
|         { | ||||
|             get => _image.color; | ||||
|             set => _image.color = value; | ||||
|         } | ||||
|          | ||||
|         public Color LabelColor | ||||
|         { | ||||
|             get => _label.color; | ||||
|             set => _label.color = value; | ||||
|         } | ||||
| 
 | ||||
| 
 | ||||
|         protected override void OnCreated() | ||||
|         { | ||||
|             _button.onClick.AddListener(OnSelfClicked); | ||||
|         } | ||||
|         private void OnSelfClicked() | ||||
|         { | ||||
|             OnClicked?.Invoke(); | ||||
|         } | ||||
|          | ||||
|          | ||||
|          | ||||
|          | ||||
|          | ||||
|          | ||||
|          | ||||
|     } | ||||
| } | ||||
|  | @ -1,3 +0,0 @@ | |||
| fileFormatVersion: 2 | ||||
| guid: cd788ac6ee4f4afe9d57738d49a3fdc4 | ||||
| timeCreated: 1711020763 | ||||
|  | @ -1,36 +0,0 @@ | |||
| 
 | ||||
| using System; | ||||
| 
 | ||||
| namespace Guru | ||||
| { | ||||
|     using UnityEngine; | ||||
|     using UnityEngine.UI; | ||||
|      | ||||
|     public class VLabel : UIComponent | ||||
|     { | ||||
|         [SerializeField] private Text _label; | ||||
|         public string Text | ||||
|         { | ||||
|             get => _label.text; | ||||
|             set => _label.text = value; | ||||
|         } | ||||
|          | ||||
|         public Color Color | ||||
|         { | ||||
|             get => _label.color; | ||||
|             set => _label.color = value; | ||||
|         } | ||||
| 
 | ||||
|         private TextAnchor _align; | ||||
|         public TextAnchor Align | ||||
|         { | ||||
|             get => _align; | ||||
|             set | ||||
|             { | ||||
|                 _align = value; | ||||
|                 _label.alignment = _align; | ||||
|             } | ||||
|         } | ||||
| 
 | ||||
|     } | ||||
| } | ||||
|  | @ -1,3 +0,0 @@ | |||
| fileFormatVersion: 2 | ||||
| guid: e85702df90d74eb4892a7a742bcb0f05 | ||||
| timeCreated: 1711026040 | ||||
|  | @ -1,8 +0,0 @@ | |||
| fileFormatVersion: 2 | ||||
| guid: 47c2a153e811d49d1b9680abd08382f7 | ||||
| folderAsset: yes | ||||
| DefaultImporter: | ||||
|   externalObjects: {} | ||||
|   userData:  | ||||
|   assetBundleName:  | ||||
|   assetBundleVariant:  | ||||
|  | @ -1,206 +0,0 @@ | |||
| %YAML 1.1 | ||||
| %TAG !u! tag:unity3d.com,2011: | ||||
| --- !u!1 &5161587445136557863 | ||||
| GameObject: | ||||
|   m_ObjectHideFlags: 0 | ||||
|   m_CorrespondingSourceObject: {fileID: 0} | ||||
|   m_PrefabInstance: {fileID: 0} | ||||
|   m_PrefabAsset: {fileID: 0} | ||||
|   serializedVersion: 6 | ||||
|   m_Component: | ||||
|   - component: {fileID: 148257080420939497} | ||||
|   - component: {fileID: 1727577413956784551} | ||||
|   - component: {fileID: 2268706270294319084} | ||||
|   m_Layer: 5 | ||||
|   m_Name: label | ||||
|   m_TagString: Untagged | ||||
|   m_Icon: {fileID: 0} | ||||
|   m_NavMeshLayer: 0 | ||||
|   m_StaticEditorFlags: 0 | ||||
|   m_IsActive: 1 | ||||
| --- !u!224 &148257080420939497 | ||||
| RectTransform: | ||||
|   m_ObjectHideFlags: 0 | ||||
|   m_CorrespondingSourceObject: {fileID: 0} | ||||
|   m_PrefabInstance: {fileID: 0} | ||||
|   m_PrefabAsset: {fileID: 0} | ||||
|   m_GameObject: {fileID: 5161587445136557863} | ||||
|   m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} | ||||
|   m_LocalPosition: {x: 0, y: 0, z: 0} | ||||
|   m_LocalScale: {x: 1, y: 1, z: 1} | ||||
|   m_ConstrainProportionsScale: 0 | ||||
|   m_Children: [] | ||||
|   m_Father: {fileID: 1939155628914972370} | ||||
|   m_RootOrder: 0 | ||||
|   m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} | ||||
|   m_AnchorMin: {x: 0.5, y: 0.5} | ||||
|   m_AnchorMax: {x: 0.5, y: 0.5} | ||||
|   m_AnchoredPosition: {x: 0, y: 0} | ||||
|   m_SizeDelta: {x: 100, y: 100} | ||||
|   m_Pivot: {x: 0.5, y: 0.5} | ||||
| --- !u!222 &1727577413956784551 | ||||
| CanvasRenderer: | ||||
|   m_ObjectHideFlags: 0 | ||||
|   m_CorrespondingSourceObject: {fileID: 0} | ||||
|   m_PrefabInstance: {fileID: 0} | ||||
|   m_PrefabAsset: {fileID: 0} | ||||
|   m_GameObject: {fileID: 5161587445136557863} | ||||
|   m_CullTransparentMesh: 1 | ||||
| --- !u!114 &2268706270294319084 | ||||
| MonoBehaviour: | ||||
|   m_ObjectHideFlags: 0 | ||||
|   m_CorrespondingSourceObject: {fileID: 0} | ||||
|   m_PrefabInstance: {fileID: 0} | ||||
|   m_PrefabAsset: {fileID: 0} | ||||
|   m_GameObject: {fileID: 5161587445136557863} | ||||
|   m_Enabled: 1 | ||||
|   m_EditorHideFlags: 0 | ||||
|   m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3} | ||||
|   m_Name:  | ||||
|   m_EditorClassIdentifier:  | ||||
|   m_Material: {fileID: 0} | ||||
|   m_Color: {r: 1, g: 1, b: 1, a: 1} | ||||
|   m_RaycastTarget: 0 | ||||
|   m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} | ||||
|   m_Maskable: 1 | ||||
|   m_OnCullStateChanged: | ||||
|     m_PersistentCalls: | ||||
|       m_Calls: [] | ||||
|   m_FontData: | ||||
|     m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0} | ||||
|     m_FontSize: 14 | ||||
|     m_FontStyle: 0 | ||||
|     m_BestFit: 1 | ||||
|     m_MinSize: 10 | ||||
|     m_MaxSize: 40 | ||||
|     m_Alignment: 4 | ||||
|     m_AlignByGeometry: 0 | ||||
|     m_RichText: 1 | ||||
|     m_HorizontalOverflow: 0 | ||||
|     m_VerticalOverflow: 0 | ||||
|     m_LineSpacing: 1 | ||||
|   m_Text: INFO | ||||
| --- !u!1 &8854415019278044657 | ||||
| GameObject: | ||||
|   m_ObjectHideFlags: 0 | ||||
|   m_CorrespondingSourceObject: {fileID: 0} | ||||
|   m_PrefabInstance: {fileID: 0} | ||||
|   m_PrefabAsset: {fileID: 0} | ||||
|   serializedVersion: 6 | ||||
|   m_Component: | ||||
|   - component: {fileID: 1939155628914972370} | ||||
|   - component: {fileID: 7097619541680742948} | ||||
|   - component: {fileID: 3799638908809225334} | ||||
|   - component: {fileID: 7483045806784872229} | ||||
|   m_Layer: 5 | ||||
|   m_Name: btn_item | ||||
|   m_TagString: Untagged | ||||
|   m_Icon: {fileID: 0} | ||||
|   m_NavMeshLayer: 0 | ||||
|   m_StaticEditorFlags: 0 | ||||
|   m_IsActive: 1 | ||||
| --- !u!224 &1939155628914972370 | ||||
| RectTransform: | ||||
|   m_ObjectHideFlags: 0 | ||||
|   m_CorrespondingSourceObject: {fileID: 0} | ||||
|   m_PrefabInstance: {fileID: 0} | ||||
|   m_PrefabAsset: {fileID: 0} | ||||
|   m_GameObject: {fileID: 8854415019278044657} | ||||
|   m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} | ||||
|   m_LocalPosition: {x: 0, y: 0, z: 0} | ||||
|   m_LocalScale: {x: 1, y: 1, z: 1} | ||||
|   m_ConstrainProportionsScale: 0 | ||||
|   m_Children: | ||||
|   - {fileID: 148257080420939497} | ||||
|   m_Father: {fileID: 0} | ||||
|   m_RootOrder: 0 | ||||
|   m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} | ||||
|   m_AnchorMin: {x: 0, y: 0} | ||||
|   m_AnchorMax: {x: 0, y: 0} | ||||
|   m_AnchoredPosition: {x: 100, y: 50} | ||||
|   m_SizeDelta: {x: 200, y: 100} | ||||
|   m_Pivot: {x: 0.5, y: 0.5} | ||||
| --- !u!222 &7097619541680742948 | ||||
| CanvasRenderer: | ||||
|   m_ObjectHideFlags: 0 | ||||
|   m_CorrespondingSourceObject: {fileID: 0} | ||||
|   m_PrefabInstance: {fileID: 0} | ||||
|   m_PrefabAsset: {fileID: 0} | ||||
|   m_GameObject: {fileID: 8854415019278044657} | ||||
|   m_CullTransparentMesh: 1 | ||||
| --- !u!114 &3799638908809225334 | ||||
| MonoBehaviour: | ||||
|   m_ObjectHideFlags: 0 | ||||
|   m_CorrespondingSourceObject: {fileID: 0} | ||||
|   m_PrefabInstance: {fileID: 0} | ||||
|   m_PrefabAsset: {fileID: 0} | ||||
|   m_GameObject: {fileID: 8854415019278044657} | ||||
|   m_Enabled: 1 | ||||
|   m_EditorHideFlags: 0 | ||||
|   m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} | ||||
|   m_Name:  | ||||
|   m_EditorClassIdentifier:  | ||||
|   m_Material: {fileID: 0} | ||||
|   m_Color: {r: 0.078431375, g: 1, b: 0.78765476, a: 0.5372549} | ||||
|   m_RaycastTarget: 1 | ||||
|   m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} | ||||
|   m_Maskable: 1 | ||||
|   m_OnCullStateChanged: | ||||
|     m_PersistentCalls: | ||||
|       m_Calls: [] | ||||
|   m_Sprite: {fileID: 0} | ||||
|   m_Type: 0 | ||||
|   m_PreserveAspect: 0 | ||||
|   m_FillCenter: 1 | ||||
|   m_FillMethod: 4 | ||||
|   m_FillAmount: 1 | ||||
|   m_FillClockwise: 1 | ||||
|   m_FillOrigin: 0 | ||||
|   m_UseSpriteMesh: 0 | ||||
|   m_PixelsPerUnitMultiplier: 1 | ||||
| --- !u!114 &7483045806784872229 | ||||
| MonoBehaviour: | ||||
|   m_ObjectHideFlags: 0 | ||||
|   m_CorrespondingSourceObject: {fileID: 0} | ||||
|   m_PrefabInstance: {fileID: 0} | ||||
|   m_PrefabAsset: {fileID: 0} | ||||
|   m_GameObject: {fileID: 8854415019278044657} | ||||
|   m_Enabled: 1 | ||||
|   m_EditorHideFlags: 0 | ||||
|   m_Script: {fileID: 11500000, guid: cd788ac6ee4f4afe9d57738d49a3fdc4, type: 3} | ||||
|   m_Name:  | ||||
|   m_EditorClassIdentifier:  | ||||
|   m_Navigation: | ||||
|     m_Mode: 3 | ||||
|     m_WrapAround: 0 | ||||
|     m_SelectOnUp: {fileID: 0} | ||||
|     m_SelectOnDown: {fileID: 0} | ||||
|     m_SelectOnLeft: {fileID: 0} | ||||
|     m_SelectOnRight: {fileID: 0} | ||||
|   m_Transition: 1 | ||||
|   m_Colors: | ||||
|     m_NormalColor: {r: 1, g: 1, b: 1, a: 1} | ||||
|     m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} | ||||
|     m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1} | ||||
|     m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} | ||||
|     m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608} | ||||
|     m_ColorMultiplier: 1 | ||||
|     m_FadeDuration: 0.1 | ||||
|   m_SpriteState: | ||||
|     m_HighlightedSprite: {fileID: 0} | ||||
|     m_PressedSprite: {fileID: 0} | ||||
|     m_SelectedSprite: {fileID: 0} | ||||
|     m_DisabledSprite: {fileID: 0} | ||||
|   m_AnimationTriggers: | ||||
|     m_NormalTrigger: Normal | ||||
|     m_HighlightedTrigger: Highlighted | ||||
|     m_PressedTrigger: Pressed | ||||
|     m_SelectedTrigger: Selected | ||||
|     m_DisabledTrigger: Disabled | ||||
|   m_Interactable: 1 | ||||
|   m_TargetGraphic: {fileID: 3799638908809225334} | ||||
|   m_OnClick: | ||||
|     m_PersistentCalls: | ||||
|       m_Calls: [] | ||||
|   _image: {fileID: 0} | ||||
|   _label: {fileID: 0} | ||||
|  | @ -1,7 +0,0 @@ | |||
| fileFormatVersion: 2 | ||||
| guid: c84e57ed527f24e6ab91e1cf45aa6ca4 | ||||
| PrefabImporter: | ||||
|   externalObjects: {} | ||||
|   userData:  | ||||
|   assetBundleName:  | ||||
|   assetBundleVariant:  | ||||
|  | @ -1,391 +0,0 @@ | |||
| %YAML 1.1 | ||||
| %TAG !u! tag:unity3d.com,2011: | ||||
| --- !u!1 &2528333701503730058 | ||||
| GameObject: | ||||
|   m_ObjectHideFlags: 0 | ||||
|   m_CorrespondingSourceObject: {fileID: 0} | ||||
|   m_PrefabInstance: {fileID: 0} | ||||
|   m_PrefabAsset: {fileID: 0} | ||||
|   serializedVersion: 6 | ||||
|   m_Component: | ||||
|   - component: {fileID: 695922022511621486} | ||||
|   - component: {fileID: 412087832265673011} | ||||
|   m_Layer: 0 | ||||
|   m_Name: root | ||||
|   m_TagString: Untagged | ||||
|   m_Icon: {fileID: 0} | ||||
|   m_NavMeshLayer: 0 | ||||
|   m_StaticEditorFlags: 0 | ||||
|   m_IsActive: 1 | ||||
| --- !u!224 &695922022511621486 | ||||
| RectTransform: | ||||
|   m_ObjectHideFlags: 0 | ||||
|   m_CorrespondingSourceObject: {fileID: 0} | ||||
|   m_PrefabInstance: {fileID: 0} | ||||
|   m_PrefabAsset: {fileID: 0} | ||||
|   m_GameObject: {fileID: 2528333701503730058} | ||||
|   m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} | ||||
|   m_LocalPosition: {x: 0, y: 0, z: 0} | ||||
|   m_LocalScale: {x: 1, y: 1, z: 1} | ||||
|   m_ConstrainProportionsScale: 0 | ||||
|   m_Children: | ||||
|   - {fileID: 629926880474666585} | ||||
|   - {fileID: 7248743696833887442} | ||||
|   m_Father: {fileID: 4102609491836130493} | ||||
|   m_RootOrder: 0 | ||||
|   m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} | ||||
|   m_AnchorMin: {x: 0, y: 0} | ||||
|   m_AnchorMax: {x: 1, y: 1} | ||||
|   m_AnchoredPosition: {x: 10, y: 0} | ||||
|   m_SizeDelta: {x: -20, y: -20} | ||||
|   m_Pivot: {x: 0, y: 0.5} | ||||
| --- !u!114 &412087832265673011 | ||||
| MonoBehaviour: | ||||
|   m_ObjectHideFlags: 0 | ||||
|   m_CorrespondingSourceObject: {fileID: 0} | ||||
|   m_PrefabInstance: {fileID: 0} | ||||
|   m_PrefabAsset: {fileID: 0} | ||||
|   m_GameObject: {fileID: 2528333701503730058} | ||||
|   m_Enabled: 1 | ||||
|   m_EditorHideFlags: 0 | ||||
|   m_Script: {fileID: 11500000, guid: 30649d3a9faa99c48a7b1166b86bf2a0, type: 3} | ||||
|   m_Name:  | ||||
|   m_EditorClassIdentifier:  | ||||
|   m_Padding: | ||||
|     m_Left: 0 | ||||
|     m_Right: 0 | ||||
|     m_Top: 0 | ||||
|     m_Bottom: 0 | ||||
|   m_ChildAlignment: 3 | ||||
|   m_Spacing: 6 | ||||
|   m_ChildForceExpandWidth: 1 | ||||
|   m_ChildForceExpandHeight: 1 | ||||
|   m_ChildControlWidth: 1 | ||||
|   m_ChildControlHeight: 1 | ||||
|   m_ChildScaleWidth: 0 | ||||
|   m_ChildScaleHeight: 0 | ||||
|   m_ReverseArrangement: 0 | ||||
| --- !u!1 &4102609491836130490 | ||||
| GameObject: | ||||
|   m_ObjectHideFlags: 0 | ||||
|   m_CorrespondingSourceObject: {fileID: 0} | ||||
|   m_PrefabInstance: {fileID: 0} | ||||
|   m_PrefabAsset: {fileID: 0} | ||||
|   serializedVersion: 6 | ||||
|   m_Component: | ||||
|   - component: {fileID: 4102609491836130493} | ||||
|   - component: {fileID: 4102609491836130495} | ||||
|   - component: {fileID: 4102609491836130492} | ||||
|   - component: {fileID: 6345045228542041246} | ||||
|   m_Layer: 5 | ||||
|   m_Name: opt_node_item | ||||
|   m_TagString: Untagged | ||||
|   m_Icon: {fileID: 0} | ||||
|   m_NavMeshLayer: 0 | ||||
|   m_StaticEditorFlags: 0 | ||||
|   m_IsActive: 1 | ||||
| --- !u!224 &4102609491836130493 | ||||
| RectTransform: | ||||
|   m_ObjectHideFlags: 0 | ||||
|   m_CorrespondingSourceObject: {fileID: 0} | ||||
|   m_PrefabInstance: {fileID: 0} | ||||
|   m_PrefabAsset: {fileID: 0} | ||||
|   m_GameObject: {fileID: 4102609491836130490} | ||||
|   m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} | ||||
|   m_LocalPosition: {x: 0, y: 0, z: 0} | ||||
|   m_LocalScale: {x: 1, y: 1, z: 1} | ||||
|   m_ConstrainProportionsScale: 0 | ||||
|   m_Children: | ||||
|   - {fileID: 695922022511621486} | ||||
|   m_Father: {fileID: 0} | ||||
|   m_RootOrder: 0 | ||||
|   m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} | ||||
|   m_AnchorMin: {x: 0, y: 0} | ||||
|   m_AnchorMax: {x: 0, y: 0} | ||||
|   m_AnchoredPosition: {x: 0, y: 0} | ||||
|   m_SizeDelta: {x: 0, y: 160} | ||||
|   m_Pivot: {x: 0.5, y: 0.5} | ||||
| --- !u!222 &4102609491836130495 | ||||
| CanvasRenderer: | ||||
|   m_ObjectHideFlags: 0 | ||||
|   m_CorrespondingSourceObject: {fileID: 0} | ||||
|   m_PrefabInstance: {fileID: 0} | ||||
|   m_PrefabAsset: {fileID: 0} | ||||
|   m_GameObject: {fileID: 4102609491836130490} | ||||
|   m_CullTransparentMesh: 1 | ||||
| --- !u!114 &4102609491836130492 | ||||
| MonoBehaviour: | ||||
|   m_ObjectHideFlags: 0 | ||||
|   m_CorrespondingSourceObject: {fileID: 0} | ||||
|   m_PrefabInstance: {fileID: 0} | ||||
|   m_PrefabAsset: {fileID: 0} | ||||
|   m_GameObject: {fileID: 4102609491836130490} | ||||
|   m_Enabled: 1 | ||||
|   m_EditorHideFlags: 0 | ||||
|   m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} | ||||
|   m_Name:  | ||||
|   m_EditorClassIdentifier:  | ||||
|   m_Material: {fileID: 0} | ||||
|   m_Color: {r: 0, g: 0, b: 0, a: 0.39215687} | ||||
|   m_RaycastTarget: 1 | ||||
|   m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} | ||||
|   m_Maskable: 1 | ||||
|   m_OnCullStateChanged: | ||||
|     m_PersistentCalls: | ||||
|       m_Calls: [] | ||||
|   m_Sprite: {fileID: 0} | ||||
|   m_Type: 0 | ||||
|   m_PreserveAspect: 0 | ||||
|   m_FillCenter: 1 | ||||
|   m_FillMethod: 4 | ||||
|   m_FillAmount: 1 | ||||
|   m_FillClockwise: 1 | ||||
|   m_FillOrigin: 0 | ||||
|   m_UseSpriteMesh: 0 | ||||
|   m_PixelsPerUnitMultiplier: 1 | ||||
| --- !u!114 &6345045228542041246 | ||||
| MonoBehaviour: | ||||
|   m_ObjectHideFlags: 0 | ||||
|   m_CorrespondingSourceObject: {fileID: 0} | ||||
|   m_PrefabInstance: {fileID: 0} | ||||
|   m_PrefabAsset: {fileID: 0} | ||||
|   m_GameObject: {fileID: 4102609491836130490} | ||||
|   m_Enabled: 1 | ||||
|   m_EditorHideFlags: 0 | ||||
|   m_Script: {fileID: 11500000, guid: 8010bd3b4bfd4274997d438a1d99ae19, type: 3} | ||||
|   m_Name:  | ||||
|   m_EditorClassIdentifier:  | ||||
|   _root: {fileID: 695922022511621486} | ||||
|   _label: {fileID: 2993293849972821997} | ||||
|   _content: {fileID: 5021256505751954790} | ||||
|   _bgImage: {fileID: 4102609491836130492} | ||||
| --- !u!1001 &83327412588764366 | ||||
| PrefabInstance: | ||||
|   m_ObjectHideFlags: 0 | ||||
|   serializedVersion: 2 | ||||
|   m_Modification: | ||||
|     m_TransformParent: {fileID: 695922022511621486} | ||||
|     m_Modifications: | ||||
|     - target: {fileID: 2277169281067990379, guid: 4557ac9378ce94fd38269da8f9aa86e3, type: 3} | ||||
|       propertyPath: m_Name | ||||
|       value: _content | ||||
|       objectReference: {fileID: 0} | ||||
|     - target: {fileID: 4704551826277804405, guid: 4557ac9378ce94fd38269da8f9aa86e3, type: 3} | ||||
|       propertyPath: m_Text | ||||
|       value: Content | ||||
|       objectReference: {fileID: 0} | ||||
|     - target: {fileID: 7327563488862494748, guid: 4557ac9378ce94fd38269da8f9aa86e3, type: 3} | ||||
|       propertyPath: m_Pivot.x | ||||
|       value: 0.5 | ||||
|       objectReference: {fileID: 0} | ||||
|     - target: {fileID: 7327563488862494748, guid: 4557ac9378ce94fd38269da8f9aa86e3, type: 3} | ||||
|       propertyPath: m_Pivot.y | ||||
|       value: 0.5 | ||||
|       objectReference: {fileID: 0} | ||||
|     - target: {fileID: 7327563488862494748, guid: 4557ac9378ce94fd38269da8f9aa86e3, type: 3} | ||||
|       propertyPath: m_RootOrder | ||||
|       value: 1 | ||||
|       objectReference: {fileID: 0} | ||||
|     - target: {fileID: 7327563488862494748, guid: 4557ac9378ce94fd38269da8f9aa86e3, type: 3} | ||||
|       propertyPath: m_AnchorMax.x | ||||
|       value: 0 | ||||
|       objectReference: {fileID: 0} | ||||
|     - target: {fileID: 7327563488862494748, guid: 4557ac9378ce94fd38269da8f9aa86e3, type: 3} | ||||
|       propertyPath: m_AnchorMax.y | ||||
|       value: 0 | ||||
|       objectReference: {fileID: 0} | ||||
|     - target: {fileID: 7327563488862494748, guid: 4557ac9378ce94fd38269da8f9aa86e3, type: 3} | ||||
|       propertyPath: m_AnchorMin.x | ||||
|       value: 0 | ||||
|       objectReference: {fileID: 0} | ||||
|     - target: {fileID: 7327563488862494748, guid: 4557ac9378ce94fd38269da8f9aa86e3, type: 3} | ||||
|       propertyPath: m_AnchorMin.y | ||||
|       value: 0 | ||||
|       objectReference: {fileID: 0} | ||||
|     - target: {fileID: 7327563488862494748, guid: 4557ac9378ce94fd38269da8f9aa86e3, type: 3} | ||||
|       propertyPath: m_SizeDelta.x | ||||
|       value: 0 | ||||
|       objectReference: {fileID: 0} | ||||
|     - target: {fileID: 7327563488862494748, guid: 4557ac9378ce94fd38269da8f9aa86e3, type: 3} | ||||
|       propertyPath: m_SizeDelta.y | ||||
|       value: 0 | ||||
|       objectReference: {fileID: 0} | ||||
|     - target: {fileID: 7327563488862494748, guid: 4557ac9378ce94fd38269da8f9aa86e3, type: 3} | ||||
|       propertyPath: m_LocalPosition.x | ||||
|       value: 0 | ||||
|       objectReference: {fileID: 0} | ||||
|     - target: {fileID: 7327563488862494748, guid: 4557ac9378ce94fd38269da8f9aa86e3, type: 3} | ||||
|       propertyPath: m_LocalPosition.y | ||||
|       value: 0 | ||||
|       objectReference: {fileID: 0} | ||||
|     - target: {fileID: 7327563488862494748, guid: 4557ac9378ce94fd38269da8f9aa86e3, type: 3} | ||||
|       propertyPath: m_LocalPosition.z | ||||
|       value: 0 | ||||
|       objectReference: {fileID: 0} | ||||
|     - target: {fileID: 7327563488862494748, guid: 4557ac9378ce94fd38269da8f9aa86e3, type: 3} | ||||
|       propertyPath: m_LocalRotation.w | ||||
|       value: 1 | ||||
|       objectReference: {fileID: 0} | ||||
|     - target: {fileID: 7327563488862494748, guid: 4557ac9378ce94fd38269da8f9aa86e3, type: 3} | ||||
|       propertyPath: m_LocalRotation.x | ||||
|       value: -0 | ||||
|       objectReference: {fileID: 0} | ||||
|     - target: {fileID: 7327563488862494748, guid: 4557ac9378ce94fd38269da8f9aa86e3, type: 3} | ||||
|       propertyPath: m_LocalRotation.y | ||||
|       value: -0 | ||||
|       objectReference: {fileID: 0} | ||||
|     - target: {fileID: 7327563488862494748, guid: 4557ac9378ce94fd38269da8f9aa86e3, type: 3} | ||||
|       propertyPath: m_LocalRotation.z | ||||
|       value: -0 | ||||
|       objectReference: {fileID: 0} | ||||
|     - target: {fileID: 7327563488862494748, guid: 4557ac9378ce94fd38269da8f9aa86e3, type: 3} | ||||
|       propertyPath: m_AnchoredPosition.x | ||||
|       value: 0 | ||||
|       objectReference: {fileID: 0} | ||||
|     - target: {fileID: 7327563488862494748, guid: 4557ac9378ce94fd38269da8f9aa86e3, type: 3} | ||||
|       propertyPath: m_AnchoredPosition.y | ||||
|       value: 0 | ||||
|       objectReference: {fileID: 0} | ||||
|     - target: {fileID: 7327563488862494748, guid: 4557ac9378ce94fd38269da8f9aa86e3, type: 3} | ||||
|       propertyPath: m_LocalEulerAnglesHint.x | ||||
|       value: 0 | ||||
|       objectReference: {fileID: 0} | ||||
|     - target: {fileID: 7327563488862494748, guid: 4557ac9378ce94fd38269da8f9aa86e3, type: 3} | ||||
|       propertyPath: m_LocalEulerAnglesHint.y | ||||
|       value: 0 | ||||
|       objectReference: {fileID: 0} | ||||
|     - target: {fileID: 7327563488862494748, guid: 4557ac9378ce94fd38269da8f9aa86e3, type: 3} | ||||
|       propertyPath: m_LocalEulerAnglesHint.z | ||||
|       value: 0 | ||||
|       objectReference: {fileID: 0} | ||||
|     m_RemovedComponents: [] | ||||
|   m_SourcePrefab: {fileID: 100100000, guid: 4557ac9378ce94fd38269da8f9aa86e3, type: 3} | ||||
| --- !u!114 &5021256505751954790 stripped | ||||
| MonoBehaviour: | ||||
|   m_CorrespondingSourceObject: {fileID: 4937950594306488744, guid: 4557ac9378ce94fd38269da8f9aa86e3, type: 3} | ||||
|   m_PrefabInstance: {fileID: 83327412588764366} | ||||
|   m_PrefabAsset: {fileID: 0} | ||||
|   m_GameObject: {fileID: 0} | ||||
|   m_Enabled: 1 | ||||
|   m_EditorHideFlags: 0 | ||||
|   m_Script: {fileID: 11500000, guid: e85702df90d74eb4892a7a742bcb0f05, type: 3} | ||||
|   m_Name:  | ||||
|   m_EditorClassIdentifier:  | ||||
| --- !u!224 &7248743696833887442 stripped | ||||
| RectTransform: | ||||
|   m_CorrespondingSourceObject: {fileID: 7327563488862494748, guid: 4557ac9378ce94fd38269da8f9aa86e3, type: 3} | ||||
|   m_PrefabInstance: {fileID: 83327412588764366} | ||||
|   m_PrefabAsset: {fileID: 0} | ||||
| --- !u!1001 &7858023797254583877 | ||||
| PrefabInstance: | ||||
|   m_ObjectHideFlags: 0 | ||||
|   serializedVersion: 2 | ||||
|   m_Modification: | ||||
|     m_TransformParent: {fileID: 695922022511621486} | ||||
|     m_Modifications: | ||||
|     - target: {fileID: 2277169281067990379, guid: 4557ac9378ce94fd38269da8f9aa86e3, type: 3} | ||||
|       propertyPath: m_Name | ||||
|       value: _label | ||||
|       objectReference: {fileID: 0} | ||||
|     - target: {fileID: 7327563488862494748, guid: 4557ac9378ce94fd38269da8f9aa86e3, type: 3} | ||||
|       propertyPath: m_Pivot.x | ||||
|       value: 0.5 | ||||
|       objectReference: {fileID: 0} | ||||
|     - target: {fileID: 7327563488862494748, guid: 4557ac9378ce94fd38269da8f9aa86e3, type: 3} | ||||
|       propertyPath: m_Pivot.y | ||||
|       value: 0.5 | ||||
|       objectReference: {fileID: 0} | ||||
|     - target: {fileID: 7327563488862494748, guid: 4557ac9378ce94fd38269da8f9aa86e3, type: 3} | ||||
|       propertyPath: m_RootOrder | ||||
|       value: 0 | ||||
|       objectReference: {fileID: 0} | ||||
|     - target: {fileID: 7327563488862494748, guid: 4557ac9378ce94fd38269da8f9aa86e3, type: 3} | ||||
|       propertyPath: m_AnchorMax.x | ||||
|       value: 0 | ||||
|       objectReference: {fileID: 0} | ||||
|     - target: {fileID: 7327563488862494748, guid: 4557ac9378ce94fd38269da8f9aa86e3, type: 3} | ||||
|       propertyPath: m_AnchorMax.y | ||||
|       value: 0 | ||||
|       objectReference: {fileID: 0} | ||||
|     - target: {fileID: 7327563488862494748, guid: 4557ac9378ce94fd38269da8f9aa86e3, type: 3} | ||||
|       propertyPath: m_AnchorMin.x | ||||
|       value: 0 | ||||
|       objectReference: {fileID: 0} | ||||
|     - target: {fileID: 7327563488862494748, guid: 4557ac9378ce94fd38269da8f9aa86e3, type: 3} | ||||
|       propertyPath: m_AnchorMin.y | ||||
|       value: 0 | ||||
|       objectReference: {fileID: 0} | ||||
|     - target: {fileID: 7327563488862494748, guid: 4557ac9378ce94fd38269da8f9aa86e3, type: 3} | ||||
|       propertyPath: m_SizeDelta.x | ||||
|       value: 0 | ||||
|       objectReference: {fileID: 0} | ||||
|     - target: {fileID: 7327563488862494748, guid: 4557ac9378ce94fd38269da8f9aa86e3, type: 3} | ||||
|       propertyPath: m_SizeDelta.y | ||||
|       value: 0 | ||||
|       objectReference: {fileID: 0} | ||||
|     - target: {fileID: 7327563488862494748, guid: 4557ac9378ce94fd38269da8f9aa86e3, type: 3} | ||||
|       propertyPath: m_LocalPosition.x | ||||
|       value: 0 | ||||
|       objectReference: {fileID: 0} | ||||
|     - target: {fileID: 7327563488862494748, guid: 4557ac9378ce94fd38269da8f9aa86e3, type: 3} | ||||
|       propertyPath: m_LocalPosition.y | ||||
|       value: 0 | ||||
|       objectReference: {fileID: 0} | ||||
|     - target: {fileID: 7327563488862494748, guid: 4557ac9378ce94fd38269da8f9aa86e3, type: 3} | ||||
|       propertyPath: m_LocalPosition.z | ||||
|       value: 0 | ||||
|       objectReference: {fileID: 0} | ||||
|     - target: {fileID: 7327563488862494748, guid: 4557ac9378ce94fd38269da8f9aa86e3, type: 3} | ||||
|       propertyPath: m_LocalRotation.w | ||||
|       value: 1 | ||||
|       objectReference: {fileID: 0} | ||||
|     - target: {fileID: 7327563488862494748, guid: 4557ac9378ce94fd38269da8f9aa86e3, type: 3} | ||||
|       propertyPath: m_LocalRotation.x | ||||
|       value: -0 | ||||
|       objectReference: {fileID: 0} | ||||
|     - target: {fileID: 7327563488862494748, guid: 4557ac9378ce94fd38269da8f9aa86e3, type: 3} | ||||
|       propertyPath: m_LocalRotation.y | ||||
|       value: -0 | ||||
|       objectReference: {fileID: 0} | ||||
|     - target: {fileID: 7327563488862494748, guid: 4557ac9378ce94fd38269da8f9aa86e3, type: 3} | ||||
|       propertyPath: m_LocalRotation.z | ||||
|       value: -0 | ||||
|       objectReference: {fileID: 0} | ||||
|     - target: {fileID: 7327563488862494748, guid: 4557ac9378ce94fd38269da8f9aa86e3, type: 3} | ||||
|       propertyPath: m_AnchoredPosition.x | ||||
|       value: 0 | ||||
|       objectReference: {fileID: 0} | ||||
|     - target: {fileID: 7327563488862494748, guid: 4557ac9378ce94fd38269da8f9aa86e3, type: 3} | ||||
|       propertyPath: m_AnchoredPosition.y | ||||
|       value: 0 | ||||
|       objectReference: {fileID: 0} | ||||
|     - target: {fileID: 7327563488862494748, guid: 4557ac9378ce94fd38269da8f9aa86e3, type: 3} | ||||
|       propertyPath: m_LocalEulerAnglesHint.x | ||||
|       value: 0 | ||||
|       objectReference: {fileID: 0} | ||||
|     - target: {fileID: 7327563488862494748, guid: 4557ac9378ce94fd38269da8f9aa86e3, type: 3} | ||||
|       propertyPath: m_LocalEulerAnglesHint.y | ||||
|       value: 0 | ||||
|       objectReference: {fileID: 0} | ||||
|     - target: {fileID: 7327563488862494748, guid: 4557ac9378ce94fd38269da8f9aa86e3, type: 3} | ||||
|       propertyPath: m_LocalEulerAnglesHint.z | ||||
|       value: 0 | ||||
|       objectReference: {fileID: 0} | ||||
|     m_RemovedComponents: [] | ||||
|   m_SourcePrefab: {fileID: 100100000, guid: 4557ac9378ce94fd38269da8f9aa86e3, type: 3} | ||||
| --- !u!224 &629926880474666585 stripped | ||||
| RectTransform: | ||||
|   m_CorrespondingSourceObject: {fileID: 7327563488862494748, guid: 4557ac9378ce94fd38269da8f9aa86e3, type: 3} | ||||
|   m_PrefabInstance: {fileID: 7858023797254583877} | ||||
|   m_PrefabAsset: {fileID: 0} | ||||
| --- !u!114 &2993293849972821997 stripped | ||||
| MonoBehaviour: | ||||
|   m_CorrespondingSourceObject: {fileID: 4937950594306488744, guid: 4557ac9378ce94fd38269da8f9aa86e3, type: 3} | ||||
|   m_PrefabInstance: {fileID: 7858023797254583877} | ||||
|   m_PrefabAsset: {fileID: 0} | ||||
|   m_GameObject: {fileID: 0} | ||||
|   m_Enabled: 1 | ||||
|   m_EditorHideFlags: 0 | ||||
|   m_Script: {fileID: 11500000, guid: e85702df90d74eb4892a7a742bcb0f05, type: 3} | ||||
|   m_Name:  | ||||
|   m_EditorClassIdentifier:  | ||||
|  | @ -1,7 +0,0 @@ | |||
| fileFormatVersion: 2 | ||||
| guid: db9336d7824134e1cb737eb3ba4c9d93 | ||||
| PrefabImporter: | ||||
|   externalObjects: {} | ||||
|   userData:  | ||||
|   assetBundleName:  | ||||
|   assetBundleVariant:  | ||||
|  | @ -1,174 +0,0 @@ | |||
| %YAML 1.1 | ||||
| %TAG !u! tag:unity3d.com,2011: | ||||
| --- !u!1 &7844578585297590383 | ||||
| GameObject: | ||||
|   m_ObjectHideFlags: 0 | ||||
|   m_CorrespondingSourceObject: {fileID: 0} | ||||
|   m_PrefabInstance: {fileID: 0} | ||||
|   m_PrefabAsset: {fileID: 0} | ||||
|   serializedVersion: 6 | ||||
|   m_Component: | ||||
|   - component: {fileID: 7844578585297590382} | ||||
|   - component: {fileID: 7844578585297590376} | ||||
|   - component: {fileID: 3730802781450377123} | ||||
|   m_Layer: 5 | ||||
|   m_Name: tab_node_item | ||||
|   m_TagString: Untagged | ||||
|   m_Icon: {fileID: 0} | ||||
|   m_NavMeshLayer: 0 | ||||
|   m_StaticEditorFlags: 0 | ||||
|   m_IsActive: 1 | ||||
| --- !u!224 &7844578585297590382 | ||||
| RectTransform: | ||||
|   m_ObjectHideFlags: 0 | ||||
|   m_CorrespondingSourceObject: {fileID: 0} | ||||
|   m_PrefabInstance: {fileID: 0} | ||||
|   m_PrefabAsset: {fileID: 0} | ||||
|   m_GameObject: {fileID: 7844578585297590383} | ||||
|   m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} | ||||
|   m_LocalPosition: {x: 0, y: 0, z: 0} | ||||
|   m_LocalScale: {x: 1, y: 1, z: 1} | ||||
|   m_Children: | ||||
|   - {fileID: 8727470446105646736} | ||||
|   m_Father: {fileID: 0} | ||||
|   m_RootOrder: 0 | ||||
|   m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} | ||||
|   m_AnchorMin: {x: 0, y: 0} | ||||
|   m_AnchorMax: {x: 0, y: 0} | ||||
|   m_AnchoredPosition: {x: 0, y: 0} | ||||
|   m_SizeDelta: {x: 200, y: 80} | ||||
|   m_Pivot: {x: 0.5, y: 0.5} | ||||
| --- !u!222 &7844578585297590376 | ||||
| CanvasRenderer: | ||||
|   m_ObjectHideFlags: 0 | ||||
|   m_CorrespondingSourceObject: {fileID: 0} | ||||
|   m_PrefabInstance: {fileID: 0} | ||||
|   m_PrefabAsset: {fileID: 0} | ||||
|   m_GameObject: {fileID: 7844578585297590383} | ||||
|   m_CullTransparentMesh: 1 | ||||
| --- !u!114 &3730802781450377123 | ||||
| MonoBehaviour: | ||||
|   m_ObjectHideFlags: 0 | ||||
|   m_CorrespondingSourceObject: {fileID: 0} | ||||
|   m_PrefabInstance: {fileID: 0} | ||||
|   m_PrefabAsset: {fileID: 0} | ||||
|   m_GameObject: {fileID: 7844578585297590383} | ||||
|   m_Enabled: 1 | ||||
|   m_EditorHideFlags: 0 | ||||
|   m_Script: {fileID: 11500000, guid: 74db3f6a69ff47f0880e1250393e6f7f, type: 3} | ||||
|   m_Name:  | ||||
|   m_EditorClassIdentifier:  | ||||
|   _btn: {fileID: 301294120361967463} | ||||
| --- !u!1001 &7203357951589204034 | ||||
| PrefabInstance: | ||||
|   m_ObjectHideFlags: 0 | ||||
|   serializedVersion: 2 | ||||
|   m_Modification: | ||||
|     m_TransformParent: {fileID: 7844578585297590382} | ||||
|     m_Modifications: | ||||
|     - target: {fileID: 1939155628914972370, guid: d0b72a82a22a748f89a2896a633bad10, type: 3} | ||||
|       propertyPath: m_Pivot.x | ||||
|       value: 0.5 | ||||
|       objectReference: {fileID: 0} | ||||
|     - target: {fileID: 1939155628914972370, guid: d0b72a82a22a748f89a2896a633bad10, type: 3} | ||||
|       propertyPath: m_Pivot.y | ||||
|       value: 0.5 | ||||
|       objectReference: {fileID: 0} | ||||
|     - target: {fileID: 1939155628914972370, guid: d0b72a82a22a748f89a2896a633bad10, type: 3} | ||||
|       propertyPath: m_RootOrder | ||||
|       value: 0 | ||||
|       objectReference: {fileID: 0} | ||||
|     - target: {fileID: 1939155628914972370, guid: d0b72a82a22a748f89a2896a633bad10, type: 3} | ||||
|       propertyPath: m_AnchorMax.x | ||||
|       value: 0 | ||||
|       objectReference: {fileID: 0} | ||||
|     - target: {fileID: 1939155628914972370, guid: d0b72a82a22a748f89a2896a633bad10, type: 3} | ||||
|       propertyPath: m_AnchorMax.y | ||||
|       value: 0 | ||||
|       objectReference: {fileID: 0} | ||||
|     - target: {fileID: 1939155628914972370, guid: d0b72a82a22a748f89a2896a633bad10, type: 3} | ||||
|       propertyPath: m_AnchorMin.x | ||||
|       value: 0 | ||||
|       objectReference: {fileID: 0} | ||||
|     - target: {fileID: 1939155628914972370, guid: d0b72a82a22a748f89a2896a633bad10, type: 3} | ||||
|       propertyPath: m_AnchorMin.y | ||||
|       value: 0 | ||||
|       objectReference: {fileID: 0} | ||||
|     - target: {fileID: 1939155628914972370, guid: d0b72a82a22a748f89a2896a633bad10, type: 3} | ||||
|       propertyPath: m_SizeDelta.x | ||||
|       value: 200 | ||||
|       objectReference: {fileID: 0} | ||||
|     - target: {fileID: 1939155628914972370, guid: d0b72a82a22a748f89a2896a633bad10, type: 3} | ||||
|       propertyPath: m_SizeDelta.y | ||||
|       value: 100 | ||||
|       objectReference: {fileID: 0} | ||||
|     - target: {fileID: 1939155628914972370, guid: d0b72a82a22a748f89a2896a633bad10, type: 3} | ||||
|       propertyPath: m_LocalPosition.x | ||||
|       value: 0 | ||||
|       objectReference: {fileID: 0} | ||||
|     - target: {fileID: 1939155628914972370, guid: d0b72a82a22a748f89a2896a633bad10, type: 3} | ||||
|       propertyPath: m_LocalPosition.y | ||||
|       value: 0 | ||||
|       objectReference: {fileID: 0} | ||||
|     - target: {fileID: 1939155628914972370, guid: d0b72a82a22a748f89a2896a633bad10, type: 3} | ||||
|       propertyPath: m_LocalPosition.z | ||||
|       value: 0 | ||||
|       objectReference: {fileID: 0} | ||||
|     - target: {fileID: 1939155628914972370, guid: d0b72a82a22a748f89a2896a633bad10, type: 3} | ||||
|       propertyPath: m_LocalRotation.w | ||||
|       value: 1 | ||||
|       objectReference: {fileID: 0} | ||||
|     - target: {fileID: 1939155628914972370, guid: d0b72a82a22a748f89a2896a633bad10, type: 3} | ||||
|       propertyPath: m_LocalRotation.x | ||||
|       value: -0 | ||||
|       objectReference: {fileID: 0} | ||||
|     - target: {fileID: 1939155628914972370, guid: d0b72a82a22a748f89a2896a633bad10, type: 3} | ||||
|       propertyPath: m_LocalRotation.y | ||||
|       value: -0 | ||||
|       objectReference: {fileID: 0} | ||||
|     - target: {fileID: 1939155628914972370, guid: d0b72a82a22a748f89a2896a633bad10, type: 3} | ||||
|       propertyPath: m_LocalRotation.z | ||||
|       value: -0 | ||||
|       objectReference: {fileID: 0} | ||||
|     - target: {fileID: 1939155628914972370, guid: d0b72a82a22a748f89a2896a633bad10, type: 3} | ||||
|       propertyPath: m_AnchoredPosition.x | ||||
|       value: 100 | ||||
|       objectReference: {fileID: 0} | ||||
|     - target: {fileID: 1939155628914972370, guid: d0b72a82a22a748f89a2896a633bad10, type: 3} | ||||
|       propertyPath: m_AnchoredPosition.y | ||||
|       value: 50 | ||||
|       objectReference: {fileID: 0} | ||||
|     - target: {fileID: 1939155628914972370, guid: d0b72a82a22a748f89a2896a633bad10, type: 3} | ||||
|       propertyPath: m_LocalEulerAnglesHint.x | ||||
|       value: 0 | ||||
|       objectReference: {fileID: 0} | ||||
|     - target: {fileID: 1939155628914972370, guid: d0b72a82a22a748f89a2896a633bad10, type: 3} | ||||
|       propertyPath: m_LocalEulerAnglesHint.y | ||||
|       value: 0 | ||||
|       objectReference: {fileID: 0} | ||||
|     - target: {fileID: 1939155628914972370, guid: d0b72a82a22a748f89a2896a633bad10, type: 3} | ||||
|       propertyPath: m_LocalEulerAnglesHint.z | ||||
|       value: 0 | ||||
|       objectReference: {fileID: 0} | ||||
|     - target: {fileID: 8854415019278044657, guid: d0b72a82a22a748f89a2896a633bad10, type: 3} | ||||
|       propertyPath: m_Name | ||||
|       value: v_btn | ||||
|       objectReference: {fileID: 0} | ||||
|     m_RemovedComponents: [] | ||||
|   m_SourcePrefab: {fileID: 100100000, guid: d0b72a82a22a748f89a2896a633bad10, type: 3} | ||||
| --- !u!224 &8727470446105646736 stripped | ||||
| RectTransform: | ||||
|   m_CorrespondingSourceObject: {fileID: 1939155628914972370, guid: d0b72a82a22a748f89a2896a633bad10, type: 3} | ||||
|   m_PrefabInstance: {fileID: 7203357951589204034} | ||||
|   m_PrefabAsset: {fileID: 0} | ||||
| --- !u!114 &301294120361967463 stripped | ||||
| MonoBehaviour: | ||||
|   m_CorrespondingSourceObject: {fileID: 7483045806784872229, guid: d0b72a82a22a748f89a2896a633bad10, type: 3} | ||||
|   m_PrefabInstance: {fileID: 7203357951589204034} | ||||
|   m_PrefabAsset: {fileID: 0} | ||||
|   m_GameObject: {fileID: 0} | ||||
|   m_Enabled: 1 | ||||
|   m_EditorHideFlags: 0 | ||||
|   m_Script: {fileID: 11500000, guid: cd788ac6ee4f4afe9d57738d49a3fdc4, type: 3} | ||||
|   m_Name:  | ||||
|   m_EditorClassIdentifier:  | ||||
|  | @ -1,7 +0,0 @@ | |||
| fileFormatVersion: 2 | ||||
| guid: e22e7dc3c05a644c08c833a3a2f42a16 | ||||
| PrefabImporter: | ||||
|   externalObjects: {} | ||||
|   userData:  | ||||
|   assetBundleName:  | ||||
|   assetBundleVariant:  | ||||
|  | @ -1,233 +0,0 @@ | |||
| %YAML 1.1 | ||||
| %TAG !u! tag:unity3d.com,2011: | ||||
| --- !u!1 &5161587445136557863 | ||||
| GameObject: | ||||
|   m_ObjectHideFlags: 0 | ||||
|   m_CorrespondingSourceObject: {fileID: 0} | ||||
|   m_PrefabInstance: {fileID: 0} | ||||
|   m_PrefabAsset: {fileID: 0} | ||||
|   serializedVersion: 6 | ||||
|   m_Component: | ||||
|   - component: {fileID: 148257080420939497} | ||||
|   - component: {fileID: 1727577413956784551} | ||||
|   - component: {fileID: 2268706270294319084} | ||||
|   m_Layer: 5 | ||||
|   m_Name: label | ||||
|   m_TagString: Untagged | ||||
|   m_Icon: {fileID: 0} | ||||
|   m_NavMeshLayer: 0 | ||||
|   m_StaticEditorFlags: 0 | ||||
|   m_IsActive: 1 | ||||
| --- !u!224 &148257080420939497 | ||||
| RectTransform: | ||||
|   m_ObjectHideFlags: 0 | ||||
|   m_CorrespondingSourceObject: {fileID: 0} | ||||
|   m_PrefabInstance: {fileID: 0} | ||||
|   m_PrefabAsset: {fileID: 0} | ||||
|   m_GameObject: {fileID: 5161587445136557863} | ||||
|   m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} | ||||
|   m_LocalPosition: {x: 0, y: 0, z: 0} | ||||
|   m_LocalScale: {x: 1, y: 1, z: 1} | ||||
|   m_ConstrainProportionsScale: 0 | ||||
|   m_Children: [] | ||||
|   m_Father: {fileID: 1939155628914972370} | ||||
|   m_RootOrder: 0 | ||||
|   m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} | ||||
|   m_AnchorMin: {x: 0, y: 0} | ||||
|   m_AnchorMax: {x: 1, y: 1} | ||||
|   m_AnchoredPosition: {x: 0, y: 0} | ||||
|   m_SizeDelta: {x: 0, y: 0} | ||||
|   m_Pivot: {x: 0.5, y: 0.5} | ||||
| --- !u!222 &1727577413956784551 | ||||
| CanvasRenderer: | ||||
|   m_ObjectHideFlags: 0 | ||||
|   m_CorrespondingSourceObject: {fileID: 0} | ||||
|   m_PrefabInstance: {fileID: 0} | ||||
|   m_PrefabAsset: {fileID: 0} | ||||
|   m_GameObject: {fileID: 5161587445136557863} | ||||
|   m_CullTransparentMesh: 1 | ||||
| --- !u!114 &2268706270294319084 | ||||
| MonoBehaviour: | ||||
|   m_ObjectHideFlags: 0 | ||||
|   m_CorrespondingSourceObject: {fileID: 0} | ||||
|   m_PrefabInstance: {fileID: 0} | ||||
|   m_PrefabAsset: {fileID: 0} | ||||
|   m_GameObject: {fileID: 5161587445136557863} | ||||
|   m_Enabled: 1 | ||||
|   m_EditorHideFlags: 0 | ||||
|   m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3} | ||||
|   m_Name:  | ||||
|   m_EditorClassIdentifier:  | ||||
|   m_Material: {fileID: 0} | ||||
|   m_Color: {r: 1, g: 1, b: 1, a: 1} | ||||
|   m_RaycastTarget: 0 | ||||
|   m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} | ||||
|   m_Maskable: 1 | ||||
|   m_OnCullStateChanged: | ||||
|     m_PersistentCalls: | ||||
|       m_Calls: [] | ||||
|   m_FontData: | ||||
|     m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0} | ||||
|     m_FontSize: 14 | ||||
|     m_FontStyle: 0 | ||||
|     m_BestFit: 1 | ||||
|     m_MinSize: 10 | ||||
|     m_MaxSize: 32 | ||||
|     m_Alignment: 4 | ||||
|     m_AlignByGeometry: 0 | ||||
|     m_RichText: 1 | ||||
|     m_HorizontalOverflow: 0 | ||||
|     m_VerticalOverflow: 0 | ||||
|     m_LineSpacing: 1 | ||||
|   m_Text: INFO | ||||
| --- !u!1 &8854415019278044657 | ||||
| GameObject: | ||||
|   m_ObjectHideFlags: 0 | ||||
|   m_CorrespondingSourceObject: {fileID: 0} | ||||
|   m_PrefabInstance: {fileID: 0} | ||||
|   m_PrefabAsset: {fileID: 0} | ||||
|   serializedVersion: 6 | ||||
|   m_Component: | ||||
|   - component: {fileID: 1939155628914972370} | ||||
|   - component: {fileID: 7097619541680742948} | ||||
|   - component: {fileID: 3799638908809225334} | ||||
|   - component: {fileID: 8622626705591949948} | ||||
|   - component: {fileID: 7483045806784872229} | ||||
|   - component: {fileID: 5027051285820548675} | ||||
|   m_Layer: 5 | ||||
|   m_Name: v_btn | ||||
|   m_TagString: Untagged | ||||
|   m_Icon: {fileID: 0} | ||||
|   m_NavMeshLayer: 0 | ||||
|   m_StaticEditorFlags: 0 | ||||
|   m_IsActive: 1 | ||||
| --- !u!224 &1939155628914972370 | ||||
| RectTransform: | ||||
|   m_ObjectHideFlags: 0 | ||||
|   m_CorrespondingSourceObject: {fileID: 0} | ||||
|   m_PrefabInstance: {fileID: 0} | ||||
|   m_PrefabAsset: {fileID: 0} | ||||
|   m_GameObject: {fileID: 8854415019278044657} | ||||
|   m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} | ||||
|   m_LocalPosition: {x: 0, y: 0, z: 0} | ||||
|   m_LocalScale: {x: 1, y: 1, z: 1} | ||||
|   m_ConstrainProportionsScale: 0 | ||||
|   m_Children: | ||||
|   - {fileID: 148257080420939497} | ||||
|   m_Father: {fileID: 0} | ||||
|   m_RootOrder: 0 | ||||
|   m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} | ||||
|   m_AnchorMin: {x: 0, y: 0} | ||||
|   m_AnchorMax: {x: 0, y: 0} | ||||
|   m_AnchoredPosition: {x: 100, y: 50} | ||||
|   m_SizeDelta: {x: 200, y: 100} | ||||
|   m_Pivot: {x: 0.5, y: 0.5} | ||||
| --- !u!222 &7097619541680742948 | ||||
| CanvasRenderer: | ||||
|   m_ObjectHideFlags: 0 | ||||
|   m_CorrespondingSourceObject: {fileID: 0} | ||||
|   m_PrefabInstance: {fileID: 0} | ||||
|   m_PrefabAsset: {fileID: 0} | ||||
|   m_GameObject: {fileID: 8854415019278044657} | ||||
|   m_CullTransparentMesh: 1 | ||||
| --- !u!114 &3799638908809225334 | ||||
| MonoBehaviour: | ||||
|   m_ObjectHideFlags: 0 | ||||
|   m_CorrespondingSourceObject: {fileID: 0} | ||||
|   m_PrefabInstance: {fileID: 0} | ||||
|   m_PrefabAsset: {fileID: 0} | ||||
|   m_GameObject: {fileID: 8854415019278044657} | ||||
|   m_Enabled: 1 | ||||
|   m_EditorHideFlags: 0 | ||||
|   m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} | ||||
|   m_Name:  | ||||
|   m_EditorClassIdentifier:  | ||||
|   m_Material: {fileID: 0} | ||||
|   m_Color: {r: 1, g: 1, b: 1, a: 0.15686275} | ||||
|   m_RaycastTarget: 1 | ||||
|   m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} | ||||
|   m_Maskable: 1 | ||||
|   m_OnCullStateChanged: | ||||
|     m_PersistentCalls: | ||||
|       m_Calls: [] | ||||
|   m_Sprite: {fileID: 0} | ||||
|   m_Type: 0 | ||||
|   m_PreserveAspect: 0 | ||||
|   m_FillCenter: 1 | ||||
|   m_FillMethod: 4 | ||||
|   m_FillAmount: 1 | ||||
|   m_FillClockwise: 1 | ||||
|   m_FillOrigin: 0 | ||||
|   m_UseSpriteMesh: 0 | ||||
|   m_PixelsPerUnitMultiplier: 1 | ||||
| --- !u!114 &8622626705591949948 | ||||
| MonoBehaviour: | ||||
|   m_ObjectHideFlags: 0 | ||||
|   m_CorrespondingSourceObject: {fileID: 0} | ||||
|   m_PrefabInstance: {fileID: 0} | ||||
|   m_PrefabAsset: {fileID: 0} | ||||
|   m_GameObject: {fileID: 8854415019278044657} | ||||
|   m_Enabled: 1 | ||||
|   m_EditorHideFlags: 0 | ||||
|   m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3} | ||||
|   m_Name:  | ||||
|   m_EditorClassIdentifier:  | ||||
|   m_Navigation: | ||||
|     m_Mode: 3 | ||||
|     m_WrapAround: 0 | ||||
|     m_SelectOnUp: {fileID: 0} | ||||
|     m_SelectOnDown: {fileID: 0} | ||||
|     m_SelectOnLeft: {fileID: 0} | ||||
|     m_SelectOnRight: {fileID: 0} | ||||
|   m_Transition: 1 | ||||
|   m_Colors: | ||||
|     m_NormalColor: {r: 1, g: 1, b: 1, a: 1} | ||||
|     m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} | ||||
|     m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1} | ||||
|     m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} | ||||
|     m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608} | ||||
|     m_ColorMultiplier: 1 | ||||
|     m_FadeDuration: 0.1 | ||||
|   m_SpriteState: | ||||
|     m_HighlightedSprite: {fileID: 0} | ||||
|     m_PressedSprite: {fileID: 0} | ||||
|     m_SelectedSprite: {fileID: 0} | ||||
|     m_DisabledSprite: {fileID: 0} | ||||
|   m_AnimationTriggers: | ||||
|     m_NormalTrigger: Normal | ||||
|     m_HighlightedTrigger: Highlighted | ||||
|     m_PressedTrigger: Pressed | ||||
|     m_SelectedTrigger: Selected | ||||
|     m_DisabledTrigger: Disabled | ||||
|   m_Interactable: 1 | ||||
|   m_TargetGraphic: {fileID: 3799638908809225334} | ||||
|   m_OnClick: | ||||
|     m_PersistentCalls: | ||||
|       m_Calls: [] | ||||
| --- !u!114 &7483045806784872229 | ||||
| MonoBehaviour: | ||||
|   m_ObjectHideFlags: 0 | ||||
|   m_CorrespondingSourceObject: {fileID: 0} | ||||
|   m_PrefabInstance: {fileID: 0} | ||||
|   m_PrefabAsset: {fileID: 0} | ||||
|   m_GameObject: {fileID: 8854415019278044657} | ||||
|   m_Enabled: 1 | ||||
|   m_EditorHideFlags: 0 | ||||
|   m_Script: {fileID: 11500000, guid: cd788ac6ee4f4afe9d57738d49a3fdc4, type: 3} | ||||
|   m_Name:  | ||||
|   m_EditorClassIdentifier:  | ||||
|   _image: {fileID: 3799638908809225334} | ||||
|   _label: {fileID: 2268706270294319084} | ||||
|   _button: {fileID: 8622626705591949948} | ||||
| --- !u!225 &5027051285820548675 | ||||
| CanvasGroup: | ||||
|   m_ObjectHideFlags: 0 | ||||
|   m_CorrespondingSourceObject: {fileID: 0} | ||||
|   m_PrefabInstance: {fileID: 0} | ||||
|   m_PrefabAsset: {fileID: 0} | ||||
|   m_GameObject: {fileID: 8854415019278044657} | ||||
|   m_Enabled: 1 | ||||
|   m_Alpha: 1 | ||||
|   m_Interactable: 1 | ||||
|   m_BlocksRaycasts: 1 | ||||
|   m_IgnoreParentGroups: 0 | ||||
|  | @ -1,7 +0,0 @@ | |||
| fileFormatVersion: 2 | ||||
| guid: d0b72a82a22a748f89a2896a633bad10 | ||||
| PrefabImporter: | ||||
|   externalObjects: {} | ||||
|   userData:  | ||||
|   assetBundleName:  | ||||
|   assetBundleVariant:  | ||||
|  | @ -1,133 +0,0 @@ | |||
| %YAML 1.1 | ||||
| %TAG !u! tag:unity3d.com,2011: | ||||
| --- !u!1 &2277169281067990379 | ||||
| GameObject: | ||||
|   m_ObjectHideFlags: 0 | ||||
|   m_CorrespondingSourceObject: {fileID: 0} | ||||
|   m_PrefabInstance: {fileID: 0} | ||||
|   m_PrefabAsset: {fileID: 0} | ||||
|   serializedVersion: 6 | ||||
|   m_Component: | ||||
|   - component: {fileID: 7327563488862494748} | ||||
|   - component: {fileID: 4937950594306488744} | ||||
|   m_Layer: 5 | ||||
|   m_Name: v_label | ||||
|   m_TagString: Untagged | ||||
|   m_Icon: {fileID: 0} | ||||
|   m_NavMeshLayer: 0 | ||||
|   m_StaticEditorFlags: 0 | ||||
|   m_IsActive: 1 | ||||
| --- !u!224 &7327563488862494748 | ||||
| RectTransform: | ||||
|   m_ObjectHideFlags: 0 | ||||
|   m_CorrespondingSourceObject: {fileID: 0} | ||||
|   m_PrefabInstance: {fileID: 0} | ||||
|   m_PrefabAsset: {fileID: 0} | ||||
|   m_GameObject: {fileID: 2277169281067990379} | ||||
|   m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} | ||||
|   m_LocalPosition: {x: 0, y: 0, z: 0} | ||||
|   m_LocalScale: {x: 1, y: 1, z: 1} | ||||
|   m_ConstrainProportionsScale: 0 | ||||
|   m_Children: | ||||
|   - {fileID: 6542213729106578396} | ||||
|   m_Father: {fileID: 0} | ||||
|   m_RootOrder: 0 | ||||
|   m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} | ||||
|   m_AnchorMin: {x: 0, y: 0} | ||||
|   m_AnchorMax: {x: 0, y: 0} | ||||
|   m_AnchoredPosition: {x: 0, y: 0} | ||||
|   m_SizeDelta: {x: 160, y: 100} | ||||
|   m_Pivot: {x: 0.5, y: 0.5} | ||||
| --- !u!114 &4937950594306488744 | ||||
| MonoBehaviour: | ||||
|   m_ObjectHideFlags: 0 | ||||
|   m_CorrespondingSourceObject: {fileID: 0} | ||||
|   m_PrefabInstance: {fileID: 0} | ||||
|   m_PrefabAsset: {fileID: 0} | ||||
|   m_GameObject: {fileID: 2277169281067990379} | ||||
|   m_Enabled: 1 | ||||
|   m_EditorHideFlags: 0 | ||||
|   m_Script: {fileID: 11500000, guid: e85702df90d74eb4892a7a742bcb0f05, type: 3} | ||||
|   m_Name:  | ||||
|   m_EditorClassIdentifier:  | ||||
|   _label: {fileID: 4704551826277804405} | ||||
| --- !u!1 &9037852253254046115 | ||||
| GameObject: | ||||
|   m_ObjectHideFlags: 0 | ||||
|   m_CorrespondingSourceObject: {fileID: 0} | ||||
|   m_PrefabInstance: {fileID: 0} | ||||
|   m_PrefabAsset: {fileID: 0} | ||||
|   serializedVersion: 6 | ||||
|   m_Component: | ||||
|   - component: {fileID: 6542213729106578396} | ||||
|   - component: {fileID: 3463804050856076278} | ||||
|   - component: {fileID: 4704551826277804405} | ||||
|   m_Layer: 5 | ||||
|   m_Name: text | ||||
|   m_TagString: Untagged | ||||
|   m_Icon: {fileID: 0} | ||||
|   m_NavMeshLayer: 0 | ||||
|   m_StaticEditorFlags: 0 | ||||
|   m_IsActive: 1 | ||||
| --- !u!224 &6542213729106578396 | ||||
| RectTransform: | ||||
|   m_ObjectHideFlags: 0 | ||||
|   m_CorrespondingSourceObject: {fileID: 0} | ||||
|   m_PrefabInstance: {fileID: 0} | ||||
|   m_PrefabAsset: {fileID: 0} | ||||
|   m_GameObject: {fileID: 9037852253254046115} | ||||
|   m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} | ||||
|   m_LocalPosition: {x: 0, y: 0, z: 0} | ||||
|   m_LocalScale: {x: 1, y: 1, z: 1} | ||||
|   m_ConstrainProportionsScale: 0 | ||||
|   m_Children: [] | ||||
|   m_Father: {fileID: 7327563488862494748} | ||||
|   m_RootOrder: 0 | ||||
|   m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} | ||||
|   m_AnchorMin: {x: 0, y: 0} | ||||
|   m_AnchorMax: {x: 1, y: 1} | ||||
|   m_AnchoredPosition: {x: 0, y: 0} | ||||
|   m_SizeDelta: {x: 0, y: 0} | ||||
|   m_Pivot: {x: 0.5, y: 0.5} | ||||
| --- !u!222 &3463804050856076278 | ||||
| CanvasRenderer: | ||||
|   m_ObjectHideFlags: 0 | ||||
|   m_CorrespondingSourceObject: {fileID: 0} | ||||
|   m_PrefabInstance: {fileID: 0} | ||||
|   m_PrefabAsset: {fileID: 0} | ||||
|   m_GameObject: {fileID: 9037852253254046115} | ||||
|   m_CullTransparentMesh: 1 | ||||
| --- !u!114 &4704551826277804405 | ||||
| MonoBehaviour: | ||||
|   m_ObjectHideFlags: 0 | ||||
|   m_CorrespondingSourceObject: {fileID: 0} | ||||
|   m_PrefabInstance: {fileID: 0} | ||||
|   m_PrefabAsset: {fileID: 0} | ||||
|   m_GameObject: {fileID: 9037852253254046115} | ||||
|   m_Enabled: 1 | ||||
|   m_EditorHideFlags: 0 | ||||
|   m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3} | ||||
|   m_Name:  | ||||
|   m_EditorClassIdentifier:  | ||||
|   m_Material: {fileID: 0} | ||||
|   m_Color: {r: 1, g: 1, b: 1, a: 1} | ||||
|   m_RaycastTarget: 0 | ||||
|   m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} | ||||
|   m_Maskable: 1 | ||||
|   m_OnCullStateChanged: | ||||
|     m_PersistentCalls: | ||||
|       m_Calls: [] | ||||
|   m_FontData: | ||||
|     m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0} | ||||
|     m_FontSize: 14 | ||||
|     m_FontStyle: 0 | ||||
|     m_BestFit: 1 | ||||
|     m_MinSize: 10 | ||||
|     m_MaxSize: 32 | ||||
|     m_Alignment: 4 | ||||
|     m_AlignByGeometry: 0 | ||||
|     m_RichText: 1 | ||||
|     m_HorizontalOverflow: 0 | ||||
|     m_VerticalOverflow: 0 | ||||
|     m_LineSpacing: 1 | ||||
|   m_Text: Name | ||||
|  | @ -1,7 +0,0 @@ | |||
| fileFormatVersion: 2 | ||||
| guid: 4557ac9378ce94fd38269da8f9aa86e3 | ||||
| PrefabImporter: | ||||
|   externalObjects: {} | ||||
|   userData:  | ||||
|   assetBundleName:  | ||||
|   assetBundleVariant:  | ||||
|  | @ -1,8 +0,0 @@ | |||
| fileFormatVersion: 2 | ||||
| guid: 0ebe768b61d1d4fa782e856b6bca6eff | ||||
| folderAsset: yes | ||||
| DefaultImporter: | ||||
|   externalObjects: {} | ||||
|   userData:  | ||||
|   assetBundleName:  | ||||
|   assetBundleVariant:  | ||||
|  | @ -1,8 +0,0 @@ | |||
| fileFormatVersion: 2 | ||||
| guid: 5c11309f0c00147efabb99ad473fa760 | ||||
| folderAsset: yes | ||||
| DefaultImporter: | ||||
|   externalObjects: {} | ||||
|   userData:  | ||||
|   assetBundleName:  | ||||
|   assetBundleVariant:  | ||||
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							|  | @ -1,7 +0,0 @@ | |||
| fileFormatVersion: 2 | ||||
| guid: 346f45e927caa428a96dfb925af7ceeb | ||||
| PrefabImporter: | ||||
|   externalObjects: {} | ||||
|   userData:  | ||||
|   assetBundleName:  | ||||
|   assetBundleVariant:  | ||||
|  | @ -1,3 +0,0 @@ | |||
| fileFormatVersion: 2 | ||||
| guid: c72ccdd308b4438e84ba71a4bc049aff | ||||
| timeCreated: 1711037647 | ||||
|  | @ -1,25 +0,0 @@ | |||
| using System.Collections; | ||||
| using System.Collections.Generic; | ||||
| using Guru; | ||||
| using UnityEngine; | ||||
| 
 | ||||
| public class DebugDemo : MonoBehaviour | ||||
| { | ||||
|     // Start is called before the first frame update | ||||
|     void Start() | ||||
|     { | ||||
|         Debugger.Init(); | ||||
| 
 | ||||
|         Debugger.Instance.AddOption("INFO/page1", "DebugDemo") | ||||
|             .AddButton("AAA", () => | ||||
|             { | ||||
|                 Debug.Log("AAA"); | ||||
|             }) | ||||
|             .AddLabel("Test"); | ||||
|          | ||||
|          | ||||
|         Debugger.Show(); | ||||
|     } | ||||
| 
 | ||||
|    | ||||
| } | ||||
|  | @ -1,11 +0,0 @@ | |||
| fileFormatVersion: 2 | ||||
| guid: ea03c9090000940e3a5ae500d9d918bc | ||||
| MonoImporter: | ||||
|   externalObjects: {} | ||||
|   serializedVersion: 2 | ||||
|   defaultReferences: [] | ||||
|   executionOrder: 0 | ||||
|   icon: {instanceID: 0} | ||||
|   userData:  | ||||
|   assetBundleName:  | ||||
|   assetBundleVariant:  | ||||
|  | @ -1,509 +0,0 @@ | |||
| %YAML 1.1 | ||||
| %TAG !u! tag:unity3d.com,2011: | ||||
| --- !u!29 &1 | ||||
| OcclusionCullingSettings: | ||||
|   m_ObjectHideFlags: 0 | ||||
|   serializedVersion: 2 | ||||
|   m_OcclusionBakeSettings: | ||||
|     smallestOccluder: 5 | ||||
|     smallestHole: 0.25 | ||||
|     backfaceThreshold: 100 | ||||
|   m_SceneGUID: 00000000000000000000000000000000 | ||||
|   m_OcclusionCullingData: {fileID: 0} | ||||
| --- !u!104 &2 | ||||
| RenderSettings: | ||||
|   m_ObjectHideFlags: 0 | ||||
|   serializedVersion: 9 | ||||
|   m_Fog: 0 | ||||
|   m_FogColor: {r: 0.5, g: 0.5, b: 0.5, a: 1} | ||||
|   m_FogMode: 3 | ||||
|   m_FogDensity: 0.01 | ||||
|   m_LinearFogStart: 0 | ||||
|   m_LinearFogEnd: 300 | ||||
|   m_AmbientSkyColor: {r: 0.212, g: 0.227, b: 0.259, a: 1} | ||||
|   m_AmbientEquatorColor: {r: 0.114, g: 0.125, b: 0.133, a: 1} | ||||
|   m_AmbientGroundColor: {r: 0.047, g: 0.043, b: 0.035, a: 1} | ||||
|   m_AmbientIntensity: 1 | ||||
|   m_AmbientMode: 0 | ||||
|   m_SubtractiveShadowColor: {r: 0.42, g: 0.478, b: 0.627, a: 1} | ||||
|   m_SkyboxMaterial: {fileID: 10304, guid: 0000000000000000f000000000000000, type: 0} | ||||
|   m_HaloStrength: 0.5 | ||||
|   m_FlareStrength: 1 | ||||
|   m_FlareFadeSpeed: 3 | ||||
|   m_HaloTexture: {fileID: 0} | ||||
|   m_SpotCookie: {fileID: 10001, guid: 0000000000000000e000000000000000, type: 0} | ||||
|   m_DefaultReflectionMode: 0 | ||||
|   m_DefaultReflectionResolution: 128 | ||||
|   m_ReflectionBounces: 1 | ||||
|   m_ReflectionIntensity: 1 | ||||
|   m_CustomReflection: {fileID: 0} | ||||
|   m_Sun: {fileID: 0} | ||||
|   m_IndirectSpecularColor: {r: 0.44657874, g: 0.49641275, b: 0.5748172, a: 1} | ||||
|   m_UseRadianceAmbientProbe: 0 | ||||
| --- !u!157 &3 | ||||
| LightmapSettings: | ||||
|   m_ObjectHideFlags: 0 | ||||
|   serializedVersion: 12 | ||||
|   m_GIWorkflowMode: 1 | ||||
|   m_GISettings: | ||||
|     serializedVersion: 2 | ||||
|     m_BounceScale: 1 | ||||
|     m_IndirectOutputScale: 1 | ||||
|     m_AlbedoBoost: 1 | ||||
|     m_EnvironmentLightingMode: 0 | ||||
|     m_EnableBakedLightmaps: 1 | ||||
|     m_EnableRealtimeLightmaps: 0 | ||||
|   m_LightmapEditorSettings: | ||||
|     serializedVersion: 12 | ||||
|     m_Resolution: 2 | ||||
|     m_BakeResolution: 40 | ||||
|     m_AtlasSize: 1024 | ||||
|     m_AO: 0 | ||||
|     m_AOMaxDistance: 1 | ||||
|     m_CompAOExponent: 1 | ||||
|     m_CompAOExponentDirect: 0 | ||||
|     m_ExtractAmbientOcclusion: 0 | ||||
|     m_Padding: 2 | ||||
|     m_LightmapParameters: {fileID: 0} | ||||
|     m_LightmapsBakeMode: 1 | ||||
|     m_TextureCompression: 1 | ||||
|     m_FinalGather: 0 | ||||
|     m_FinalGatherFiltering: 1 | ||||
|     m_FinalGatherRayCount: 256 | ||||
|     m_ReflectionCompression: 2 | ||||
|     m_MixedBakeMode: 2 | ||||
|     m_BakeBackend: 1 | ||||
|     m_PVRSampling: 1 | ||||
|     m_PVRDirectSampleCount: 32 | ||||
|     m_PVRSampleCount: 512 | ||||
|     m_PVRBounces: 2 | ||||
|     m_PVREnvironmentSampleCount: 256 | ||||
|     m_PVREnvironmentReferencePointCount: 2048 | ||||
|     m_PVRFilteringMode: 1 | ||||
|     m_PVRDenoiserTypeDirect: 1 | ||||
|     m_PVRDenoiserTypeIndirect: 1 | ||||
|     m_PVRDenoiserTypeAO: 1 | ||||
|     m_PVRFilterTypeDirect: 0 | ||||
|     m_PVRFilterTypeIndirect: 0 | ||||
|     m_PVRFilterTypeAO: 0 | ||||
|     m_PVREnvironmentMIS: 1 | ||||
|     m_PVRCulling: 1 | ||||
|     m_PVRFilteringGaussRadiusDirect: 1 | ||||
|     m_PVRFilteringGaussRadiusIndirect: 5 | ||||
|     m_PVRFilteringGaussRadiusAO: 2 | ||||
|     m_PVRFilteringAtrousPositionSigmaDirect: 0.5 | ||||
|     m_PVRFilteringAtrousPositionSigmaIndirect: 2 | ||||
|     m_PVRFilteringAtrousPositionSigmaAO: 1 | ||||
|     m_ExportTrainingData: 0 | ||||
|     m_TrainingDataDestination: TrainingData | ||||
|     m_LightProbeSampleCountMultiplier: 4 | ||||
|   m_LightingDataAsset: {fileID: 0} | ||||
|   m_LightingSettings: {fileID: 0} | ||||
| --- !u!196 &4 | ||||
| NavMeshSettings: | ||||
|   serializedVersion: 2 | ||||
|   m_ObjectHideFlags: 0 | ||||
|   m_BuildSettings: | ||||
|     serializedVersion: 2 | ||||
|     agentTypeID: 0 | ||||
|     agentRadius: 0.5 | ||||
|     agentHeight: 2 | ||||
|     agentSlope: 45 | ||||
|     agentClimb: 0.4 | ||||
|     ledgeDropHeight: 0 | ||||
|     maxJumpAcrossDistance: 0 | ||||
|     minRegionArea: 2 | ||||
|     manualCellSize: 0 | ||||
|     cellSize: 0.16666667 | ||||
|     manualTileSize: 0 | ||||
|     tileSize: 256 | ||||
|     accuratePlacement: 0 | ||||
|     maxJobWorkers: 0 | ||||
|     preserveTilesOutsideBounds: 0 | ||||
|     debug: | ||||
|       m_Flags: 0 | ||||
|   m_NavMeshData: {fileID: 0} | ||||
| --- !u!1001 &1243617387 | ||||
| PrefabInstance: | ||||
|   m_ObjectHideFlags: 0 | ||||
|   serializedVersion: 2 | ||||
|   m_Modification: | ||||
|     m_TransformParent: {fileID: 0} | ||||
|     m_Modifications: | ||||
|     - target: {fileID: 5678077650178334411, guid: 346f45e927caa428a96dfb925af7ceeb, type: 3} | ||||
|       propertyPath: m_SizeDelta.x | ||||
|       value: 200 | ||||
|       objectReference: {fileID: 0} | ||||
|     - target: {fileID: 5678077650315353685, guid: 346f45e927caa428a96dfb925af7ceeb, type: 3} | ||||
|       propertyPath: m_SizeDelta.y | ||||
|       value: 160 | ||||
|       objectReference: {fileID: 0} | ||||
|     - target: {fileID: 5678077650315353685, guid: 346f45e927caa428a96dfb925af7ceeb, type: 3} | ||||
|       propertyPath: m_AnchoredPosition.y | ||||
|       value: 870.00006 | ||||
|       objectReference: {fileID: 0} | ||||
|     - target: {fileID: 5678077650501026979, guid: 346f45e927caa428a96dfb925af7ceeb, type: 3} | ||||
|       propertyPath: m_AnchorMax.y | ||||
|       value: 1 | ||||
|       objectReference: {fileID: 0} | ||||
|     - target: {fileID: 5678077650501026979, guid: 346f45e927caa428a96dfb925af7ceeb, type: 3} | ||||
|       propertyPath: m_AnchorMin.y | ||||
|       value: 1 | ||||
|       objectReference: {fileID: 0} | ||||
|     - target: {fileID: 5678077650501026979, guid: 346f45e927caa428a96dfb925af7ceeb, type: 3} | ||||
|       propertyPath: m_SizeDelta.x | ||||
|       value: 1080 | ||||
|       objectReference: {fileID: 0} | ||||
|     - target: {fileID: 5678077650501026979, guid: 346f45e927caa428a96dfb925af7ceeb, type: 3} | ||||
|       propertyPath: m_AnchoredPosition.x | ||||
|       value: 540 | ||||
|       objectReference: {fileID: 0} | ||||
|     - target: {fileID: 5678077650501026979, guid: 346f45e927caa428a96dfb925af7ceeb, type: 3} | ||||
|       propertyPath: m_AnchoredPosition.y | ||||
|       value: -80 | ||||
|       objectReference: {fileID: 0} | ||||
|     - target: {fileID: 5678077650595346832, guid: 346f45e927caa428a96dfb925af7ceeb, type: 3} | ||||
|       propertyPath: m_Name | ||||
|       value: debugger_root | ||||
|       objectReference: {fileID: 0} | ||||
|     - target: {fileID: 5678077650595346832, guid: 346f45e927caa428a96dfb925af7ceeb, type: 3} | ||||
|       propertyPath: m_IsActive | ||||
|       value: 0 | ||||
|       objectReference: {fileID: 0} | ||||
|     - target: {fileID: 5678077650595346844, guid: 346f45e927caa428a96dfb925af7ceeb, type: 3} | ||||
|       propertyPath: m_Pivot.x | ||||
|       value: 0 | ||||
|       objectReference: {fileID: 0} | ||||
|     - target: {fileID: 5678077650595346844, guid: 346f45e927caa428a96dfb925af7ceeb, type: 3} | ||||
|       propertyPath: m_Pivot.y | ||||
|       value: 0 | ||||
|       objectReference: {fileID: 0} | ||||
|     - target: {fileID: 5678077650595346844, guid: 346f45e927caa428a96dfb925af7ceeb, type: 3} | ||||
|       propertyPath: m_RootOrder | ||||
|       value: 3 | ||||
|       objectReference: {fileID: 0} | ||||
|     - target: {fileID: 5678077650595346844, guid: 346f45e927caa428a96dfb925af7ceeb, type: 3} | ||||
|       propertyPath: m_AnchorMax.x | ||||
|       value: 0 | ||||
|       objectReference: {fileID: 0} | ||||
|     - target: {fileID: 5678077650595346844, guid: 346f45e927caa428a96dfb925af7ceeb, type: 3} | ||||
|       propertyPath: m_AnchorMax.y | ||||
|       value: 0 | ||||
|       objectReference: {fileID: 0} | ||||
|     - target: {fileID: 5678077650595346844, guid: 346f45e927caa428a96dfb925af7ceeb, type: 3} | ||||
|       propertyPath: m_AnchorMin.x | ||||
|       value: 0 | ||||
|       objectReference: {fileID: 0} | ||||
|     - target: {fileID: 5678077650595346844, guid: 346f45e927caa428a96dfb925af7ceeb, type: 3} | ||||
|       propertyPath: m_AnchorMin.y | ||||
|       value: 0 | ||||
|       objectReference: {fileID: 0} | ||||
|     - target: {fileID: 5678077650595346844, guid: 346f45e927caa428a96dfb925af7ceeb, type: 3} | ||||
|       propertyPath: m_SizeDelta.x | ||||
|       value: 0 | ||||
|       objectReference: {fileID: 0} | ||||
|     - target: {fileID: 5678077650595346844, guid: 346f45e927caa428a96dfb925af7ceeb, type: 3} | ||||
|       propertyPath: m_SizeDelta.y | ||||
|       value: 0 | ||||
|       objectReference: {fileID: 0} | ||||
|     - target: {fileID: 5678077650595346844, guid: 346f45e927caa428a96dfb925af7ceeb, type: 3} | ||||
|       propertyPath: m_LocalPosition.x | ||||
|       value: 0 | ||||
|       objectReference: {fileID: 0} | ||||
|     - target: {fileID: 5678077650595346844, guid: 346f45e927caa428a96dfb925af7ceeb, type: 3} | ||||
|       propertyPath: m_LocalPosition.y | ||||
|       value: 0 | ||||
|       objectReference: {fileID: 0} | ||||
|     - target: {fileID: 5678077650595346844, guid: 346f45e927caa428a96dfb925af7ceeb, type: 3} | ||||
|       propertyPath: m_LocalPosition.z | ||||
|       value: 0 | ||||
|       objectReference: {fileID: 0} | ||||
|     - target: {fileID: 5678077650595346844, guid: 346f45e927caa428a96dfb925af7ceeb, type: 3} | ||||
|       propertyPath: m_LocalRotation.w | ||||
|       value: 1 | ||||
|       objectReference: {fileID: 0} | ||||
|     - target: {fileID: 5678077650595346844, guid: 346f45e927caa428a96dfb925af7ceeb, type: 3} | ||||
|       propertyPath: m_LocalRotation.x | ||||
|       value: 0 | ||||
|       objectReference: {fileID: 0} | ||||
|     - target: {fileID: 5678077650595346844, guid: 346f45e927caa428a96dfb925af7ceeb, type: 3} | ||||
|       propertyPath: m_LocalRotation.y | ||||
|       value: 0 | ||||
|       objectReference: {fileID: 0} | ||||
|     - target: {fileID: 5678077650595346844, guid: 346f45e927caa428a96dfb925af7ceeb, type: 3} | ||||
|       propertyPath: m_LocalRotation.z | ||||
|       value: 0 | ||||
|       objectReference: {fileID: 0} | ||||
|     - target: {fileID: 5678077650595346844, guid: 346f45e927caa428a96dfb925af7ceeb, type: 3} | ||||
|       propertyPath: m_AnchoredPosition.x | ||||
|       value: 0 | ||||
|       objectReference: {fileID: 0} | ||||
|     - target: {fileID: 5678077650595346844, guid: 346f45e927caa428a96dfb925af7ceeb, type: 3} | ||||
|       propertyPath: m_AnchoredPosition.y | ||||
|       value: 0 | ||||
|       objectReference: {fileID: 0} | ||||
|     - target: {fileID: 5678077650595346844, guid: 346f45e927caa428a96dfb925af7ceeb, type: 3} | ||||
|       propertyPath: m_LocalEulerAnglesHint.x | ||||
|       value: 0 | ||||
|       objectReference: {fileID: 0} | ||||
|     - target: {fileID: 5678077650595346844, guid: 346f45e927caa428a96dfb925af7ceeb, type: 3} | ||||
|       propertyPath: m_LocalEulerAnglesHint.y | ||||
|       value: 0 | ||||
|       objectReference: {fileID: 0} | ||||
|     - target: {fileID: 5678077650595346844, guid: 346f45e927caa428a96dfb925af7ceeb, type: 3} | ||||
|       propertyPath: m_LocalEulerAnglesHint.z | ||||
|       value: 0 | ||||
|       objectReference: {fileID: 0} | ||||
|     - target: {fileID: 5678077650929315700, guid: 346f45e927caa428a96dfb925af7ceeb, type: 3} | ||||
|       propertyPath: m_AnchorMax.y | ||||
|       value: 1 | ||||
|       objectReference: {fileID: 0} | ||||
|     - target: {fileID: 5678077650929315700, guid: 346f45e927caa428a96dfb925af7ceeb, type: 3} | ||||
|       propertyPath: m_AnchorMin.y | ||||
|       value: 1 | ||||
|       objectReference: {fileID: 0} | ||||
|     - target: {fileID: 5678077650929315700, guid: 346f45e927caa428a96dfb925af7ceeb, type: 3} | ||||
|       propertyPath: m_AnchoredPosition.x | ||||
|       value: 100 | ||||
|       objectReference: {fileID: 0} | ||||
|     - target: {fileID: 5678077650929315700, guid: 346f45e927caa428a96dfb925af7ceeb, type: 3} | ||||
|       propertyPath: m_AnchoredPosition.y | ||||
|       value: -50 | ||||
|       objectReference: {fileID: 0} | ||||
|     - target: {fileID: 9123733450142156359, guid: 346f45e927caa428a96dfb925af7ceeb, type: 3} | ||||
|       propertyPath: m_AnchorMax.y | ||||
|       value: 0 | ||||
|       objectReference: {fileID: 0} | ||||
|     - target: {fileID: 9123733450142156359, guid: 346f45e927caa428a96dfb925af7ceeb, type: 3} | ||||
|       propertyPath: m_AnchorMin.y | ||||
|       value: 0 | ||||
|       objectReference: {fileID: 0} | ||||
|     - target: {fileID: 9123733450142156359, guid: 346f45e927caa428a96dfb925af7ceeb, type: 3} | ||||
|       propertyPath: m_AnchoredPosition.x | ||||
|       value: 0 | ||||
|       objectReference: {fileID: 0} | ||||
|     - target: {fileID: 9123733450142156359, guid: 346f45e927caa428a96dfb925af7ceeb, type: 3} | ||||
|       propertyPath: m_AnchoredPosition.y | ||||
|       value: 0 | ||||
|       objectReference: {fileID: 0} | ||||
|     m_RemovedComponents: [] | ||||
|   m_SourcePrefab: {fileID: 100100000, guid: 346f45e927caa428a96dfb925af7ceeb, type: 3} | ||||
| --- !u!1 &1409984334 | ||||
| GameObject: | ||||
|   m_ObjectHideFlags: 0 | ||||
|   m_CorrespondingSourceObject: {fileID: 0} | ||||
|   m_PrefabInstance: {fileID: 0} | ||||
|   m_PrefabAsset: {fileID: 0} | ||||
|   serializedVersion: 6 | ||||
|   m_Component: | ||||
|   - component: {fileID: 1409984337} | ||||
|   - component: {fileID: 1409984336} | ||||
|   - component: {fileID: 1409984335} | ||||
|   m_Layer: 0 | ||||
|   m_Name: Main Camera | ||||
|   m_TagString: MainCamera | ||||
|   m_Icon: {fileID: 0} | ||||
|   m_NavMeshLayer: 0 | ||||
|   m_StaticEditorFlags: 0 | ||||
|   m_IsActive: 1 | ||||
| --- !u!81 &1409984335 | ||||
| AudioListener: | ||||
|   m_ObjectHideFlags: 0 | ||||
|   m_CorrespondingSourceObject: {fileID: 0} | ||||
|   m_PrefabInstance: {fileID: 0} | ||||
|   m_PrefabAsset: {fileID: 0} | ||||
|   m_GameObject: {fileID: 1409984334} | ||||
|   m_Enabled: 1 | ||||
| --- !u!20 &1409984336 | ||||
| Camera: | ||||
|   m_ObjectHideFlags: 0 | ||||
|   m_CorrespondingSourceObject: {fileID: 0} | ||||
|   m_PrefabInstance: {fileID: 0} | ||||
|   m_PrefabAsset: {fileID: 0} | ||||
|   m_GameObject: {fileID: 1409984334} | ||||
|   m_Enabled: 1 | ||||
|   serializedVersion: 2 | ||||
|   m_ClearFlags: 1 | ||||
|   m_BackGroundColor: {r: 0.19215687, g: 0.3019608, b: 0.4745098, a: 0} | ||||
|   m_projectionMatrixMode: 1 | ||||
|   m_GateFitMode: 2 | ||||
|   m_FOVAxisMode: 0 | ||||
|   m_SensorSize: {x: 36, y: 24} | ||||
|   m_LensShift: {x: 0, y: 0} | ||||
|   m_FocalLength: 50 | ||||
|   m_NormalizedViewPortRect: | ||||
|     serializedVersion: 2 | ||||
|     x: 0 | ||||
|     y: 0 | ||||
|     width: 1 | ||||
|     height: 1 | ||||
|   near clip plane: 0.3 | ||||
|   far clip plane: 1000 | ||||
|   field of view: 60 | ||||
|   orthographic: 0 | ||||
|   orthographic size: 5 | ||||
|   m_Depth: -1 | ||||
|   m_CullingMask: | ||||
|     serializedVersion: 2 | ||||
|     m_Bits: 4294967295 | ||||
|   m_RenderingPath: -1 | ||||
|   m_TargetTexture: {fileID: 0} | ||||
|   m_TargetDisplay: 0 | ||||
|   m_TargetEye: 3 | ||||
|   m_HDR: 1 | ||||
|   m_AllowMSAA: 1 | ||||
|   m_AllowDynamicResolution: 0 | ||||
|   m_ForceIntoRT: 0 | ||||
|   m_OcclusionCulling: 1 | ||||
|   m_StereoConvergence: 10 | ||||
|   m_StereoSeparation: 0.022 | ||||
| --- !u!4 &1409984337 | ||||
| Transform: | ||||
|   m_ObjectHideFlags: 0 | ||||
|   m_CorrespondingSourceObject: {fileID: 0} | ||||
|   m_PrefabInstance: {fileID: 0} | ||||
|   m_PrefabAsset: {fileID: 0} | ||||
|   m_GameObject: {fileID: 1409984334} | ||||
|   m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} | ||||
|   m_LocalPosition: {x: 0, y: 1, z: -10} | ||||
|   m_LocalScale: {x: 1, y: 1, z: 1} | ||||
|   m_Children: [] | ||||
|   m_Father: {fileID: 0} | ||||
|   m_RootOrder: 0 | ||||
|   m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} | ||||
| --- !u!1 &1597431377 | ||||
| GameObject: | ||||
|   m_ObjectHideFlags: 0 | ||||
|   m_CorrespondingSourceObject: {fileID: 0} | ||||
|   m_PrefabInstance: {fileID: 0} | ||||
|   m_PrefabAsset: {fileID: 0} | ||||
|   serializedVersion: 6 | ||||
|   m_Component: | ||||
|   - component: {fileID: 1597431379} | ||||
|   - component: {fileID: 1597431378} | ||||
|   m_Layer: 0 | ||||
|   m_Name: Directional Light | ||||
|   m_TagString: Untagged | ||||
|   m_Icon: {fileID: 0} | ||||
|   m_NavMeshLayer: 0 | ||||
|   m_StaticEditorFlags: 0 | ||||
|   m_IsActive: 1 | ||||
| --- !u!108 &1597431378 | ||||
| Light: | ||||
|   m_ObjectHideFlags: 0 | ||||
|   m_CorrespondingSourceObject: {fileID: 0} | ||||
|   m_PrefabInstance: {fileID: 0} | ||||
|   m_PrefabAsset: {fileID: 0} | ||||
|   m_GameObject: {fileID: 1597431377} | ||||
|   m_Enabled: 1 | ||||
|   serializedVersion: 10 | ||||
|   m_Type: 1 | ||||
|   m_Shape: 0 | ||||
|   m_Color: {r: 1, g: 0.95686275, b: 0.8392157, a: 1} | ||||
|   m_Intensity: 1 | ||||
|   m_Range: 10 | ||||
|   m_SpotAngle: 30 | ||||
|   m_InnerSpotAngle: 21.80208 | ||||
|   m_CookieSize: 10 | ||||
|   m_Shadows: | ||||
|     m_Type: 2 | ||||
|     m_Resolution: -1 | ||||
|     m_CustomResolution: -1 | ||||
|     m_Strength: 1 | ||||
|     m_Bias: 0.05 | ||||
|     m_NormalBias: 0.4 | ||||
|     m_NearPlane: 0.2 | ||||
|     m_CullingMatrixOverride: | ||||
|       e00: 1 | ||||
|       e01: 0 | ||||
|       e02: 0 | ||||
|       e03: 0 | ||||
|       e10: 0 | ||||
|       e11: 1 | ||||
|       e12: 0 | ||||
|       e13: 0 | ||||
|       e20: 0 | ||||
|       e21: 0 | ||||
|       e22: 1 | ||||
|       e23: 0 | ||||
|       e30: 0 | ||||
|       e31: 0 | ||||
|       e32: 0 | ||||
|       e33: 1 | ||||
|     m_UseCullingMatrixOverride: 0 | ||||
|   m_Cookie: {fileID: 0} | ||||
|   m_DrawHalo: 0 | ||||
|   m_Flare: {fileID: 0} | ||||
|   m_RenderMode: 0 | ||||
|   m_CullingMask: | ||||
|     serializedVersion: 2 | ||||
|     m_Bits: 4294967295 | ||||
|   m_RenderingLayerMask: 1 | ||||
|   m_Lightmapping: 4 | ||||
|   m_LightShadowCasterMode: 0 | ||||
|   m_AreaSize: {x: 1, y: 1} | ||||
|   m_BounceIntensity: 1 | ||||
|   m_ColorTemperature: 6570 | ||||
|   m_UseColorTemperature: 0 | ||||
|   m_BoundingSphereOverride: {x: 0, y: 0, z: 0, w: 0} | ||||
|   m_UseBoundingSphereOverride: 0 | ||||
|   m_UseViewFrustumForShadowCasterCull: 1 | ||||
|   m_ShadowRadius: 0 | ||||
|   m_ShadowAngle: 0 | ||||
| --- !u!4 &1597431379 | ||||
| Transform: | ||||
|   m_ObjectHideFlags: 0 | ||||
|   m_CorrespondingSourceObject: {fileID: 0} | ||||
|   m_PrefabInstance: {fileID: 0} | ||||
|   m_PrefabAsset: {fileID: 0} | ||||
|   m_GameObject: {fileID: 1597431377} | ||||
|   m_LocalRotation: {x: 0.40821788, y: -0.23456968, z: 0.10938163, w: 0.8754261} | ||||
|   m_LocalPosition: {x: 0, y: 3, z: 0} | ||||
|   m_LocalScale: {x: 1, y: 1, z: 1} | ||||
|   m_Children: [] | ||||
|   m_Father: {fileID: 0} | ||||
|   m_RootOrder: 1 | ||||
|   m_LocalEulerAnglesHint: {x: 50, y: -30, z: 0} | ||||
| --- !u!1 &1847055078 | ||||
| GameObject: | ||||
|   m_ObjectHideFlags: 0 | ||||
|   m_CorrespondingSourceObject: {fileID: 0} | ||||
|   m_PrefabInstance: {fileID: 0} | ||||
|   m_PrefabAsset: {fileID: 0} | ||||
|   serializedVersion: 6 | ||||
|   m_Component: | ||||
|   - component: {fileID: 1847055080} | ||||
|   - component: {fileID: 1847055079} | ||||
|   m_Layer: 0 | ||||
|   m_Name: Main | ||||
|   m_TagString: Untagged | ||||
|   m_Icon: {fileID: 0} | ||||
|   m_NavMeshLayer: 0 | ||||
|   m_StaticEditorFlags: 0 | ||||
|   m_IsActive: 1 | ||||
| --- !u!114 &1847055079 | ||||
| MonoBehaviour: | ||||
|   m_ObjectHideFlags: 0 | ||||
|   m_CorrespondingSourceObject: {fileID: 0} | ||||
|   m_PrefabInstance: {fileID: 0} | ||||
|   m_PrefabAsset: {fileID: 0} | ||||
|   m_GameObject: {fileID: 1847055078} | ||||
|   m_Enabled: 1 | ||||
|   m_EditorHideFlags: 0 | ||||
|   m_Script: {fileID: 11500000, guid: ea03c9090000940e3a5ae500d9d918bc, type: 3} | ||||
|   m_Name:  | ||||
|   m_EditorClassIdentifier:  | ||||
| --- !u!4 &1847055080 | ||||
| Transform: | ||||
|   m_ObjectHideFlags: 0 | ||||
|   m_CorrespondingSourceObject: {fileID: 0} | ||||
|   m_PrefabInstance: {fileID: 0} | ||||
|   m_PrefabAsset: {fileID: 0} | ||||
|   m_GameObject: {fileID: 1847055078} | ||||
|   m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} | ||||
|   m_LocalPosition: {x: 0, y: 0, z: 0} | ||||
|   m_LocalScale: {x: 1, y: 1, z: 1} | ||||
|   m_Children: [] | ||||
|   m_Father: {fileID: 0} | ||||
|   m_RootOrder: 2 | ||||
|   m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} | ||||
|  | @ -1,7 +0,0 @@ | |||
| fileFormatVersion: 2 | ||||
| guid: 1873ecc2969fb40fdb00731d8abfd8f7 | ||||
| DefaultImporter: | ||||
|   externalObjects: {} | ||||
|   userData:  | ||||
|   assetBundleName:  | ||||
|   assetBundleVariant:  | ||||
|  | @ -104,9 +104,12 @@ namespace Guru | |||
|                         if (p.Length > 1) | ||||
|                         { | ||||
| 
 | ||||
|                             var key = p[0]; | ||||
|                             var t = p[1].Substring(0, 1); | ||||
|                             var v = p[1].Substring(1, p[1].Length - 1); | ||||
|                             var key = p[0].Replace("\"", "").Replace("{", "").Replace("}", ""); | ||||
|                             var t = p[1].Replace("\"", "").Replace("{", "").Replace("}", "").Substring(0,1); | ||||
| 
 | ||||
|                             int idx = 0; | ||||
|                             if (t == "i" || t == "d") idx = 1; | ||||
|                             var v = p[1].Replace("\"", "").Replace("{", "").Replace("}", "").Substring(idx, p[i].Length - idx); | ||||
| 
 | ||||
|                              | ||||
|                             // 字符串解析 | ||||
|  |  | |||
		Loading…
	
		Reference in New Issue