├── Sample ├── butachan.png ├── SampleScreen.prefab.meta ├── SampleScreen.xda.meta ├── butachan.png.meta ├── SampleScreen.xda └── SampleScreen.prefab ├── LICENSE.meta ├── README.md.meta ├── Sample.meta ├── Scripts.meta ├── Scripts ├── Editor.meta └── Editor │ ├── Xda.cs.meta │ ├── XdaImporter.cs.meta │ ├── IXdaTranslater.cs.meta │ ├── XdaTranslater.cs.meta │ ├── DefaultXdEllipseTranslater.cs.meta │ ├── DefaultXdGroupTranslater.cs.meta │ ├── DefaultXdLineTranslater.cs.meta │ ├── DefaultXdPathTranslater.cs.meta │ ├── DefaultXdTextTranslater.cs.meta │ ├── DefaultXdArtboardTranslater.cs.meta │ ├── DefaultXdRectangleTranslater.cs.meta │ ├── DefaultXdLinkedGraphicTranslater.cs.meta │ ├── DefaultXdSymbolInstanceTranslater.cs.meta │ ├── DefaultXdArtboardTranslater.cs │ ├── DefaultXdLineTranslater.cs │ ├── DefaultXdGroupTranslater.cs │ ├── DefaultXdSymbolInstanceTranslater.cs │ ├── XdaImporter.cs │ ├── DefaultXdTextTranslater.cs │ ├── IXdaTranslater.cs │ ├── DefaultXdLinkedGraphicTranslater.cs │ ├── DefaultXdPathTranslater.cs │ ├── DefaultXdEllipseTranslater.cs │ ├── DefaultXdRectangleTranslater.cs │ ├── Xda.cs │ └── XdaTranslater.cs ├── LICENSE └── README.md /Sample/butachan.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/teach310/Xd2uGUI/HEAD/Sample/butachan.png -------------------------------------------------------------------------------- /LICENSE.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 3649d2615d27642cf9e6d856d363b59e 3 | DefaultImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /README.md.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 81e313bf31c8b4e9cbe728db72c3c79a 3 | TextScriptImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /Sample/SampleScreen.prefab.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 3a1e333bb75b840bcaf2a74f8dc0763d 3 | PrefabImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /Sample.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 031d50b5db43f431aa39fb5d32a52399 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Scripts.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 3412ef15eb9134221b75a1052a2ce9d8 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Scripts/Editor.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 4bd57b10fe2824926879ca702c6eed56 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Scripts/Editor/Xda.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 6e307ea9b19164d019a0214e95334211 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Scripts/Editor/XdaImporter.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 8f743fb334bea4a688b66c23dee1143c 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Sample/SampleScreen.xda.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 36153913adbda4b49ba10088477ba61a 3 | ScriptedImporter: 4 | fileIDToRecycleName: {} 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | script: {fileID: 11500000, guid: 8f743fb334bea4a688b66c23dee1143c, type: 3} 10 | -------------------------------------------------------------------------------- /Scripts/Editor/IXdaTranslater.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 30ee4d236cfc14650bd0aecab944b7cc 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Scripts/Editor/XdaTranslater.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: d6e54f82d970c4c188fa83783271b5cd 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Scripts/Editor/DefaultXdEllipseTranslater.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 1bec2543572944a88916250d4c2cef39 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Scripts/Editor/DefaultXdGroupTranslater.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 4fdec39078f534ed391fd55db3b21f3d 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Scripts/Editor/DefaultXdLineTranslater.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: acf71ff469e9d45f48589c866514b9a5 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Scripts/Editor/DefaultXdPathTranslater.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 5c08a4d3783974813ae9abda6436c1a7 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Scripts/Editor/DefaultXdTextTranslater.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 6c11688128daa4f70803f7f84e92f02a 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Scripts/Editor/DefaultXdArtboardTranslater.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 5803d769f07a943868b67aa1c7158cba 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Scripts/Editor/DefaultXdRectangleTranslater.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: ee143929f5aed4bc292c3f6118a6a75a 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Scripts/Editor/DefaultXdLinkedGraphicTranslater.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: d98fe4f9bc3bb42b7928bb1c7c1c737c 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Scripts/Editor/DefaultXdSymbolInstanceTranslater.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: eeb758dae2dfb4628b52673153bcdd0b 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Scripts/Editor/DefaultXdArtboardTranslater.cs: -------------------------------------------------------------------------------- 1 | using UnityEngine; 2 | 3 | namespace Xd2uGUI 4 | { 5 | public class DefaultXdArtboardTranslater : IXdArtboardTranslater 6 | { 7 | public GameObject CreateGameObjectByArtboard(XdArtboard artboard) 8 | { 9 | GameObject go = new GameObject (artboard.name); 10 | var canvas = go.AddComponent (); 11 | canvas.renderMode = RenderMode.ScreenSpaceOverlay; 12 | return go; 13 | } 14 | } 15 | } -------------------------------------------------------------------------------- /Scripts/Editor/DefaultXdLineTranslater.cs: -------------------------------------------------------------------------------- 1 | using UnityEditor; 2 | using UnityEngine; 3 | using UnityEngine.UI; 4 | 5 | namespace Xd2uGUI 6 | { 7 | public class DefaultXdLineTranslater : IXdLineTranslater 8 | { 9 | public GameObject CreateGameObjectByLine(XdLine xdLine, GameObject artboard) 10 | { 11 | GameObject go = new GameObject (xdLine.name, typeof (RectTransform)); 12 | go.transform.SetParent (artboard.transform); 13 | var rectTran = go.GetComponent (); 14 | var rect = new Rect (xdLine.artboardPosX, -xdLine.artboardPosY, 10, 10); 15 | rectTran.anchorMin = new Vector2 (0, 1); 16 | rectTran.anchorMax = new Vector2 (0, 1); 17 | rectTran.pivot = new Vector2 (0, 1); 18 | rectTran.anchoredPosition = rect.position; 19 | rectTran.sizeDelta = rect.size; 20 | return go; 21 | } 22 | 23 | } 24 | } -------------------------------------------------------------------------------- /Scripts/Editor/DefaultXdGroupTranslater.cs: -------------------------------------------------------------------------------- 1 | using UnityEditor; 2 | using UnityEngine; 3 | using UnityEngine.UI; 4 | 5 | namespace Xd2uGUI 6 | { 7 | public class DefaultXdGroupTranslater : IXdGroupTranslater 8 | { 9 | public GameObject CreateGameObjectByGroup(XdGroup xdGroup, GameObject artboard) 10 | { 11 | GameObject go = new GameObject (xdGroup.name, typeof (RectTransform)); 12 | go.transform.SetParent (artboard.transform); 13 | var rectTran = go.GetComponent (); 14 | var rect = new Rect (xdGroup.artboardPosX, -xdGroup.artboardPosY, 10, 10); 15 | rectTran.anchorMin = new Vector2 (0, 1); 16 | rectTran.anchorMax = new Vector2 (0, 1); 17 | rectTran.pivot = new Vector2 (0, 1); 18 | rectTran.anchoredPosition = rect.position; 19 | rectTran.sizeDelta = rect.size; 20 | return go; 21 | } 22 | 23 | } 24 | } -------------------------------------------------------------------------------- /Scripts/Editor/DefaultXdSymbolInstanceTranslater.cs: -------------------------------------------------------------------------------- 1 | using UnityEditor; 2 | using UnityEngine; 3 | using UnityEngine.UI; 4 | 5 | namespace Xd2uGUI 6 | { 7 | public class DefaultXdSymbolInstanceTranslater : IXdSymbolInstanceTranslater 8 | { 9 | public GameObject CreateGameObjectBySymbolInstance(XdSymbolInstance xdSymbolInstance, GameObject artboard) 10 | { 11 | GameObject go = new GameObject (xdSymbolInstance.name, typeof (RectTransform)); 12 | go.transform.SetParent (artboard.transform); 13 | var rectTran = go.GetComponent (); 14 | var rect = new Rect (xdSymbolInstance.artboardPosX, -xdSymbolInstance.artboardPosY, 10, 10); 15 | rectTran.anchorMin = new Vector2 (0, 1); 16 | rectTran.anchorMax = new Vector2 (0, 1); 17 | rectTran.pivot = new Vector2 (0, 1); 18 | rectTran.anchoredPosition = rect.position; 19 | rectTran.sizeDelta = rect.size; 20 | return go; 21 | } 22 | 23 | } 24 | } -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2019 Taichi Sato 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /Scripts/Editor/XdaImporter.cs: -------------------------------------------------------------------------------- 1 | using System.Collections; 2 | using System.Collections.Generic; 3 | using System.IO; 4 | using System.Linq; 5 | using UnityEditor; 6 | using UnityEditor.Experimental.AssetImporters; 7 | using UnityEngine; 8 | using UnityEngine.UI; 9 | 10 | namespace Xd2uGUI { 11 | [ScriptedImporter (1, "xda")] 12 | public class XdaImporter : ScriptedImporter { 13 | public override void OnImportAsset (AssetImportContext ctx) { 14 | string text = File.ReadAllText (ctx.assetPath); 15 | Xda xda = null; 16 | try { 17 | xda = JsonUtility.FromJson (text); 18 | } catch (System.Exception ex) { 19 | throw ex; 20 | } 21 | 22 | // 以下だとプレハブがソートされてしまうバグがあるため新しいプレハブとして生成 23 | // ctx.AddObjectToAsset (xda.artboard.guid, artboard); 24 | // ctx.SetMainObject (artboard); 25 | 26 | var artboard = new XdaTranslater ().CreatePrefab (xda); 27 | PrefabUtility.SaveAsPrefabAsset(artboard, ctx.assetPath.Replace("xda", "prefab")); 28 | GameObject.DestroyImmediate(artboard); 29 | } 30 | } 31 | 32 | } -------------------------------------------------------------------------------- /Scripts/Editor/DefaultXdTextTranslater.cs: -------------------------------------------------------------------------------- 1 | using UnityEditor; 2 | using UnityEngine; 3 | using UnityEngine.UI; 4 | 5 | namespace Xd2uGUI 6 | { 7 | public class DefaultXdTextTranslater : IXdTextTranslater 8 | { 9 | public GameObject CreateGameObjectByText(XdText xdText, GameObject artboard) 10 | { 11 | GameObject go = new GameObject (xdText.name); 12 | var label = go.AddComponent (); 13 | go.transform.SetParent (artboard.transform); 14 | var rectTran = go.GetComponent (); 15 | var rect = new Rect (xdText.artboardPosX, -xdText.artboardPosY, 10, 10); 16 | rectTran.anchorMin = new Vector2 (0, 1); 17 | rectTran.anchorMax = new Vector2 (0, 1); 18 | rectTran.pivot = new Vector2 (0, 1); 19 | rectTran.anchoredPosition = rect.position; 20 | label.font = Resources.GetBuiltinResource (typeof (Font), "Arial.ttf") as Font; 21 | label.fontSize = xdText.fontSize; 22 | label.text = xdText.text; 23 | rectTran.sizeDelta = new Vector2 (label.preferredWidth, label.preferredHeight); 24 | Color newCol; 25 | label.color = ColorUtility.TryParseHtmlString (xdText.color, out newCol) ? newCol : Color.white; 26 | return go; 27 | } 28 | 29 | } 30 | } -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Xd2uGUI 2 | Generate Unity Prefab from AdobeXD artboard 3 | 4 | ![2019-02-13 21 47 09](https://user-images.githubusercontent.com/16421323/52712885-4a272980-2fd9-11e9-99e6-edbd199bb641.jpg) 5 | 6 | # Supported Unity Version 7 | 8 | Unity 2018.3 ~ 9 | .Net 4.x ~ 10 | 11 | # about xda 12 | https://github.com/teach310/xda_exporter 13 | 14 | # How to use 15 | 16 | 17 | ## Install AdobeXD Plugin 18 | 19 | ![2019-02-11 21 22 56](https://user-images.githubusercontent.com/16421323/52713319-565fb680-2fda-11e9-9e86-a9f812365794.jpg) 20 | 21 | You can install plugin from the XD plugin manager. 22 | 23 | ## Export artboard as xda 24 | 25 | ![2019-02-13 22 02 19-1](https://user-images.githubusercontent.com/16421323/52713726-6af07e80-2fdb-11e9-9840-207d709892f8.jpg) 26 | 27 | ## Import Image Assets before import xda 28 | 2019-02-13 22 06 21 29 | 30 | import image and change to Sprite. 31 | then it will attach to Image automatically if node name match to image name. 32 | 33 | ## Import xda 34 | only import xda file. 35 | prefab will generate and you can see prefab next to xda 36 | 37 | # Article 38 | 39 | Japanese 日本語記事 40 | https://qiita.com/Teach/items/b2cff078215c064acf1e 41 | 42 | # License 43 | This library is under the MIT License. 44 | -------------------------------------------------------------------------------- /Scripts/Editor/IXdaTranslater.cs: -------------------------------------------------------------------------------- 1 | using System.Collections; 2 | using System.Collections.Generic; 3 | using UnityEngine; 4 | 5 | namespace Xd2uGUI 6 | { 7 | interface IXdArtboardTranslater 8 | { 9 | GameObject CreateGameObjectByArtboard(XdArtboard artboard); 10 | } 11 | 12 | interface IXdRectangleTranslater 13 | { 14 | GameObject CreateGameObjectByRectangle(XdRectangle xdRect, GameObject artboard); 15 | } 16 | 17 | interface IXdTextTranslater 18 | { 19 | GameObject CreateGameObjectByText(XdText xdRect, GameObject artboard); 20 | } 21 | 22 | interface IXdGroupTranslater 23 | { 24 | GameObject CreateGameObjectByGroup(XdGroup xdGroup, GameObject artboard); 25 | } 26 | 27 | interface IXdEllipseTranslater 28 | { 29 | GameObject CreateGameObjectByEllipse(XdEllipse xdEllipse, GameObject artboard); 30 | } 31 | 32 | interface IXdLineTranslater 33 | { 34 | GameObject CreateGameObjectByLine(XdLine xdLine, GameObject artboard); 35 | } 36 | 37 | interface IXdPathTranslater 38 | { 39 | GameObject CreateGameObjectByPath(XdPath xdLinxdPath, GameObject artboard); 40 | } 41 | 42 | interface IXdSymbolInstanceTranslater 43 | { 44 | GameObject CreateGameObjectBySymbolInstance(XdSymbolInstance xdSymbolInstance, GameObject artboard); 45 | } 46 | 47 | interface IXdLinkedGraphicTranslater 48 | { 49 | GameObject CreateGameObjectByLinkedGraphic(XdLinkedGraphic xdLinkedGraphic, GameObject artboard); 50 | } 51 | } 52 | -------------------------------------------------------------------------------- /Scripts/Editor/DefaultXdLinkedGraphicTranslater.cs: -------------------------------------------------------------------------------- 1 | using UnityEditor; 2 | using UnityEngine; 3 | using UnityEngine.UI; 4 | using System.Linq; 5 | using System.IO; 6 | 7 | namespace Xd2uGUI 8 | { 9 | public class DefaultXdLinkedGraphicTranslater : IXdLinkedGraphicTranslater 10 | { 11 | public GameObject CreateGameObjectByLinkedGraphic(XdLinkedGraphic xdRect, GameObject artboard) 12 | { 13 | GameObject go = new GameObject (xdRect.name); 14 | var img = go.AddComponent (); 15 | go.transform.SetParent (artboard.transform); 16 | var imgRectTran = go.GetComponent (); 17 | var imgRect = new Rect (xdRect.artboardPosX, -xdRect.artboardPosY, xdRect.width, xdRect.height); 18 | imgRectTran.anchorMin = new Vector2 (0, 1); 19 | imgRectTran.anchorMax = new Vector2 (0, 1); 20 | imgRectTran.pivot = new Vector2 (0, 1); 21 | imgRectTran.anchoredPosition = imgRect.position; 22 | imgRectTran.sizeDelta = imgRect.size; 23 | 24 | img.sprite = FindSprite (xdRect.name); 25 | img.color = Color.white; 26 | return go; 27 | } 28 | 29 | Sprite FindSprite (string name) { 30 | var guids = AssetDatabase.FindAssets ($"{name} t:Sprite"); 31 | if (guids.Length == 0) 32 | return null; 33 | var assetPaths = guids.Select (x => AssetDatabase.GUIDToAssetPath (x)).ToList (); 34 | var nameMatch = assetPaths.FirstOrDefault (x => Path.GetFileNameWithoutExtension (x) == name); 35 | var targetPath = !string.IsNullOrEmpty (nameMatch) ? nameMatch : assetPaths[0]; 36 | return AssetDatabase.LoadAssetAtPath (targetPath); 37 | } 38 | } 39 | } -------------------------------------------------------------------------------- /Scripts/Editor/DefaultXdPathTranslater.cs: -------------------------------------------------------------------------------- 1 | using UnityEditor; 2 | using UnityEngine; 3 | using UnityEngine.UI; 4 | using System.Linq; 5 | using System.IO; 6 | 7 | namespace Xd2uGUI 8 | { 9 | public class DefaultXdPathTranslater : IXdPathTranslater 10 | { 11 | public GameObject CreateGameObjectByPath(XdPath xdRect, GameObject artboard) 12 | { 13 | GameObject go = new GameObject (xdRect.name); 14 | var img = go.AddComponent (); 15 | go.transform.SetParent (artboard.transform); 16 | var imgRectTran = go.GetComponent (); 17 | var imgRect = new Rect (xdRect.artboardPosX, -xdRect.artboardPosY, xdRect.width, xdRect.height); 18 | imgRectTran.anchorMin = new Vector2 (0, 1); 19 | imgRectTran.anchorMax = new Vector2 (0, 1); 20 | imgRectTran.pivot = new Vector2 (0, 1); 21 | imgRectTran.anchoredPosition = imgRect.position; 22 | imgRectTran.sizeDelta = imgRect.size; 23 | 24 | img.sprite = FindSprite (xdRect.name); 25 | Color newCol; 26 | img.color = ColorUtility.TryParseHtmlString (xdRect.color, out newCol) ? newCol : Color.white; 27 | return go; 28 | } 29 | 30 | Sprite FindSprite (string name) { 31 | var guids = AssetDatabase.FindAssets ($"{name} t:Sprite"); 32 | if (guids.Length == 0) 33 | return null; 34 | var assetPaths = guids.Select (x => AssetDatabase.GUIDToAssetPath (x)).ToList (); 35 | var nameMatch = assetPaths.FirstOrDefault (x => Path.GetFileNameWithoutExtension (x) == name); 36 | var targetPath = !string.IsNullOrEmpty (nameMatch) ? nameMatch : assetPaths[0]; 37 | return AssetDatabase.LoadAssetAtPath (targetPath); 38 | } 39 | } 40 | } -------------------------------------------------------------------------------- /Scripts/Editor/DefaultXdEllipseTranslater.cs: -------------------------------------------------------------------------------- 1 | using UnityEditor; 2 | using UnityEngine; 3 | using UnityEngine.UI; 4 | using System.Linq; 5 | using System.IO; 6 | 7 | namespace Xd2uGUI 8 | { 9 | public class DefaultXdEllipseTranslater : IXdEllipseTranslater 10 | { 11 | public GameObject CreateGameObjectByEllipse(XdEllipse xdRect, GameObject artboard) 12 | { 13 | GameObject go = new GameObject (xdRect.name); 14 | var img = go.AddComponent (); 15 | go.transform.SetParent (artboard.transform); 16 | var imgRectTran = go.GetComponent (); 17 | var imgRect = new Rect (xdRect.artboardPosX, -xdRect.artboardPosY, xdRect.width, xdRect.height); 18 | imgRectTran.anchorMin = new Vector2 (0, 1); 19 | imgRectTran.anchorMax = new Vector2 (0, 1); 20 | imgRectTran.pivot = new Vector2 (0, 1); 21 | imgRectTran.anchoredPosition = imgRect.position; 22 | imgRectTran.sizeDelta = imgRect.size; 23 | 24 | img.sprite = FindSprite (xdRect.name); 25 | Color newCol; 26 | img.color = ColorUtility.TryParseHtmlString (xdRect.color, out newCol) ? newCol : Color.white; 27 | return go; 28 | } 29 | 30 | Sprite FindSprite (string name) { 31 | var guids = AssetDatabase.FindAssets ($"{name} t:Sprite"); 32 | if (guids.Length == 0) 33 | return null; 34 | var assetPaths = guids.Select (x => AssetDatabase.GUIDToAssetPath (x)).ToList (); 35 | var nameMatch = assetPaths.FirstOrDefault (x => Path.GetFileNameWithoutExtension (x) == name); 36 | var targetPath = !string.IsNullOrEmpty (nameMatch) ? nameMatch : assetPaths[0]; 37 | return AssetDatabase.LoadAssetAtPath (targetPath); 38 | } 39 | } 40 | } -------------------------------------------------------------------------------- /Scripts/Editor/DefaultXdRectangleTranslater.cs: -------------------------------------------------------------------------------- 1 | using UnityEditor; 2 | using UnityEngine; 3 | using UnityEngine.UI; 4 | using System.Linq; 5 | using System.IO; 6 | 7 | namespace Xd2uGUI 8 | { 9 | public class DefaultXdRectangleTranslater : IXdRectangleTranslater 10 | { 11 | public GameObject CreateGameObjectByRectangle(XdRectangle xdRect, GameObject artboard) 12 | { 13 | GameObject go = new GameObject (xdRect.name); 14 | var img = go.AddComponent (); 15 | go.transform.SetParent (artboard.transform); 16 | var imgRectTran = go.GetComponent (); 17 | var imgRect = new Rect (xdRect.artboardPosX, -xdRect.artboardPosY, xdRect.width, xdRect.height); 18 | imgRectTran.anchorMin = new Vector2 (0, 1); 19 | imgRectTran.anchorMax = new Vector2 (0, 1); 20 | imgRectTran.pivot = new Vector2 (0, 1); 21 | imgRectTran.anchoredPosition = imgRect.position; 22 | imgRectTran.sizeDelta = imgRect.size; 23 | 24 | img.sprite = FindSprite (xdRect.name); 25 | Color newCol; 26 | img.color = ColorUtility.TryParseHtmlString (xdRect.color, out newCol) ? newCol : Color.white; 27 | return go; 28 | } 29 | 30 | Sprite FindSprite (string name) { 31 | var guids = AssetDatabase.FindAssets ($"{name} t:Sprite"); 32 | if (guids.Length == 0) 33 | return null; 34 | var assetPaths = guids.Select (x => AssetDatabase.GUIDToAssetPath (x)).ToList (); 35 | var nameMatch = assetPaths.FirstOrDefault (x => Path.GetFileNameWithoutExtension (x) == name); 36 | var targetPath = !string.IsNullOrEmpty (nameMatch) ? nameMatch : assetPaths[0]; 37 | return AssetDatabase.LoadAssetAtPath (targetPath); 38 | } 39 | } 40 | } -------------------------------------------------------------------------------- /Sample/butachan.png.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 32df702c8fd4f40a9af126cedbbd7002 3 | TextureImporter: 4 | fileIDToRecycleName: {} 5 | externalObjects: {} 6 | serializedVersion: 7 7 | mipmaps: 8 | mipMapMode: 0 9 | enableMipMap: 0 10 | sRGBTexture: 1 11 | linearTexture: 0 12 | fadeOut: 0 13 | borderMipMap: 0 14 | mipMapsPreserveCoverage: 0 15 | alphaTestReferenceValue: 0.5 16 | mipMapFadeDistanceStart: 1 17 | mipMapFadeDistanceEnd: 3 18 | bumpmap: 19 | convertToNormalMap: 0 20 | externalNormalMap: 0 21 | heightScale: 0.25 22 | normalMapFilter: 0 23 | isReadable: 0 24 | streamingMipmaps: 0 25 | streamingMipmapsPriority: 0 26 | grayScaleToAlpha: 0 27 | generateCubemap: 6 28 | cubemapConvolution: 0 29 | seamlessCubemap: 0 30 | textureFormat: 1 31 | maxTextureSize: 2048 32 | textureSettings: 33 | serializedVersion: 2 34 | filterMode: -1 35 | aniso: -1 36 | mipBias: -100 37 | wrapU: 1 38 | wrapV: 1 39 | wrapW: -1 40 | nPOTScale: 0 41 | lightmap: 0 42 | compressionQuality: 50 43 | spriteMode: 1 44 | spriteExtrude: 1 45 | spriteMeshType: 1 46 | alignment: 0 47 | spritePivot: {x: 0.5, y: 0.5} 48 | spritePixelsToUnits: 100 49 | spriteBorder: {x: 0, y: 0, z: 0, w: 0} 50 | spriteGenerateFallbackPhysicsShape: 1 51 | alphaUsage: 1 52 | alphaIsTransparency: 1 53 | spriteTessellationDetail: -1 54 | textureType: 8 55 | textureShape: 1 56 | singleChannelComponent: 0 57 | maxTextureSizeSet: 0 58 | compressionQualitySet: 0 59 | textureFormatSet: 0 60 | platformSettings: 61 | - serializedVersion: 2 62 | buildTarget: DefaultTexturePlatform 63 | maxTextureSize: 2048 64 | resizeAlgorithm: 0 65 | textureFormat: -1 66 | textureCompression: 1 67 | compressionQuality: 50 68 | crunchedCompression: 0 69 | allowsAlphaSplitting: 0 70 | overridden: 0 71 | androidETC2FallbackOverride: 0 72 | - serializedVersion: 2 73 | buildTarget: Standalone 74 | maxTextureSize: 2048 75 | resizeAlgorithm: 0 76 | textureFormat: -1 77 | textureCompression: 1 78 | compressionQuality: 50 79 | crunchedCompression: 0 80 | allowsAlphaSplitting: 0 81 | overridden: 0 82 | androidETC2FallbackOverride: 0 83 | spriteSheet: 84 | serializedVersion: 2 85 | sprites: [] 86 | outline: [] 87 | physicsShape: [] 88 | bones: [] 89 | spriteID: 90 | vertices: [] 91 | indices: 92 | edges: [] 93 | weights: [] 94 | spritePackingTag: 95 | pSDRemoveMatte: 0 96 | pSDShowRemoveMatteOption: 0 97 | userData: 98 | assetBundleName: 99 | assetBundleVariant: 100 | -------------------------------------------------------------------------------- /Scripts/Editor/Xda.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections; 3 | using System.Collections.Generic; 4 | 5 | namespace Xd2uGUI { 6 | 7 | public enum XdComponent { 8 | Artboard, 9 | Rectangle, 10 | Text, 11 | Group, 12 | Ellipse, 13 | Line, 14 | Path, 15 | SymbolInstance, 16 | LinkedGraphic 17 | } 18 | 19 | [System.Serializable] 20 | public class Xda { 21 | public XdArtboard artboard; 22 | public List rectangleList; 23 | public List textList; 24 | public List groupList; 25 | public List ellipseList; 26 | public List lineList; 27 | public List pathList; 28 | public List symbolInstanceList; 29 | public List linkedGraphicList; 30 | } 31 | 32 | [System.Serializable] 33 | public class Node { 34 | public string guid; 35 | public string component; 36 | public string name; 37 | 38 | XdComponent ToXdComponent (string componentName) { 39 | switch (componentName) { 40 | case "Artboard": 41 | return XdComponent.Artboard; 42 | case "Rectangle": 43 | return XdComponent.Rectangle; 44 | case "Text": 45 | return XdComponent.Text; 46 | case "Ellipse": 47 | return XdComponent.Ellipse; 48 | case "Line": 49 | return XdComponent.Line; 50 | case "Path": 51 | return XdComponent.Path; 52 | case "SymbolInstance": 53 | return XdComponent.SymbolInstance; 54 | case "LinkedGraphic": 55 | return XdComponent.LinkedGraphic; 56 | case "Group": 57 | default: 58 | return XdComponent.Group; 59 | } 60 | } 61 | } 62 | 63 | [System.Serializable] 64 | public class XdArtboard : Node{ 65 | public int width; 66 | public int height; 67 | } 68 | 69 | [System.Serializable] 70 | public class XdRectangle : Node{ 71 | public string parentGuid; 72 | public int siblingIndex; 73 | public float artboardPosX; 74 | public float artboardPosY; 75 | public int width; 76 | public int height; 77 | public string color; 78 | } 79 | 80 | [System.Serializable] 81 | public class XdText : Node{ 82 | public string parentGuid; 83 | public int siblingIndex; 84 | public float artboardPosX; 85 | public float artboardPosY; 86 | public string text; 87 | public int fontSize; 88 | public string color; 89 | public string charSpacing; // 未使用 90 | public string lineSpacing; // pixel 未使用 91 | public string align; // 未使用 92 | } 93 | 94 | [System.Serializable] 95 | public class XdGroup : Node{ 96 | public string parentGuid; 97 | public int siblingIndex; 98 | public float artboardPosX; 99 | public float artboardPosY; 100 | } 101 | 102 | [System.Serializable] 103 | public class XdEllipse : Node{ 104 | public string parentGuid; 105 | public int siblingIndex; 106 | public float artboardPosX; 107 | public float artboardPosY; 108 | public int width; 109 | public int height; 110 | public string color; 111 | public float radiusX; 112 | public float radiusY; 113 | } 114 | 115 | [System.Serializable] 116 | public class XdLine : Node{ 117 | public string parentGuid; 118 | public int siblingIndex; 119 | public float artboardPosX; 120 | public float artboardPosY; 121 | public int width; 122 | public int height; 123 | public string color; 124 | public float lineWidth; 125 | public float startPosX; 126 | public float startPosY; 127 | public float endPosX; 128 | public float endPosY; 129 | } 130 | 131 | [System.Serializable] 132 | public class XdPath : Node{ 133 | public string parentGuid; 134 | public int siblingIndex; 135 | public float artboardPosX; 136 | public float artboardPosY; 137 | public int width; 138 | public int height; 139 | public string color; 140 | public string pathData; 141 | } 142 | 143 | [System.Serializable] 144 | public class XdSymbolInstance : Node{ 145 | public string parentGuid; 146 | public int siblingIndex; 147 | public float artboardPosX; 148 | public float artboardPosY; 149 | public int width; 150 | public int height; 151 | } 152 | 153 | [System.Serializable] 154 | public class XdLinkedGraphic : Node{ 155 | public string parentGuid; 156 | public int siblingIndex; 157 | public float artboardPosX; 158 | public float artboardPosY; 159 | public int width; 160 | public int height; 161 | } 162 | } -------------------------------------------------------------------------------- /Scripts/Editor/XdaTranslater.cs: -------------------------------------------------------------------------------- 1 | using System.Collections; 2 | using System.Collections.Generic; 3 | using UnityEngine; 4 | using System.Linq; 5 | 6 | namespace Xd2uGUI { 7 | public class XdaTranslater { 8 | 9 | public GameObject CreatePrefab (Xda xda) { 10 | IXdArtboardTranslater artboardTranslater = new DefaultXdArtboardTranslater(); 11 | IXdRectangleTranslater rectangleTranslater = new DefaultXdRectangleTranslater(); 12 | IXdTextTranslater textTranslater = new DefaultXdTextTranslater(); 13 | IXdGroupTranslater groupTranslater = new DefaultXdGroupTranslater(); 14 | IXdEllipseTranslater ellipseTranslater = new DefaultXdEllipseTranslater(); 15 | IXdLineTranslater lineTranslater = new DefaultXdLineTranslater(); 16 | IXdPathTranslater pathTranslater = new DefaultXdPathTranslater(); 17 | IXdSymbolInstanceTranslater symbolInstanceTranslater = new DefaultXdSymbolInstanceTranslater(); 18 | IXdLinkedGraphicTranslater linkedGraphicTranslater = new DefaultXdLinkedGraphicTranslater(); 19 | 20 | // アートボード 21 | GameObject artboard = artboardTranslater.CreateGameObjectByArtboard(xda.artboard); 22 | 23 | var nodeTree = new Dictionary (); 24 | var siblingIndexMap = new Dictionary(); 25 | var goMap = new Dictionary (); 26 | goMap.Add (xda.artboard.guid, artboard); 27 | // イメージ 28 | for (int i = 0; i < xda.rectangleList.Count; i++) { 29 | var node = xda.rectangleList[i]; 30 | nodeTree.Add (node, node.parentGuid); 31 | siblingIndexMap.Add(node, node.siblingIndex); 32 | var go = rectangleTranslater.CreateGameObjectByRectangle (node, artboard); 33 | goMap.Add (node.guid, go); 34 | } 35 | 36 | // テキスト 37 | for (int i = 0; i < xda.textList.Count; i++) { 38 | var node = xda.textList[i]; 39 | nodeTree.Add (node, node.parentGuid); 40 | siblingIndexMap.Add(node, node.siblingIndex); 41 | var go = textTranslater.CreateGameObjectByText (node, artboard); 42 | goMap.Add (node.guid, go); 43 | } 44 | 45 | // グループ 46 | for (int i = 0; i < xda.groupList.Count; i++) { 47 | var node = xda.groupList[i]; 48 | nodeTree.Add (node, node.parentGuid); 49 | siblingIndexMap.Add(node, node.siblingIndex); 50 | var go = groupTranslater.CreateGameObjectByGroup (xda.groupList[i], artboard); 51 | goMap.Add (node.guid, go); 52 | } 53 | 54 | // Ellipse 55 | for (int i = 0; i < xda.ellipseList.Count; i++) { 56 | var node = xda.ellipseList[i]; 57 | nodeTree.Add (node, node.parentGuid); 58 | siblingIndexMap.Add(node, node.siblingIndex); 59 | var go = ellipseTranslater.CreateGameObjectByEllipse (xda.ellipseList[i], artboard); 60 | goMap.Add (node.guid, go); 61 | } 62 | 63 | // Line 64 | for (int i = 0; i < xda.lineList.Count; i++) { 65 | var node = xda.lineList[i]; 66 | nodeTree.Add (node, node.parentGuid); 67 | siblingIndexMap.Add(node, node.siblingIndex); 68 | var go = lineTranslater.CreateGameObjectByLine (xda.lineList[i], artboard); 69 | goMap.Add (node.guid, go); 70 | } 71 | 72 | // Path 73 | for (int i = 0; i < xda.pathList.Count; i++) { 74 | var node = xda.pathList[i]; 75 | nodeTree.Add (node, node.parentGuid); 76 | siblingIndexMap.Add(node, node.siblingIndex); 77 | var go = pathTranslater.CreateGameObjectByPath (xda.pathList[i], artboard); 78 | goMap.Add (node.guid, go); 79 | } 80 | 81 | // SymbolInstance 82 | for (int i = 0; i < xda.symbolInstanceList.Count; i++) { 83 | var node = xda.symbolInstanceList[i]; 84 | nodeTree.Add (node, node.parentGuid); 85 | siblingIndexMap.Add(node, node.siblingIndex); 86 | var go = symbolInstanceTranslater.CreateGameObjectBySymbolInstance (xda.symbolInstanceList[i], artboard); 87 | goMap.Add (node.guid, go); 88 | } 89 | 90 | // LinkedGraphic 91 | for (int i = 0; i < xda.linkedGraphicList.Count; i++) { 92 | var node = xda.linkedGraphicList[i]; 93 | nodeTree.Add (node, node.parentGuid); 94 | siblingIndexMap.Add(node, node.siblingIndex); 95 | var go = linkedGraphicTranslater.CreateGameObjectByLinkedGraphic (xda.linkedGraphicList[i], artboard); 96 | goMap.Add (node.guid, go); 97 | } 98 | 99 | // 親子関係構築 100 | foreach (var kvp in nodeTree) { 101 | goMap[kvp.Key.guid].transform.SetParent (goMap[kvp.Value].transform); 102 | } 103 | 104 | // SiblingIndex設定 105 | foreach (var kvp in siblingIndexMap) { 106 | goMap[kvp.Key.guid].transform.SetSiblingIndex (kvp.Value); 107 | } 108 | return artboard; 109 | } 110 | } 111 | } -------------------------------------------------------------------------------- /Sample/SampleScreen.xda: -------------------------------------------------------------------------------- 1 | { 2 | "artboard": { 3 | "guid": "7f3c0811-2209-466b-a600-cff1b2b48a32", 4 | "component": "Artboard", 5 | "name": "SampleScreen", 6 | "width": 667, 7 | "height": 375 8 | }, 9 | "rectangleList": [ 10 | { 11 | "guid": "3188e88d-7cd7-43c2-afb2-8ccc7b8736fb", 12 | "component": "Rectangle", 13 | "name": "長方形 10", 14 | "parentGuid": "7f3c0811-2209-466b-a600-cff1b2b48a32", 15 | "siblingIndex": 0, 16 | "artboardPosX": 36, 17 | "artboardPosY": 36, 18 | "width": 595, 19 | "height": 303, 20 | "color": "#fcfaf2" 21 | }, 22 | { 23 | "guid": "99545c77-3746-4997-9a9f-2d5189485e9d", 24 | "component": "Rectangle", 25 | "name": "長方形 4", 26 | "parentGuid": "75182f7e-a658-4368-8a43-f66cdc69d274", 27 | "siblingIndex": 0, 28 | "artboardPosX": 0, 29 | "artboardPosY": 0, 30 | "width": 36, 31 | "height": 375, 32 | "color": "#fb32bb" 33 | }, 34 | { 35 | "guid": "85721e33-f4f1-4755-b427-7ea8fe871259", 36 | "component": "Rectangle", 37 | "name": "長方形 5", 38 | "parentGuid": "75182f7e-a658-4368-8a43-f66cdc69d274", 39 | "siblingIndex": 1, 40 | "artboardPosX": 36, 41 | "artboardPosY": 0, 42 | "width": 290, 43 | "height": 36, 44 | "color": "#fb32bb" 45 | }, 46 | { 47 | "guid": "de43011f-5315-4813-9f3e-507022b1d8b7", 48 | "component": "Rectangle", 49 | "name": "長方形 6", 50 | "parentGuid": "75182f7e-a658-4368-8a43-f66cdc69d274", 51 | "siblingIndex": 2, 52 | "artboardPosX": 631, 53 | "artboardPosY": 0, 54 | "width": 36, 55 | "height": 375, 56 | "color": "#262525" 57 | }, 58 | { 59 | "guid": "dac96a62-9cce-4ce4-b9fc-5f9328edce56", 60 | "component": "Rectangle", 61 | "name": "長方形 7", 62 | "parentGuid": "75182f7e-a658-4368-8a43-f66cdc69d274", 63 | "siblingIndex": 3, 64 | "artboardPosX": 28, 65 | "artboardPosY": 339, 66 | "width": 306, 67 | "height": 36, 68 | "color": "#fb32bb" 69 | }, 70 | { 71 | "guid": "67262ccb-66f1-4624-959a-c79b3d5b24c2", 72 | "component": "Rectangle", 73 | "name": "長方形 8", 74 | "parentGuid": "75182f7e-a658-4368-8a43-f66cdc69d274", 75 | "siblingIndex": 4, 76 | "artboardPosX": 326, 77 | "artboardPosY": 0, 78 | "width": 305, 79 | "height": 36, 80 | "color": "#262525" 81 | }, 82 | { 83 | "guid": "398ddfa1-88c3-4121-9867-909b426fdf91", 84 | "component": "Rectangle", 85 | "name": "長方形 9", 86 | "parentGuid": "75182f7e-a658-4368-8a43-f66cdc69d274", 87 | "siblingIndex": 5, 88 | "artboardPosX": 326, 89 | "artboardPosY": 339, 90 | "width": 312, 91 | "height": 36, 92 | "color": "#262525" 93 | }, 94 | { 95 | "guid": "b4a670c3-f8f5-4614-93b0-bc19e87a6252", 96 | "component": "Rectangle", 97 | "name": "butachan", 98 | "parentGuid": "7f3c0811-2209-466b-a600-cff1b2b48a32", 99 | "siblingIndex": 4, 100 | "artboardPosX": 10, 101 | "artboardPosY": 160, 102 | "width": 207, 103 | "height": 179, 104 | "color": "#FFF" 105 | } 106 | ], 107 | "groupList": [ 108 | { 109 | "guid": "75182f7e-a658-4368-8a43-f66cdc69d274", 110 | "component": "Group", 111 | "name": "frame", 112 | "parentGuid": "7f3c0811-2209-466b-a600-cff1b2b48a32", 113 | "siblingIndex": 1, 114 | "artboardPosX": 0, 115 | "artboardPosY": 0 116 | }, 117 | { 118 | "guid": "59a7bb44-cb91-48b5-a26f-a168f8cc2570", 119 | "component": "Group", 120 | "name": "title", 121 | "parentGuid": "7f3c0811-2209-466b-a600-cff1b2b48a32", 122 | "siblingIndex": 3, 123 | "artboardPosX": 113, 124 | "artboardPosY": 132 125 | } 126 | ], 127 | "textList": [ 128 | { 129 | "guid": "b1d2be85-2069-4a63-8178-4afff019bbed", 130 | "component": "Text", 131 | "name": "2", 132 | "parentGuid": "7f3c0811-2209-466b-a600-cff1b2b48a32", 133 | "siblingIndex": 2, 134 | "artboardPosX": 298, 135 | "artboardPosY": 132, 136 | "text": "2", 137 | "fontSize": 100, 138 | "color": "#fb32bb", 139 | "charSpacing": 1, 140 | "lineSpacing": 18, 141 | "align": "center" 142 | }, 143 | { 144 | "guid": "1ac69d04-4974-4284-bd89-f642ee6bb75e", 145 | "component": "Text", 146 | "name": "Xd", 147 | "parentGuid": "59a7bb44-cb91-48b5-a26f-a168f8cc2570", 148 | "siblingIndex": 0, 149 | "artboardPosX": 113, 150 | "artboardPosY": 132, 151 | "text": "Xd", 152 | "fontSize": 100, 153 | "color": "#fb32bb", 154 | "charSpacing": 1, 155 | "lineSpacing": 18, 156 | "align": "center" 157 | }, 158 | { 159 | "guid": "329a6f10-e016-4010-a732-888ad8adcd14", 160 | "component": "Text", 161 | "name": "uGUI", 162 | "parentGuid": "59a7bb44-cb91-48b5-a26f-a168f8cc2570", 163 | "siblingIndex": 1, 164 | "artboardPosX": 379, 165 | "artboardPosY": 132, 166 | "text": "uGUI", 167 | "fontSize": 100, 168 | "color": "#262525", 169 | "charSpacing": 1, 170 | "lineSpacing": 18, 171 | "align": "center" 172 | }, 173 | { 174 | "guid": "b6277826-5cb3-453d-a111-b36625159373", 175 | "component": "Text", 176 | "name": "2_1", 177 | "parentGuid": "59a7bb44-cb91-48b5-a26f-a168f8cc2570", 178 | "siblingIndex": 2, 179 | "artboardPosX": 298, 180 | "artboardPosY": 132, 181 | "text": "2", 182 | "fontSize": 100, 183 | "color": "#fb32bb", 184 | "charSpacing": 1, 185 | "lineSpacing": 18, 186 | "align": "center" 187 | }, 188 | { 189 | "guid": "dc974149-fb98-4393-b574-1847f4b2a4cb", 190 | "component": "Text", 191 | "name": "2", 192 | "parentGuid": "59a7bb44-cb91-48b5-a26f-a168f8cc2570", 193 | "siblingIndex": 3, 194 | "artboardPosX": 306, 195 | "artboardPosY": 132, 196 | "text": "2", 197 | "fontSize": 100, 198 | "color": "#262525", 199 | "charSpacing": 1, 200 | "lineSpacing": 18, 201 | "align": "center" 202 | } 203 | ] 204 | } -------------------------------------------------------------------------------- /Sample/SampleScreen.prefab: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!1 &388281846647510084 4 | GameObject: 5 | m_ObjectHideFlags: 0 6 | m_CorrespondingSourceObject: {fileID: 0} 7 | m_PrefabInstance: {fileID: 0} 8 | m_PrefabAsset: {fileID: 0} 9 | serializedVersion: 6 10 | m_Component: 11 | - component: {fileID: 8814327101011076615} 12 | - component: {fileID: 6017612573896883840} 13 | - component: {fileID: 4291067373886446434} 14 | m_Layer: 0 15 | m_Name: "\u9577\u65B9\u5F62 5" 16 | m_TagString: Untagged 17 | m_Icon: {fileID: 0} 18 | m_NavMeshLayer: 0 19 | m_StaticEditorFlags: 0 20 | m_IsActive: 1 21 | --- !u!224 &8814327101011076615 22 | RectTransform: 23 | m_ObjectHideFlags: 0 24 | m_CorrespondingSourceObject: {fileID: 0} 25 | m_PrefabInstance: {fileID: 0} 26 | m_PrefabAsset: {fileID: 0} 27 | m_GameObject: {fileID: 388281846647510084} 28 | m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} 29 | m_LocalPosition: {x: 0, y: 0, z: 0} 30 | m_LocalScale: {x: 1, y: 1, z: 1} 31 | m_Children: [] 32 | m_Father: {fileID: 7823587193517930734} 33 | m_RootOrder: 1 34 | m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} 35 | m_AnchorMin: {x: 0, y: 1} 36 | m_AnchorMax: {x: 0, y: 1} 37 | m_AnchoredPosition: {x: 36, y: 0} 38 | m_SizeDelta: {x: 290, y: 36} 39 | m_Pivot: {x: 0, y: 1} 40 | --- !u!222 &6017612573896883840 41 | CanvasRenderer: 42 | m_ObjectHideFlags: 0 43 | m_CorrespondingSourceObject: {fileID: 0} 44 | m_PrefabInstance: {fileID: 0} 45 | m_PrefabAsset: {fileID: 0} 46 | m_GameObject: {fileID: 388281846647510084} 47 | m_CullTransparentMesh: 0 48 | --- !u!114 &4291067373886446434 49 | MonoBehaviour: 50 | m_ObjectHideFlags: 0 51 | m_CorrespondingSourceObject: {fileID: 0} 52 | m_PrefabInstance: {fileID: 0} 53 | m_PrefabAsset: {fileID: 0} 54 | m_GameObject: {fileID: 388281846647510084} 55 | m_Enabled: 1 56 | m_EditorHideFlags: 0 57 | m_Script: {fileID: -765806418, guid: f70555f144d8491a825f0804e09c671c, type: 3} 58 | m_Name: 59 | m_EditorClassIdentifier: 60 | m_Material: {fileID: 0} 61 | m_Color: {r: 0.9843137, g: 0.19607843, b: 0.73333335, a: 1} 62 | m_RaycastTarget: 1 63 | m_OnCullStateChanged: 64 | m_PersistentCalls: 65 | m_Calls: [] 66 | m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, 67 | Version=1.0.0.0, Culture=neutral, PublicKeyToken=null 68 | m_Sprite: {fileID: 0} 69 | m_Type: 0 70 | m_PreserveAspect: 0 71 | m_FillCenter: 1 72 | m_FillMethod: 4 73 | m_FillAmount: 1 74 | m_FillClockwise: 1 75 | m_FillOrigin: 0 76 | m_UseSpriteMesh: 0 77 | --- !u!1 &1142186619296197288 78 | GameObject: 79 | m_ObjectHideFlags: 0 80 | m_CorrespondingSourceObject: {fileID: 0} 81 | m_PrefabInstance: {fileID: 0} 82 | m_PrefabAsset: {fileID: 0} 83 | serializedVersion: 6 84 | m_Component: 85 | - component: {fileID: 1514690220741923097} 86 | - component: {fileID: 5289785634763699309} 87 | - component: {fileID: 2099374575532031209} 88 | m_Layer: 0 89 | m_Name: uGUI 90 | m_TagString: Untagged 91 | m_Icon: {fileID: 0} 92 | m_NavMeshLayer: 0 93 | m_StaticEditorFlags: 0 94 | m_IsActive: 1 95 | --- !u!224 &1514690220741923097 96 | RectTransform: 97 | m_ObjectHideFlags: 0 98 | m_CorrespondingSourceObject: {fileID: 0} 99 | m_PrefabInstance: {fileID: 0} 100 | m_PrefabAsset: {fileID: 0} 101 | m_GameObject: {fileID: 1142186619296197288} 102 | m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} 103 | m_LocalPosition: {x: 0, y: 0, z: 0} 104 | m_LocalScale: {x: 1, y: 1, z: 1} 105 | m_Children: [] 106 | m_Father: {fileID: 2097985600955030752} 107 | m_RootOrder: 1 108 | m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} 109 | m_AnchorMin: {x: 0, y: 1} 110 | m_AnchorMax: {x: 0, y: 1} 111 | m_AnchoredPosition: {x: 266, y: 0} 112 | m_SizeDelta: {x: 234, y: 342} 113 | m_Pivot: {x: 0, y: 1} 114 | --- !u!222 &5289785634763699309 115 | CanvasRenderer: 116 | m_ObjectHideFlags: 0 117 | m_CorrespondingSourceObject: {fileID: 0} 118 | m_PrefabInstance: {fileID: 0} 119 | m_PrefabAsset: {fileID: 0} 120 | m_GameObject: {fileID: 1142186619296197288} 121 | m_CullTransparentMesh: 0 122 | --- !u!114 &2099374575532031209 123 | MonoBehaviour: 124 | m_ObjectHideFlags: 0 125 | m_CorrespondingSourceObject: {fileID: 0} 126 | m_PrefabInstance: {fileID: 0} 127 | m_PrefabAsset: {fileID: 0} 128 | m_GameObject: {fileID: 1142186619296197288} 129 | m_Enabled: 1 130 | m_EditorHideFlags: 0 131 | m_Script: {fileID: 708705254, guid: f70555f144d8491a825f0804e09c671c, type: 3} 132 | m_Name: 133 | m_EditorClassIdentifier: 134 | m_Material: {fileID: 0} 135 | m_Color: {r: 0.14901961, g: 0.14509805, b: 0.14509805, a: 1} 136 | m_RaycastTarget: 1 137 | m_OnCullStateChanged: 138 | m_PersistentCalls: 139 | m_Calls: [] 140 | m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, 141 | Version=1.0.0.0, Culture=neutral, PublicKeyToken=null 142 | m_FontData: 143 | m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0} 144 | m_FontSize: 100 145 | m_FontStyle: 0 146 | m_BestFit: 0 147 | m_MinSize: 10 148 | m_MaxSize: 100 149 | m_Alignment: 0 150 | m_AlignByGeometry: 0 151 | m_RichText: 1 152 | m_HorizontalOverflow: 0 153 | m_VerticalOverflow: 0 154 | m_LineSpacing: 1 155 | m_Text: uGUI 156 | --- !u!1 &1810301954608872036 157 | GameObject: 158 | m_ObjectHideFlags: 0 159 | m_CorrespondingSourceObject: {fileID: 0} 160 | m_PrefabInstance: {fileID: 0} 161 | m_PrefabAsset: {fileID: 0} 162 | serializedVersion: 6 163 | m_Component: 164 | - component: {fileID: 3152342232624549832} 165 | - component: {fileID: 7498921866537990600} 166 | - component: {fileID: 3782329679808553861} 167 | m_Layer: 0 168 | m_Name: "\u9577\u65B9\u5F62 8" 169 | m_TagString: Untagged 170 | m_Icon: {fileID: 0} 171 | m_NavMeshLayer: 0 172 | m_StaticEditorFlags: 0 173 | m_IsActive: 1 174 | --- !u!224 &3152342232624549832 175 | RectTransform: 176 | m_ObjectHideFlags: 0 177 | m_CorrespondingSourceObject: {fileID: 0} 178 | m_PrefabInstance: {fileID: 0} 179 | m_PrefabAsset: {fileID: 0} 180 | m_GameObject: {fileID: 1810301954608872036} 181 | m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} 182 | m_LocalPosition: {x: 0, y: 0, z: 0} 183 | m_LocalScale: {x: 1, y: 1, z: 1} 184 | m_Children: [] 185 | m_Father: {fileID: 7823587193517930734} 186 | m_RootOrder: 4 187 | m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} 188 | m_AnchorMin: {x: 0, y: 1} 189 | m_AnchorMax: {x: 0, y: 1} 190 | m_AnchoredPosition: {x: 326, y: 0} 191 | m_SizeDelta: {x: 305, y: 36} 192 | m_Pivot: {x: 0, y: 1} 193 | --- !u!222 &7498921866537990600 194 | CanvasRenderer: 195 | m_ObjectHideFlags: 0 196 | m_CorrespondingSourceObject: {fileID: 0} 197 | m_PrefabInstance: {fileID: 0} 198 | m_PrefabAsset: {fileID: 0} 199 | m_GameObject: {fileID: 1810301954608872036} 200 | m_CullTransparentMesh: 0 201 | --- !u!114 &3782329679808553861 202 | MonoBehaviour: 203 | m_ObjectHideFlags: 0 204 | m_CorrespondingSourceObject: {fileID: 0} 205 | m_PrefabInstance: {fileID: 0} 206 | m_PrefabAsset: {fileID: 0} 207 | m_GameObject: {fileID: 1810301954608872036} 208 | m_Enabled: 1 209 | m_EditorHideFlags: 0 210 | m_Script: {fileID: -765806418, guid: f70555f144d8491a825f0804e09c671c, type: 3} 211 | m_Name: 212 | m_EditorClassIdentifier: 213 | m_Material: {fileID: 0} 214 | m_Color: {r: 0.14901961, g: 0.14509805, b: 0.14509805, a: 1} 215 | m_RaycastTarget: 1 216 | m_OnCullStateChanged: 217 | m_PersistentCalls: 218 | m_Calls: [] 219 | m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, 220 | Version=1.0.0.0, Culture=neutral, PublicKeyToken=null 221 | m_Sprite: {fileID: 0} 222 | m_Type: 0 223 | m_PreserveAspect: 0 224 | m_FillCenter: 1 225 | m_FillMethod: 4 226 | m_FillAmount: 1 227 | m_FillClockwise: 1 228 | m_FillOrigin: 0 229 | m_UseSpriteMesh: 0 230 | --- !u!1 &1815676472374671564 231 | GameObject: 232 | m_ObjectHideFlags: 0 233 | m_CorrespondingSourceObject: {fileID: 0} 234 | m_PrefabInstance: {fileID: 0} 235 | m_PrefabAsset: {fileID: 0} 236 | serializedVersion: 6 237 | m_Component: 238 | - component: {fileID: 2827680831769642879} 239 | - component: {fileID: 1644248975402461941} 240 | - component: {fileID: 961882445551685719} 241 | m_Layer: 0 242 | m_Name: 2 243 | m_TagString: Untagged 244 | m_Icon: {fileID: 0} 245 | m_NavMeshLayer: 0 246 | m_StaticEditorFlags: 0 247 | m_IsActive: 1 248 | --- !u!224 &2827680831769642879 249 | RectTransform: 250 | m_ObjectHideFlags: 0 251 | m_CorrespondingSourceObject: {fileID: 0} 252 | m_PrefabInstance: {fileID: 0} 253 | m_PrefabAsset: {fileID: 0} 254 | m_GameObject: {fileID: 1815676472374671564} 255 | m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} 256 | m_LocalPosition: {x: 0, y: 0, z: 0} 257 | m_LocalScale: {x: 1, y: 1, z: 1} 258 | m_Children: [] 259 | m_Father: {fileID: 2097985600955030752} 260 | m_RootOrder: 3 261 | m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} 262 | m_AnchorMin: {x: 0, y: 1} 263 | m_AnchorMax: {x: 0, y: 1} 264 | m_AnchoredPosition: {x: 193, y: 0} 265 | m_SizeDelta: {x: 56, y: 112} 266 | m_Pivot: {x: 0, y: 1} 267 | --- !u!222 &1644248975402461941 268 | CanvasRenderer: 269 | m_ObjectHideFlags: 0 270 | m_CorrespondingSourceObject: {fileID: 0} 271 | m_PrefabInstance: {fileID: 0} 272 | m_PrefabAsset: {fileID: 0} 273 | m_GameObject: {fileID: 1815676472374671564} 274 | m_CullTransparentMesh: 0 275 | --- !u!114 &961882445551685719 276 | MonoBehaviour: 277 | m_ObjectHideFlags: 0 278 | m_CorrespondingSourceObject: {fileID: 0} 279 | m_PrefabInstance: {fileID: 0} 280 | m_PrefabAsset: {fileID: 0} 281 | m_GameObject: {fileID: 1815676472374671564} 282 | m_Enabled: 1 283 | m_EditorHideFlags: 0 284 | m_Script: {fileID: 708705254, guid: f70555f144d8491a825f0804e09c671c, type: 3} 285 | m_Name: 286 | m_EditorClassIdentifier: 287 | m_Material: {fileID: 0} 288 | m_Color: {r: 0.14901961, g: 0.14509805, b: 0.14509805, a: 1} 289 | m_RaycastTarget: 1 290 | m_OnCullStateChanged: 291 | m_PersistentCalls: 292 | m_Calls: [] 293 | m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, 294 | Version=1.0.0.0, Culture=neutral, PublicKeyToken=null 295 | m_FontData: 296 | m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0} 297 | m_FontSize: 100 298 | m_FontStyle: 0 299 | m_BestFit: 0 300 | m_MinSize: 10 301 | m_MaxSize: 100 302 | m_Alignment: 0 303 | m_AlignByGeometry: 0 304 | m_RichText: 1 305 | m_HorizontalOverflow: 0 306 | m_VerticalOverflow: 0 307 | m_LineSpacing: 1 308 | m_Text: 2 309 | --- !u!1 &2016719332902906760 310 | GameObject: 311 | m_ObjectHideFlags: 0 312 | m_CorrespondingSourceObject: {fileID: 0} 313 | m_PrefabInstance: {fileID: 0} 314 | m_PrefabAsset: {fileID: 0} 315 | serializedVersion: 6 316 | m_Component: 317 | - component: {fileID: 658133991387206606} 318 | - component: {fileID: 3360629350700957601} 319 | m_Layer: 0 320 | m_Name: SampleScreen 321 | m_TagString: Untagged 322 | m_Icon: {fileID: 0} 323 | m_NavMeshLayer: 0 324 | m_StaticEditorFlags: 0 325 | m_IsActive: 1 326 | --- !u!224 &658133991387206606 327 | RectTransform: 328 | m_ObjectHideFlags: 0 329 | m_CorrespondingSourceObject: {fileID: 0} 330 | m_PrefabInstance: {fileID: 0} 331 | m_PrefabAsset: {fileID: 0} 332 | m_GameObject: {fileID: 2016719332902906760} 333 | m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} 334 | m_LocalPosition: {x: 0, y: 0, z: 0} 335 | m_LocalScale: {x: 0, y: 0, z: 0} 336 | m_Children: 337 | - {fileID: 5007365622041360057} 338 | - {fileID: 7823587193517930734} 339 | - {fileID: 8839359720037922224} 340 | - {fileID: 2097985600955030752} 341 | - {fileID: 4422969454730001626} 342 | m_Father: {fileID: 0} 343 | m_RootOrder: 0 344 | m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} 345 | m_AnchorMin: {x: 0, y: 0} 346 | m_AnchorMax: {x: 0, y: 0} 347 | m_AnchoredPosition: {x: 0, y: 0} 348 | m_SizeDelta: {x: 0, y: 0} 349 | m_Pivot: {x: 0, y: 0} 350 | --- !u!223 &3360629350700957601 351 | Canvas: 352 | m_ObjectHideFlags: 0 353 | m_CorrespondingSourceObject: {fileID: 0} 354 | m_PrefabInstance: {fileID: 0} 355 | m_PrefabAsset: {fileID: 0} 356 | m_GameObject: {fileID: 2016719332902906760} 357 | m_Enabled: 1 358 | serializedVersion: 3 359 | m_RenderMode: 0 360 | m_Camera: {fileID: 0} 361 | m_PlaneDistance: 100 362 | m_PixelPerfect: 0 363 | m_ReceivesEvents: 1 364 | m_OverrideSorting: 0 365 | m_OverridePixelPerfect: 0 366 | m_SortingBucketNormalizedSize: 0 367 | m_AdditionalShaderChannelsFlag: 0 368 | m_SortingLayerID: 0 369 | m_SortingOrder: 0 370 | m_TargetDisplay: 0 371 | --- !u!1 &2074508005883132195 372 | GameObject: 373 | m_ObjectHideFlags: 0 374 | m_CorrespondingSourceObject: {fileID: 0} 375 | m_PrefabInstance: {fileID: 0} 376 | m_PrefabAsset: {fileID: 0} 377 | serializedVersion: 6 378 | m_Component: 379 | - component: {fileID: 3991518457403050739} 380 | - component: {fileID: 6555886969922751787} 381 | - component: {fileID: 9181313324999124447} 382 | m_Layer: 0 383 | m_Name: Xd 384 | m_TagString: Untagged 385 | m_Icon: {fileID: 0} 386 | m_NavMeshLayer: 0 387 | m_StaticEditorFlags: 0 388 | m_IsActive: 1 389 | --- !u!224 &3991518457403050739 390 | RectTransform: 391 | m_ObjectHideFlags: 0 392 | m_CorrespondingSourceObject: {fileID: 0} 393 | m_PrefabInstance: {fileID: 0} 394 | m_PrefabAsset: {fileID: 0} 395 | m_GameObject: {fileID: 2074508005883132195} 396 | m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} 397 | m_LocalPosition: {x: 0, y: 0, z: 0} 398 | m_LocalScale: {x: 1, y: 1, z: 1} 399 | m_Children: [] 400 | m_Father: {fileID: 2097985600955030752} 401 | m_RootOrder: 0 402 | m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} 403 | m_AnchorMin: {x: 0, y: 1} 404 | m_AnchorMax: {x: 0, y: 1} 405 | m_AnchoredPosition: {x: 0, y: 0} 406 | m_SizeDelta: {x: 123, y: 227} 407 | m_Pivot: {x: 0, y: 1} 408 | --- !u!222 &6555886969922751787 409 | CanvasRenderer: 410 | m_ObjectHideFlags: 0 411 | m_CorrespondingSourceObject: {fileID: 0} 412 | m_PrefabInstance: {fileID: 0} 413 | m_PrefabAsset: {fileID: 0} 414 | m_GameObject: {fileID: 2074508005883132195} 415 | m_CullTransparentMesh: 0 416 | --- !u!114 &9181313324999124447 417 | MonoBehaviour: 418 | m_ObjectHideFlags: 0 419 | m_CorrespondingSourceObject: {fileID: 0} 420 | m_PrefabInstance: {fileID: 0} 421 | m_PrefabAsset: {fileID: 0} 422 | m_GameObject: {fileID: 2074508005883132195} 423 | m_Enabled: 1 424 | m_EditorHideFlags: 0 425 | m_Script: {fileID: 708705254, guid: f70555f144d8491a825f0804e09c671c, type: 3} 426 | m_Name: 427 | m_EditorClassIdentifier: 428 | m_Material: {fileID: 0} 429 | m_Color: {r: 0.9843137, g: 0.19607843, b: 0.73333335, a: 1} 430 | m_RaycastTarget: 1 431 | m_OnCullStateChanged: 432 | m_PersistentCalls: 433 | m_Calls: [] 434 | m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, 435 | Version=1.0.0.0, Culture=neutral, PublicKeyToken=null 436 | m_FontData: 437 | m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0} 438 | m_FontSize: 100 439 | m_FontStyle: 0 440 | m_BestFit: 0 441 | m_MinSize: 10 442 | m_MaxSize: 100 443 | m_Alignment: 0 444 | m_AlignByGeometry: 0 445 | m_RichText: 1 446 | m_HorizontalOverflow: 0 447 | m_VerticalOverflow: 0 448 | m_LineSpacing: 1 449 | m_Text: Xd 450 | --- !u!1 &3511131787295797031 451 | GameObject: 452 | m_ObjectHideFlags: 0 453 | m_CorrespondingSourceObject: {fileID: 0} 454 | m_PrefabInstance: {fileID: 0} 455 | m_PrefabAsset: {fileID: 0} 456 | serializedVersion: 6 457 | m_Component: 458 | - component: {fileID: 8333296018912497658} 459 | - component: {fileID: 4030777563413746456} 460 | - component: {fileID: 6780286608372561305} 461 | m_Layer: 0 462 | m_Name: 2_1 463 | m_TagString: Untagged 464 | m_Icon: {fileID: 0} 465 | m_NavMeshLayer: 0 466 | m_StaticEditorFlags: 0 467 | m_IsActive: 1 468 | --- !u!224 &8333296018912497658 469 | RectTransform: 470 | m_ObjectHideFlags: 0 471 | m_CorrespondingSourceObject: {fileID: 0} 472 | m_PrefabInstance: {fileID: 0} 473 | m_PrefabAsset: {fileID: 0} 474 | m_GameObject: {fileID: 3511131787295797031} 475 | m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} 476 | m_LocalPosition: {x: 0, y: 0, z: 0} 477 | m_LocalScale: {x: 1, y: 1, z: 1} 478 | m_Children: [] 479 | m_Father: {fileID: 2097985600955030752} 480 | m_RootOrder: 2 481 | m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} 482 | m_AnchorMin: {x: 0, y: 1} 483 | m_AnchorMax: {x: 0, y: 1} 484 | m_AnchoredPosition: {x: 185, y: 0} 485 | m_SizeDelta: {x: 56, y: 112} 486 | m_Pivot: {x: 0, y: 1} 487 | --- !u!222 &4030777563413746456 488 | CanvasRenderer: 489 | m_ObjectHideFlags: 0 490 | m_CorrespondingSourceObject: {fileID: 0} 491 | m_PrefabInstance: {fileID: 0} 492 | m_PrefabAsset: {fileID: 0} 493 | m_GameObject: {fileID: 3511131787295797031} 494 | m_CullTransparentMesh: 0 495 | --- !u!114 &6780286608372561305 496 | MonoBehaviour: 497 | m_ObjectHideFlags: 0 498 | m_CorrespondingSourceObject: {fileID: 0} 499 | m_PrefabInstance: {fileID: 0} 500 | m_PrefabAsset: {fileID: 0} 501 | m_GameObject: {fileID: 3511131787295797031} 502 | m_Enabled: 1 503 | m_EditorHideFlags: 0 504 | m_Script: {fileID: 708705254, guid: f70555f144d8491a825f0804e09c671c, type: 3} 505 | m_Name: 506 | m_EditorClassIdentifier: 507 | m_Material: {fileID: 0} 508 | m_Color: {r: 0.9843137, g: 0.19607843, b: 0.73333335, a: 1} 509 | m_RaycastTarget: 1 510 | m_OnCullStateChanged: 511 | m_PersistentCalls: 512 | m_Calls: [] 513 | m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, 514 | Version=1.0.0.0, Culture=neutral, PublicKeyToken=null 515 | m_FontData: 516 | m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0} 517 | m_FontSize: 100 518 | m_FontStyle: 0 519 | m_BestFit: 0 520 | m_MinSize: 10 521 | m_MaxSize: 100 522 | m_Alignment: 0 523 | m_AlignByGeometry: 0 524 | m_RichText: 1 525 | m_HorizontalOverflow: 0 526 | m_VerticalOverflow: 0 527 | m_LineSpacing: 1 528 | m_Text: 2 529 | --- !u!1 &4053206234257221358 530 | GameObject: 531 | m_ObjectHideFlags: 0 532 | m_CorrespondingSourceObject: {fileID: 0} 533 | m_PrefabInstance: {fileID: 0} 534 | m_PrefabAsset: {fileID: 0} 535 | serializedVersion: 6 536 | m_Component: 537 | - component: {fileID: 4192624250533152385} 538 | - component: {fileID: 2216772734501613998} 539 | - component: {fileID: 6367421587963754038} 540 | m_Layer: 0 541 | m_Name: "\u9577\u65B9\u5F62 9" 542 | m_TagString: Untagged 543 | m_Icon: {fileID: 0} 544 | m_NavMeshLayer: 0 545 | m_StaticEditorFlags: 0 546 | m_IsActive: 1 547 | --- !u!224 &4192624250533152385 548 | RectTransform: 549 | m_ObjectHideFlags: 0 550 | m_CorrespondingSourceObject: {fileID: 0} 551 | m_PrefabInstance: {fileID: 0} 552 | m_PrefabAsset: {fileID: 0} 553 | m_GameObject: {fileID: 4053206234257221358} 554 | m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} 555 | m_LocalPosition: {x: 0, y: 0, z: 0} 556 | m_LocalScale: {x: 1, y: 1, z: 1} 557 | m_Children: [] 558 | m_Father: {fileID: 7823587193517930734} 559 | m_RootOrder: 5 560 | m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} 561 | m_AnchorMin: {x: 0, y: 1} 562 | m_AnchorMax: {x: 0, y: 1} 563 | m_AnchoredPosition: {x: 326, y: -339} 564 | m_SizeDelta: {x: 312, y: 36} 565 | m_Pivot: {x: 0, y: 1} 566 | --- !u!222 &2216772734501613998 567 | CanvasRenderer: 568 | m_ObjectHideFlags: 0 569 | m_CorrespondingSourceObject: {fileID: 0} 570 | m_PrefabInstance: {fileID: 0} 571 | m_PrefabAsset: {fileID: 0} 572 | m_GameObject: {fileID: 4053206234257221358} 573 | m_CullTransparentMesh: 0 574 | --- !u!114 &6367421587963754038 575 | MonoBehaviour: 576 | m_ObjectHideFlags: 0 577 | m_CorrespondingSourceObject: {fileID: 0} 578 | m_PrefabInstance: {fileID: 0} 579 | m_PrefabAsset: {fileID: 0} 580 | m_GameObject: {fileID: 4053206234257221358} 581 | m_Enabled: 1 582 | m_EditorHideFlags: 0 583 | m_Script: {fileID: -765806418, guid: f70555f144d8491a825f0804e09c671c, type: 3} 584 | m_Name: 585 | m_EditorClassIdentifier: 586 | m_Material: {fileID: 0} 587 | m_Color: {r: 0.14901961, g: 0.14509805, b: 0.14509805, a: 1} 588 | m_RaycastTarget: 1 589 | m_OnCullStateChanged: 590 | m_PersistentCalls: 591 | m_Calls: [] 592 | m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, 593 | Version=1.0.0.0, Culture=neutral, PublicKeyToken=null 594 | m_Sprite: {fileID: 0} 595 | m_Type: 0 596 | m_PreserveAspect: 0 597 | m_FillCenter: 1 598 | m_FillMethod: 4 599 | m_FillAmount: 1 600 | m_FillClockwise: 1 601 | m_FillOrigin: 0 602 | m_UseSpriteMesh: 0 603 | --- !u!1 &4576472441899111215 604 | GameObject: 605 | m_ObjectHideFlags: 0 606 | m_CorrespondingSourceObject: {fileID: 0} 607 | m_PrefabInstance: {fileID: 0} 608 | m_PrefabAsset: {fileID: 0} 609 | serializedVersion: 6 610 | m_Component: 611 | - component: {fileID: 8839359720037922224} 612 | - component: {fileID: 3621029329250716721} 613 | - component: {fileID: 5510297709191615128} 614 | m_Layer: 0 615 | m_Name: 2 616 | m_TagString: Untagged 617 | m_Icon: {fileID: 0} 618 | m_NavMeshLayer: 0 619 | m_StaticEditorFlags: 0 620 | m_IsActive: 1 621 | --- !u!224 &8839359720037922224 622 | RectTransform: 623 | m_ObjectHideFlags: 0 624 | m_CorrespondingSourceObject: {fileID: 0} 625 | m_PrefabInstance: {fileID: 0} 626 | m_PrefabAsset: {fileID: 0} 627 | m_GameObject: {fileID: 4576472441899111215} 628 | m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} 629 | m_LocalPosition: {x: 0, y: 0, z: 0} 630 | m_LocalScale: {x: 1, y: 1, z: 1} 631 | m_Children: [] 632 | m_Father: {fileID: 658133991387206606} 633 | m_RootOrder: 2 634 | m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} 635 | m_AnchorMin: {x: 0, y: 1} 636 | m_AnchorMax: {x: 0, y: 1} 637 | m_AnchoredPosition: {x: 298, y: -132} 638 | m_SizeDelta: {x: 56, y: 112} 639 | m_Pivot: {x: 0, y: 1} 640 | --- !u!222 &3621029329250716721 641 | CanvasRenderer: 642 | m_ObjectHideFlags: 0 643 | m_CorrespondingSourceObject: {fileID: 0} 644 | m_PrefabInstance: {fileID: 0} 645 | m_PrefabAsset: {fileID: 0} 646 | m_GameObject: {fileID: 4576472441899111215} 647 | m_CullTransparentMesh: 0 648 | --- !u!114 &5510297709191615128 649 | MonoBehaviour: 650 | m_ObjectHideFlags: 0 651 | m_CorrespondingSourceObject: {fileID: 0} 652 | m_PrefabInstance: {fileID: 0} 653 | m_PrefabAsset: {fileID: 0} 654 | m_GameObject: {fileID: 4576472441899111215} 655 | m_Enabled: 1 656 | m_EditorHideFlags: 0 657 | m_Script: {fileID: 708705254, guid: f70555f144d8491a825f0804e09c671c, type: 3} 658 | m_Name: 659 | m_EditorClassIdentifier: 660 | m_Material: {fileID: 0} 661 | m_Color: {r: 0.9843137, g: 0.19607843, b: 0.73333335, a: 1} 662 | m_RaycastTarget: 1 663 | m_OnCullStateChanged: 664 | m_PersistentCalls: 665 | m_Calls: [] 666 | m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, 667 | Version=1.0.0.0, Culture=neutral, PublicKeyToken=null 668 | m_FontData: 669 | m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0} 670 | m_FontSize: 100 671 | m_FontStyle: 0 672 | m_BestFit: 0 673 | m_MinSize: 10 674 | m_MaxSize: 100 675 | m_Alignment: 0 676 | m_AlignByGeometry: 0 677 | m_RichText: 1 678 | m_HorizontalOverflow: 0 679 | m_VerticalOverflow: 0 680 | m_LineSpacing: 1 681 | m_Text: 2 682 | --- !u!1 &5583477370650227573 683 | GameObject: 684 | m_ObjectHideFlags: 0 685 | m_CorrespondingSourceObject: {fileID: 0} 686 | m_PrefabInstance: {fileID: 0} 687 | m_PrefabAsset: {fileID: 0} 688 | serializedVersion: 6 689 | m_Component: 690 | - component: {fileID: 7823587193517930734} 691 | m_Layer: 0 692 | m_Name: frame 693 | m_TagString: Untagged 694 | m_Icon: {fileID: 0} 695 | m_NavMeshLayer: 0 696 | m_StaticEditorFlags: 0 697 | m_IsActive: 1 698 | --- !u!224 &7823587193517930734 699 | RectTransform: 700 | m_ObjectHideFlags: 0 701 | m_CorrespondingSourceObject: {fileID: 0} 702 | m_PrefabInstance: {fileID: 0} 703 | m_PrefabAsset: {fileID: 0} 704 | m_GameObject: {fileID: 5583477370650227573} 705 | m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} 706 | m_LocalPosition: {x: 0, y: 0, z: 0} 707 | m_LocalScale: {x: 1, y: 1, z: 1} 708 | m_Children: 709 | - {fileID: 7044185862471009382} 710 | - {fileID: 8814327101011076615} 711 | - {fileID: 3508899229099302461} 712 | - {fileID: 924828674487088961} 713 | - {fileID: 3152342232624549832} 714 | - {fileID: 4192624250533152385} 715 | m_Father: {fileID: 658133991387206606} 716 | m_RootOrder: 1 717 | m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} 718 | m_AnchorMin: {x: 0, y: 1} 719 | m_AnchorMax: {x: 0, y: 1} 720 | m_AnchoredPosition: {x: 0, y: -0} 721 | m_SizeDelta: {x: 10, y: 10} 722 | m_Pivot: {x: 0, y: 1} 723 | --- !u!1 &6249138251773128667 724 | GameObject: 725 | m_ObjectHideFlags: 0 726 | m_CorrespondingSourceObject: {fileID: 0} 727 | m_PrefabInstance: {fileID: 0} 728 | m_PrefabAsset: {fileID: 0} 729 | serializedVersion: 6 730 | m_Component: 731 | - component: {fileID: 5007365622041360057} 732 | - component: {fileID: 6292313450887672952} 733 | - component: {fileID: 9197278111436261381} 734 | m_Layer: 0 735 | m_Name: "\u9577\u65B9\u5F62 10" 736 | m_TagString: Untagged 737 | m_Icon: {fileID: 0} 738 | m_NavMeshLayer: 0 739 | m_StaticEditorFlags: 0 740 | m_IsActive: 1 741 | --- !u!224 &5007365622041360057 742 | RectTransform: 743 | m_ObjectHideFlags: 0 744 | m_CorrespondingSourceObject: {fileID: 0} 745 | m_PrefabInstance: {fileID: 0} 746 | m_PrefabAsset: {fileID: 0} 747 | m_GameObject: {fileID: 6249138251773128667} 748 | m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} 749 | m_LocalPosition: {x: 0, y: 0, z: 0} 750 | m_LocalScale: {x: 1, y: 1, z: 1} 751 | m_Children: [] 752 | m_Father: {fileID: 658133991387206606} 753 | m_RootOrder: 0 754 | m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} 755 | m_AnchorMin: {x: 0, y: 1} 756 | m_AnchorMax: {x: 0, y: 1} 757 | m_AnchoredPosition: {x: 36, y: -36} 758 | m_SizeDelta: {x: 595, y: 303} 759 | m_Pivot: {x: 0, y: 1} 760 | --- !u!222 &6292313450887672952 761 | CanvasRenderer: 762 | m_ObjectHideFlags: 0 763 | m_CorrespondingSourceObject: {fileID: 0} 764 | m_PrefabInstance: {fileID: 0} 765 | m_PrefabAsset: {fileID: 0} 766 | m_GameObject: {fileID: 6249138251773128667} 767 | m_CullTransparentMesh: 0 768 | --- !u!114 &9197278111436261381 769 | MonoBehaviour: 770 | m_ObjectHideFlags: 0 771 | m_CorrespondingSourceObject: {fileID: 0} 772 | m_PrefabInstance: {fileID: 0} 773 | m_PrefabAsset: {fileID: 0} 774 | m_GameObject: {fileID: 6249138251773128667} 775 | m_Enabled: 1 776 | m_EditorHideFlags: 0 777 | m_Script: {fileID: -765806418, guid: f70555f144d8491a825f0804e09c671c, type: 3} 778 | m_Name: 779 | m_EditorClassIdentifier: 780 | m_Material: {fileID: 0} 781 | m_Color: {r: 0.9882353, g: 0.98039216, b: 0.9490196, a: 1} 782 | m_RaycastTarget: 1 783 | m_OnCullStateChanged: 784 | m_PersistentCalls: 785 | m_Calls: [] 786 | m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, 787 | Version=1.0.0.0, Culture=neutral, PublicKeyToken=null 788 | m_Sprite: {fileID: 0} 789 | m_Type: 0 790 | m_PreserveAspect: 0 791 | m_FillCenter: 1 792 | m_FillMethod: 4 793 | m_FillAmount: 1 794 | m_FillClockwise: 1 795 | m_FillOrigin: 0 796 | m_UseSpriteMesh: 0 797 | --- !u!1 &6508975249732291444 798 | GameObject: 799 | m_ObjectHideFlags: 0 800 | m_CorrespondingSourceObject: {fileID: 0} 801 | m_PrefabInstance: {fileID: 0} 802 | m_PrefabAsset: {fileID: 0} 803 | serializedVersion: 6 804 | m_Component: 805 | - component: {fileID: 3508899229099302461} 806 | - component: {fileID: 8756678660443491703} 807 | - component: {fileID: 7458524788528972028} 808 | m_Layer: 0 809 | m_Name: "\u9577\u65B9\u5F62 6" 810 | m_TagString: Untagged 811 | m_Icon: {fileID: 0} 812 | m_NavMeshLayer: 0 813 | m_StaticEditorFlags: 0 814 | m_IsActive: 1 815 | --- !u!224 &3508899229099302461 816 | RectTransform: 817 | m_ObjectHideFlags: 0 818 | m_CorrespondingSourceObject: {fileID: 0} 819 | m_PrefabInstance: {fileID: 0} 820 | m_PrefabAsset: {fileID: 0} 821 | m_GameObject: {fileID: 6508975249732291444} 822 | m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} 823 | m_LocalPosition: {x: 0, y: 0, z: 0} 824 | m_LocalScale: {x: 1, y: 1, z: 1} 825 | m_Children: [] 826 | m_Father: {fileID: 7823587193517930734} 827 | m_RootOrder: 2 828 | m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} 829 | m_AnchorMin: {x: 0, y: 1} 830 | m_AnchorMax: {x: 0, y: 1} 831 | m_AnchoredPosition: {x: 631, y: 0} 832 | m_SizeDelta: {x: 36, y: 375} 833 | m_Pivot: {x: 0, y: 1} 834 | --- !u!222 &8756678660443491703 835 | CanvasRenderer: 836 | m_ObjectHideFlags: 0 837 | m_CorrespondingSourceObject: {fileID: 0} 838 | m_PrefabInstance: {fileID: 0} 839 | m_PrefabAsset: {fileID: 0} 840 | m_GameObject: {fileID: 6508975249732291444} 841 | m_CullTransparentMesh: 0 842 | --- !u!114 &7458524788528972028 843 | MonoBehaviour: 844 | m_ObjectHideFlags: 0 845 | m_CorrespondingSourceObject: {fileID: 0} 846 | m_PrefabInstance: {fileID: 0} 847 | m_PrefabAsset: {fileID: 0} 848 | m_GameObject: {fileID: 6508975249732291444} 849 | m_Enabled: 1 850 | m_EditorHideFlags: 0 851 | m_Script: {fileID: -765806418, guid: f70555f144d8491a825f0804e09c671c, type: 3} 852 | m_Name: 853 | m_EditorClassIdentifier: 854 | m_Material: {fileID: 0} 855 | m_Color: {r: 0.14901961, g: 0.14509805, b: 0.14509805, a: 1} 856 | m_RaycastTarget: 1 857 | m_OnCullStateChanged: 858 | m_PersistentCalls: 859 | m_Calls: [] 860 | m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, 861 | Version=1.0.0.0, Culture=neutral, PublicKeyToken=null 862 | m_Sprite: {fileID: 0} 863 | m_Type: 0 864 | m_PreserveAspect: 0 865 | m_FillCenter: 1 866 | m_FillMethod: 4 867 | m_FillAmount: 1 868 | m_FillClockwise: 1 869 | m_FillOrigin: 0 870 | m_UseSpriteMesh: 0 871 | --- !u!1 &6684517680651759580 872 | GameObject: 873 | m_ObjectHideFlags: 0 874 | m_CorrespondingSourceObject: {fileID: 0} 875 | m_PrefabInstance: {fileID: 0} 876 | m_PrefabAsset: {fileID: 0} 877 | serializedVersion: 6 878 | m_Component: 879 | - component: {fileID: 7044185862471009382} 880 | - component: {fileID: 2142335169775302680} 881 | - component: {fileID: 7974288964356861655} 882 | m_Layer: 0 883 | m_Name: "\u9577\u65B9\u5F62 4" 884 | m_TagString: Untagged 885 | m_Icon: {fileID: 0} 886 | m_NavMeshLayer: 0 887 | m_StaticEditorFlags: 0 888 | m_IsActive: 1 889 | --- !u!224 &7044185862471009382 890 | RectTransform: 891 | m_ObjectHideFlags: 0 892 | m_CorrespondingSourceObject: {fileID: 0} 893 | m_PrefabInstance: {fileID: 0} 894 | m_PrefabAsset: {fileID: 0} 895 | m_GameObject: {fileID: 6684517680651759580} 896 | m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} 897 | m_LocalPosition: {x: 0, y: 0, z: 0} 898 | m_LocalScale: {x: 1, y: 1, z: 1} 899 | m_Children: [] 900 | m_Father: {fileID: 7823587193517930734} 901 | m_RootOrder: 0 902 | m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} 903 | m_AnchorMin: {x: 0, y: 1} 904 | m_AnchorMax: {x: 0, y: 1} 905 | m_AnchoredPosition: {x: 0, y: 0} 906 | m_SizeDelta: {x: 36, y: 375} 907 | m_Pivot: {x: 0, y: 1} 908 | --- !u!222 &2142335169775302680 909 | CanvasRenderer: 910 | m_ObjectHideFlags: 0 911 | m_CorrespondingSourceObject: {fileID: 0} 912 | m_PrefabInstance: {fileID: 0} 913 | m_PrefabAsset: {fileID: 0} 914 | m_GameObject: {fileID: 6684517680651759580} 915 | m_CullTransparentMesh: 0 916 | --- !u!114 &7974288964356861655 917 | MonoBehaviour: 918 | m_ObjectHideFlags: 0 919 | m_CorrespondingSourceObject: {fileID: 0} 920 | m_PrefabInstance: {fileID: 0} 921 | m_PrefabAsset: {fileID: 0} 922 | m_GameObject: {fileID: 6684517680651759580} 923 | m_Enabled: 1 924 | m_EditorHideFlags: 0 925 | m_Script: {fileID: -765806418, guid: f70555f144d8491a825f0804e09c671c, type: 3} 926 | m_Name: 927 | m_EditorClassIdentifier: 928 | m_Material: {fileID: 0} 929 | m_Color: {r: 0.9843137, g: 0.19607843, b: 0.73333335, a: 1} 930 | m_RaycastTarget: 1 931 | m_OnCullStateChanged: 932 | m_PersistentCalls: 933 | m_Calls: [] 934 | m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, 935 | Version=1.0.0.0, Culture=neutral, PublicKeyToken=null 936 | m_Sprite: {fileID: 0} 937 | m_Type: 0 938 | m_PreserveAspect: 0 939 | m_FillCenter: 1 940 | m_FillMethod: 4 941 | m_FillAmount: 1 942 | m_FillClockwise: 1 943 | m_FillOrigin: 0 944 | m_UseSpriteMesh: 0 945 | --- !u!1 &7684790880644495094 946 | GameObject: 947 | m_ObjectHideFlags: 0 948 | m_CorrespondingSourceObject: {fileID: 0} 949 | m_PrefabInstance: {fileID: 0} 950 | m_PrefabAsset: {fileID: 0} 951 | serializedVersion: 6 952 | m_Component: 953 | - component: {fileID: 2097985600955030752} 954 | m_Layer: 0 955 | m_Name: title 956 | m_TagString: Untagged 957 | m_Icon: {fileID: 0} 958 | m_NavMeshLayer: 0 959 | m_StaticEditorFlags: 0 960 | m_IsActive: 1 961 | --- !u!224 &2097985600955030752 962 | RectTransform: 963 | m_ObjectHideFlags: 0 964 | m_CorrespondingSourceObject: {fileID: 0} 965 | m_PrefabInstance: {fileID: 0} 966 | m_PrefabAsset: {fileID: 0} 967 | m_GameObject: {fileID: 7684790880644495094} 968 | m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} 969 | m_LocalPosition: {x: 0, y: 0, z: 0} 970 | m_LocalScale: {x: 1, y: 1, z: 1} 971 | m_Children: 972 | - {fileID: 3991518457403050739} 973 | - {fileID: 1514690220741923097} 974 | - {fileID: 8333296018912497658} 975 | - {fileID: 2827680831769642879} 976 | m_Father: {fileID: 658133991387206606} 977 | m_RootOrder: 3 978 | m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} 979 | m_AnchorMin: {x: 0, y: 1} 980 | m_AnchorMax: {x: 0, y: 1} 981 | m_AnchoredPosition: {x: 113, y: -132} 982 | m_SizeDelta: {x: 10, y: 10} 983 | m_Pivot: {x: 0, y: 1} 984 | --- !u!1 &7936041879993713996 985 | GameObject: 986 | m_ObjectHideFlags: 0 987 | m_CorrespondingSourceObject: {fileID: 0} 988 | m_PrefabInstance: {fileID: 0} 989 | m_PrefabAsset: {fileID: 0} 990 | serializedVersion: 6 991 | m_Component: 992 | - component: {fileID: 924828674487088961} 993 | - component: {fileID: 8203879548469506025} 994 | - component: {fileID: 2008471171923912230} 995 | m_Layer: 0 996 | m_Name: "\u9577\u65B9\u5F62 7" 997 | m_TagString: Untagged 998 | m_Icon: {fileID: 0} 999 | m_NavMeshLayer: 0 1000 | m_StaticEditorFlags: 0 1001 | m_IsActive: 1 1002 | --- !u!224 &924828674487088961 1003 | RectTransform: 1004 | m_ObjectHideFlags: 0 1005 | m_CorrespondingSourceObject: {fileID: 0} 1006 | m_PrefabInstance: {fileID: 0} 1007 | m_PrefabAsset: {fileID: 0} 1008 | m_GameObject: {fileID: 7936041879993713996} 1009 | m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} 1010 | m_LocalPosition: {x: 0, y: 0, z: 0} 1011 | m_LocalScale: {x: 1, y: 1, z: 1} 1012 | m_Children: [] 1013 | m_Father: {fileID: 7823587193517930734} 1014 | m_RootOrder: 3 1015 | m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} 1016 | m_AnchorMin: {x: 0, y: 1} 1017 | m_AnchorMax: {x: 0, y: 1} 1018 | m_AnchoredPosition: {x: 28, y: -339} 1019 | m_SizeDelta: {x: 306, y: 36} 1020 | m_Pivot: {x: 0, y: 1} 1021 | --- !u!222 &8203879548469506025 1022 | CanvasRenderer: 1023 | m_ObjectHideFlags: 0 1024 | m_CorrespondingSourceObject: {fileID: 0} 1025 | m_PrefabInstance: {fileID: 0} 1026 | m_PrefabAsset: {fileID: 0} 1027 | m_GameObject: {fileID: 7936041879993713996} 1028 | m_CullTransparentMesh: 0 1029 | --- !u!114 &2008471171923912230 1030 | MonoBehaviour: 1031 | m_ObjectHideFlags: 0 1032 | m_CorrespondingSourceObject: {fileID: 0} 1033 | m_PrefabInstance: {fileID: 0} 1034 | m_PrefabAsset: {fileID: 0} 1035 | m_GameObject: {fileID: 7936041879993713996} 1036 | m_Enabled: 1 1037 | m_EditorHideFlags: 0 1038 | m_Script: {fileID: -765806418, guid: f70555f144d8491a825f0804e09c671c, type: 3} 1039 | m_Name: 1040 | m_EditorClassIdentifier: 1041 | m_Material: {fileID: 0} 1042 | m_Color: {r: 0.9843137, g: 0.19607843, b: 0.73333335, a: 1} 1043 | m_RaycastTarget: 1 1044 | m_OnCullStateChanged: 1045 | m_PersistentCalls: 1046 | m_Calls: [] 1047 | m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, 1048 | Version=1.0.0.0, Culture=neutral, PublicKeyToken=null 1049 | m_Sprite: {fileID: 0} 1050 | m_Type: 0 1051 | m_PreserveAspect: 0 1052 | m_FillCenter: 1 1053 | m_FillMethod: 4 1054 | m_FillAmount: 1 1055 | m_FillClockwise: 1 1056 | m_FillOrigin: 0 1057 | m_UseSpriteMesh: 0 1058 | --- !u!1 &8096367013354025050 1059 | GameObject: 1060 | m_ObjectHideFlags: 0 1061 | m_CorrespondingSourceObject: {fileID: 0} 1062 | m_PrefabInstance: {fileID: 0} 1063 | m_PrefabAsset: {fileID: 0} 1064 | serializedVersion: 6 1065 | m_Component: 1066 | - component: {fileID: 4422969454730001626} 1067 | - component: {fileID: 1247027797153488319} 1068 | - component: {fileID: 2005773636090916018} 1069 | m_Layer: 0 1070 | m_Name: butachan 1071 | m_TagString: Untagged 1072 | m_Icon: {fileID: 0} 1073 | m_NavMeshLayer: 0 1074 | m_StaticEditorFlags: 0 1075 | m_IsActive: 1 1076 | --- !u!224 &4422969454730001626 1077 | RectTransform: 1078 | m_ObjectHideFlags: 0 1079 | m_CorrespondingSourceObject: {fileID: 0} 1080 | m_PrefabInstance: {fileID: 0} 1081 | m_PrefabAsset: {fileID: 0} 1082 | m_GameObject: {fileID: 8096367013354025050} 1083 | m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} 1084 | m_LocalPosition: {x: 0, y: 0, z: 0} 1085 | m_LocalScale: {x: 1, y: 1, z: 1} 1086 | m_Children: [] 1087 | m_Father: {fileID: 658133991387206606} 1088 | m_RootOrder: 4 1089 | m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} 1090 | m_AnchorMin: {x: 0, y: 1} 1091 | m_AnchorMax: {x: 0, y: 1} 1092 | m_AnchoredPosition: {x: 10, y: -160} 1093 | m_SizeDelta: {x: 207, y: 179} 1094 | m_Pivot: {x: 0, y: 1} 1095 | --- !u!222 &1247027797153488319 1096 | CanvasRenderer: 1097 | m_ObjectHideFlags: 0 1098 | m_CorrespondingSourceObject: {fileID: 0} 1099 | m_PrefabInstance: {fileID: 0} 1100 | m_PrefabAsset: {fileID: 0} 1101 | m_GameObject: {fileID: 8096367013354025050} 1102 | m_CullTransparentMesh: 0 1103 | --- !u!114 &2005773636090916018 1104 | MonoBehaviour: 1105 | m_ObjectHideFlags: 0 1106 | m_CorrespondingSourceObject: {fileID: 0} 1107 | m_PrefabInstance: {fileID: 0} 1108 | m_PrefabAsset: {fileID: 0} 1109 | m_GameObject: {fileID: 8096367013354025050} 1110 | m_Enabled: 1 1111 | m_EditorHideFlags: 0 1112 | m_Script: {fileID: -765806418, guid: f70555f144d8491a825f0804e09c671c, type: 3} 1113 | m_Name: 1114 | m_EditorClassIdentifier: 1115 | m_Material: {fileID: 0} 1116 | m_Color: {r: 1, g: 1, b: 1, a: 1} 1117 | m_RaycastTarget: 1 1118 | m_OnCullStateChanged: 1119 | m_PersistentCalls: 1120 | m_Calls: [] 1121 | m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, 1122 | Version=1.0.0.0, Culture=neutral, PublicKeyToken=null 1123 | m_Sprite: {fileID: 21300000, guid: 32df702c8fd4f40a9af126cedbbd7002, type: 3} 1124 | m_Type: 0 1125 | m_PreserveAspect: 0 1126 | m_FillCenter: 1 1127 | m_FillMethod: 4 1128 | m_FillAmount: 1 1129 | m_FillClockwise: 1 1130 | m_FillOrigin: 0 1131 | m_UseSpriteMesh: 0 1132 | --------------------------------------------------------------------------------