From 7ba69600f6910d8de47f9cdeb616fa47afdd4b44 Mon Sep 17 00:00:00 2001 From: shenjianxing <”315615051@qq.com“> Date: Wed, 5 Feb 2025 14:56:37 +0800 Subject: [PATCH 01/25] =?UTF-8?q?=E5=B0=9D=E8=AF=95=E4=BF=AE=E5=A4=8DLoadi?= =?UTF-8?q?ng=E9=A1=B5=E9=9D=A2=E8=B7=B3=E6=AD=A5=E4=B8=8D=E6=B6=88?= =?UTF-8?q?=E5=A4=B1=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Assets/Scripts/Controller/OperationController.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Assets/Scripts/Controller/OperationController.cs b/Assets/Scripts/Controller/OperationController.cs index a9dfa608..b6817979 100644 --- a/Assets/Scripts/Controller/OperationController.cs +++ b/Assets/Scripts/Controller/OperationController.cs @@ -193,12 +193,12 @@ public class OperationController : MonoSingleton public void RunCurAction(IAction curAction, int targetIndex) { + TypeEventSystem.Global.Send(); if (curAction != null) { this.index = targetIndex; isStepRun = true; TypeEventSystem.Global.Send(new StepStatusOnChange() { curIndex = targetIndex, status = StepStatus.Start }); - TypeEventSystem.Global.Send(); curAction.Start(this, () => { isStepRun = false; From 0381bfecbacf436856b0d44cfb55144370e24aa5 Mon Sep 17 00:00:00 2001 From: shenjianxing <”315615051@qq.com“> Date: Thu, 6 Feb 2025 13:11:06 +0800 Subject: [PATCH 02/25] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E6=8F=8F=E8=BF=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Doc/Xml配置文档.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Doc/Xml配置文档.xml b/Doc/Xml配置文档.xml index c658c7f1..ddcb472a 100644 --- a/Doc/Xml配置文档.xml +++ b/Doc/Xml配置文档.xml @@ -106,7 +106,7 @@ - + From 53beb1ec4e94d2797a022b2f587627d9d1f1c066 Mon Sep 17 00:00:00 2001 From: shenjianxing <”315615051@qq.com“> Date: Thu, 6 Feb 2025 14:50:19 +0800 Subject: [PATCH 03/25] =?UTF-8?q?=E5=A2=9E=E5=8A=A0finish?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Assets/Scripts/Actions/LedAction.cs | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/Assets/Scripts/Actions/LedAction.cs b/Assets/Scripts/Actions/LedAction.cs index 2b4d020a..86e3a110 100644 --- a/Assets/Scripts/Actions/LedAction.cs +++ b/Assets/Scripts/Actions/LedAction.cs @@ -58,7 +58,6 @@ namespace QFramework var mat = obj.GetComponent().material; //"99.99" char item = number[i]; - Debug.LogError(item); if (item == '.') { isPoint = true; @@ -90,6 +89,8 @@ namespace QFramework mat.mainTexture = Resources.Load($"Number/Mask").As(); } } + + this.Finish(); } public void OnExecute(float dt) From c9529a1216a7c2b147fdb6e7b2851ae632a52920 Mon Sep 17 00:00:00 2001 From: shenjianxing <”315615051@qq.com“> Date: Thu, 6 Feb 2025 15:17:08 +0800 Subject: [PATCH 04/25] =?UTF-8?q?=E6=96=B0=E5=A2=9E=E9=95=BF=E6=8C=89?= =?UTF-8?q?=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Assets/Scripts/Actions/ActionHelper.cs | 11 +- .../Conditions/ObjClickLongCondition.cs | 146 ++++++++++++++++++ .../Conditions/ObjClickLongCondition.cs.meta | 3 + Assets/Scripts/Xml/XmlParser.cs | 36 +++-- Doc/Xml配置文档.xml | 7 +- 5 files changed, 190 insertions(+), 13 deletions(-) create mode 100644 Assets/Scripts/Conditions/ObjClickLongCondition.cs create mode 100644 Assets/Scripts/Conditions/ObjClickLongCondition.cs.meta diff --git a/Assets/Scripts/Actions/ActionHelper.cs b/Assets/Scripts/Actions/ActionHelper.cs index b1ff7e73..ef39f9a8 100644 --- a/Assets/Scripts/Actions/ActionHelper.cs +++ b/Assets/Scripts/Actions/ActionHelper.cs @@ -269,8 +269,15 @@ public class ActionHelper case "UIClick": return UIClickCondition.Allocate(condition.Value); case "ObjClick": - var dict = (XMLTool.DictionaryCondition)condition; - return ObjClickCondition.Allocate(dict.Value, dict.args); + { + var dict = (XMLTool.DictionaryCondition)condition; + return ObjClickCondition.Allocate(dict.Value, dict.args); + } + case "ObjClickLong": + { + var dict = (XMLTool.DictionaryCondition)condition; + return ObjClickLongCondition.Allocate(dict.Value, dict.args); + } case "Input": return InputCondition.Allocate(condition.Value); case "Var": diff --git a/Assets/Scripts/Conditions/ObjClickLongCondition.cs b/Assets/Scripts/Conditions/ObjClickLongCondition.cs new file mode 100644 index 00000000..c8a490d9 --- /dev/null +++ b/Assets/Scripts/Conditions/ObjClickLongCondition.cs @@ -0,0 +1,146 @@ +using System; +using System.Collections.Generic; +using System.IO; +using UnityEngine; +using UnityEngine.EventSystems; + +namespace QFramework +{ + public class ObjClickLongCondition : ICondition + { + + private static SimpleObjectPool mSimpleObjectPool = + new SimpleObjectPool(() => new ObjClickLongCondition(), null, 10); + + private ObjClickLongCondition() { } + public GameObject obj = null; + string path; + string deviceName; + float time; + float curTime; + bool isDown = false; + public static ObjClickLongCondition Allocate(string path, Dictionary datas) + { + var conditionAction = mSimpleObjectPool.Allocate(); + conditionAction.ActionID = ActionKit.ID_GENERATOR++; + conditionAction.Deinited = false; + conditionAction.Reset(); + conditionAction.path = path; + conditionAction.deviceName = datas.ContainsKey("deviceName") ? datas["deviceName"] : null; + if (datas.ContainsKey("time")) + { + float.TryParse(datas["time"], out conditionAction.time); + } + return conditionAction; + } + public bool Check() + { + if (obj == null) + { + if (string.IsNullOrEmpty(deviceName)) + { + obj = Utility.FindObj(path); + } + else + { + obj = DeviceController.Instance.GetDeviceObj(deviceName); + if (obj == null) + { + Debug.LogError($"ûҵ path:{path} deviceName:{deviceName}"); + } + } + } + + // + if (Input.GetMouseButtonDown(0)) + { + OnMouseDown(); + } + + // ɿ + if (Input.GetMouseButtonUp(0)) + { + OnMouseUp(); + } + + if (isDown && EventSystem.current.IsPointerOverGameObject() == false) + { + Vector3 mousePos = Input.mousePosition; + Ray ray = Camera.main.ScreenPointToRay(mousePos); + RaycastHit hit; + if (Physics.Raycast(ray, out hit)) + { + if (obj == hit.collider.gameObject) + { + curTime -= Time.deltaTime; + if (curTime <= 0) + { + return true; + } + } + + } + } + + return false; + } + + public void OnMouseDown() + { + curTime = this.time; + isDown = true; + } + + public void OnMouseUp() + { + isDown = false; + } + + + public bool Paused { get; set; } + public bool Deinited { get; set; } + public ulong ActionID { get; set; } + public ActionStatus Status { get; set; } + public void OnStart() + { + } + + public void OnExecute(float dt) + { + if (Check()) + { + this.Finish(); + } + } + + public void OnFinish() + { + } + + public void Deinit() + { + if (!Deinited) + { + Deinited = true; + obj = null; + path = null; + mSimpleObjectPool.Recycle(this); + } + } + + public void Reset() + { + curTime = 0; + Paused = false; + Status = ActionStatus.NotStart; + } + } + + //public static class ObjClickLongConditionExtension + //{ + // public static ISequence ObjClickLongCondition(this ISequence self, string uipath) + // { + // return self.Append(QFramework.ObjClickLongCondition.Allocate(uipath)); + // } + //} +} \ No newline at end of file diff --git a/Assets/Scripts/Conditions/ObjClickLongCondition.cs.meta b/Assets/Scripts/Conditions/ObjClickLongCondition.cs.meta new file mode 100644 index 00000000..91bfa937 --- /dev/null +++ b/Assets/Scripts/Conditions/ObjClickLongCondition.cs.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: 297e67e3bc7868a4cae6623426c359b9 +timeCreated: 1647673104 \ No newline at end of file diff --git a/Assets/Scripts/Xml/XmlParser.cs b/Assets/Scripts/Xml/XmlParser.cs index ab5080b1..ce2a5804 100644 --- a/Assets/Scripts/Xml/XmlParser.cs +++ b/Assets/Scripts/Xml/XmlParser.cs @@ -1163,19 +1163,37 @@ namespace XMLTool switch (type) { case "ObjClick": - var act = new DictionaryCondition(); + { + var act = new DictionaryCondition(); - XAttribute deviceName = action.Attribute("deviceName"); - if (deviceName != null) - { - act.args.Add("deviceName", deviceName.Value); + XAttribute deviceName = action.Attribute("deviceName"); + if (deviceName != null) + { + act.args.Add("deviceName", deviceName.Value); + } + XAttribute isRight = action.Attribute("isRight"); + if (isRight != null) + { + act.args.Add("isRight", isRight.Value); + } + newAction = act; } - XAttribute isRight = action.Attribute("isRight"); - if (isRight != null) + break; + case "ObjClickLong": { - act.args.Add("isRight", isRight.Value); + var act = new DictionaryCondition(); + XAttribute deviceName = action.Attribute("deviceName"); + if (deviceName != null) + { + act.args.Add("deviceName", deviceName.Value); + } + XAttribute time = action.Attribute("time"); + if (time != null) + { + act.args.Add("time", time.Value); + } + newAction = act; } - newAction = act; break; default: newAction = new Condition(); diff --git a/Doc/Xml配置文档.xml b/Doc/Xml配置文档.xml index ddcb472a..03d6ae63 100644 --- a/Doc/Xml配置文档.xml +++ b/Doc/Xml配置文档.xml @@ -104,8 +104,11 @@ - - + + + + + From 3c1a9f564b96a53971516ce6b059db88e27fc006 Mon Sep 17 00:00:00 2001 From: shenjianxing <”315615051@qq.com“> Date: Thu, 6 Feb 2025 16:26:44 +0800 Subject: [PATCH 05/25] =?UTF-8?q?=E6=96=B0=E5=A2=9E=E9=97=AA=E7=83=81?= =?UTF-8?q?=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Assets/Scripts/Actions/ActionHelper.cs | 5 + Assets/Scripts/Actions/HighLightAction.cs | 5 + .../Scripts/Actions/HighLightFlashAction.cs | 149 ++++++++++++++++++ .../Actions/HighLightFlashAction.cs.meta | 11 ++ Assets/Scripts/Item/HighLightFlashItem.cs | 44 ++++++ .../Scripts/Item/HighLightFlashItem.cs.meta | 11 ++ Assets/Scripts/Xml/XmlParser.cs | 43 ++++- Doc/Xml配置文档.xml | 6 + 8 files changed, 273 insertions(+), 1 deletion(-) create mode 100644 Assets/Scripts/Actions/HighLightFlashAction.cs create mode 100644 Assets/Scripts/Actions/HighLightFlashAction.cs.meta create mode 100644 Assets/Scripts/Item/HighLightFlashItem.cs create mode 100644 Assets/Scripts/Item/HighLightFlashItem.cs.meta diff --git a/Assets/Scripts/Actions/ActionHelper.cs b/Assets/Scripts/Actions/ActionHelper.cs index ef39f9a8..49894bdf 100644 --- a/Assets/Scripts/Actions/ActionHelper.cs +++ b/Assets/Scripts/Actions/ActionHelper.cs @@ -173,6 +173,11 @@ public class ActionHelper var strAction = (XMLTool.DictionaryAction)act; return HighLightAction.Allocate(act.Value, strAction.args); } + case "HighLightFlash": + { + var strAction = (XMLTool.DictionaryAction)act; + return HighLightFlashAction.Allocate(act.Value, strAction.args); + } case "LoadRes": { var dictAction = (XMLTool.DictionaryAction)act; diff --git a/Assets/Scripts/Actions/HighLightAction.cs b/Assets/Scripts/Actions/HighLightAction.cs index c8da574f..24d390d5 100644 --- a/Assets/Scripts/Actions/HighLightAction.cs +++ b/Assets/Scripts/Actions/HighLightAction.cs @@ -93,6 +93,11 @@ namespace QFramework { effect.highlighted = false; } + var flash = obj.GetComponent(); + if (flash) + { + flash.Stop(); + } } } diff --git a/Assets/Scripts/Actions/HighLightFlashAction.cs b/Assets/Scripts/Actions/HighLightFlashAction.cs new file mode 100644 index 00000000..4746f384 --- /dev/null +++ b/Assets/Scripts/Actions/HighLightFlashAction.cs @@ -0,0 +1,149 @@ +using HighlightPlus; +using System; +using System.Collections.Generic; +using UnityEditor; +using UnityEngine; + +namespace QFramework +{ + internal class HighLightFlashAction : IAction + { + + + public System.Action OnFinished { get; set; } + + + private HighLightFlashAction() + { + } + + private static readonly SimpleObjectPool mPool = + new SimpleObjectPool(() => new HighLightFlashAction(), null, 10); + + string path; + Color color = Color.green; + bool isHigh = true; + string deviceName = string.Empty; + string isIndependent; + string count; + string time; + string finishedEvent; + public static HighLightFlashAction Allocate(string path, Dictionary datas, System.Action OnFinished = null) + { + var retNode = mPool.Allocate(); + retNode.ActionID = ActionKit.ID_GENERATOR++; + retNode.Deinited = false; + retNode.Reset(); + retNode.path = path; + + if (datas.ContainsKey("color")) + { + + retNode.color = Utility.ToColor(datas["color"]); + + } + if (datas.ContainsKey("isHigh")) + { + bool.TryParse(datas["isHigh"], out retNode.isHigh); + } + retNode.deviceName = datas.ContainsKey("deviceName") ? datas["deviceName"] : string.Empty; + retNode.isIndependent = datas.ContainsKey("isIndependent") ? datas["isIndependent"] : string.Empty; + retNode.count = datas.ContainsKey("count") ? datas["count"] : string.Empty; + retNode.time = datas.ContainsKey("time") ? datas["time"] : string.Empty; + retNode.finishedEvent = datas.ContainsKey("finishedEvent") ? datas["finishedEvent"] : string.Empty; + retNode.OnFinished = OnFinished; + return retNode; + } + + + public ulong ActionID { get; set; } + public ActionStatus Status { get; set; } + + public void OnStart() + { + GameObject obj = null; + if (string.IsNullOrEmpty(deviceName) == false) + { + obj = DeviceController.Instance.GetDeviceObj(deviceName); + } + else + { + obj = Utility.FindObj(path); + } + + if (obj != null) + { + var flash = obj.GetOrAddComponent(); + if (isHigh) + { + var effect = obj.GetOrAddComponent(); + effect.outlineColor = color; + effect.highlighted = true; + obj.GetOrAddComponent(); + if (string.IsNullOrEmpty(isIndependent) == false) + { + switch (isIndependent) + { + case "true": + effect.outlineIndependent = true; + break; + case "false": + effect.outlineIndependent = false; + break; + } + } + float time = 1; + int count = -1; + float.TryParse(this.time, out time); + int.TryParse(this.count, out count); + flash.Init(time, count, finishedEvent); + } + else + { + var effect = obj.GetComponent(); + if (effect) + { + effect.highlighted = false; + } + if (flash) + { + flash.Stop(); + } + + } + } + } + + public void OnExecute(float dt) + { + this.Finish(); + OnFinished?.Invoke(); + } + + public void OnFinish() + { + } + + public void Reset() + { + Status = ActionStatus.NotStart; + Paused = false; + } + + public bool Paused { get; set; } + + public void Deinit() + { + if (!Deinited) + { + OnFinished = null; + Deinited = true; + mPool.Recycle(this); + } + } + + public bool Deinited { get; set; } + } + + +} \ No newline at end of file diff --git a/Assets/Scripts/Actions/HighLightFlashAction.cs.meta b/Assets/Scripts/Actions/HighLightFlashAction.cs.meta new file mode 100644 index 00000000..7a9e45dc --- /dev/null +++ b/Assets/Scripts/Actions/HighLightFlashAction.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 96e63ca598764cf4abec4ed34f827731 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/Item/HighLightFlashItem.cs b/Assets/Scripts/Item/HighLightFlashItem.cs new file mode 100644 index 00000000..fb9f89d4 --- /dev/null +++ b/Assets/Scripts/Item/HighLightFlashItem.cs @@ -0,0 +1,44 @@ +using DG.Tweening; +using DG.Tweening.Core; +using DG.Tweening.Plugins.Options; +using HighlightPlus; +using QFramework; +using System.Collections; +using System.Collections.Generic; +using UnityEngine; + +public class HighLightFlashItem : MonoBehaviour +{ + + HighlightEffect high; + TweenerCore dotw; + private void Awake() + { + high = GetComponent(); + } + + public void Init(float time, int count = -1, string finishedEvent = null) + { + high.outline = 0; + dotw = DOTween.To(() => high.outline, (v) => high.outline = v, 1, time).SetEase(Ease.OutFlash).SetLoops(count, LoopType.Yoyo).OnComplete(() => + { + if (string.IsNullOrEmpty(finishedEvent)==false) + { + StringEventSystem.Global.Send(finishedEvent); + } + this.Stop(); + }); + } + + public void Stop() + { + if (dotw != null) + { + dotw.Kill(); + dotw = null; + } + high.highlighted = false; + } + + +} diff --git a/Assets/Scripts/Item/HighLightFlashItem.cs.meta b/Assets/Scripts/Item/HighLightFlashItem.cs.meta new file mode 100644 index 00000000..5eebf192 --- /dev/null +++ b/Assets/Scripts/Item/HighLightFlashItem.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: a2f23e7e41ba93044ab80cdc6be2e101 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/Xml/XmlParser.cs b/Assets/Scripts/Xml/XmlParser.cs index ce2a5804..6b56db69 100644 --- a/Assets/Scripts/Xml/XmlParser.cs +++ b/Assets/Scripts/Xml/XmlParser.cs @@ -789,7 +789,48 @@ namespace XMLTool } newAction = act; } - + break; + case "HighLightFlash": + { + var act = new DictionaryAction(); + XAttribute isHigh = action.Attribute("isHigh"); + if (isHigh != null) + { + act.args.Add("isHigh", isHigh.Value); + } + XAttribute color = action.Attribute("color"); + if (color != null) + { + act.args.Add("color", color.Value); + } + XAttribute deviceName = action.Attribute("deviceName"); + if (deviceName != null) + { + act.args.Add("deviceName", deviceName.Value); + } + newAction = act; + XAttribute isIndependent = action.Attribute("isIndependent"); + if (isIndependent != null) + { + act.args.Add("isIndependent", isIndependent.Value); + } + XAttribute time = action.Attribute("time"); + if (time != null) + { + act.args.Add("time", time.Value); + } + XAttribute count = action.Attribute("count"); + if (count != null) + { + act.args.Add("count", count.Value); + } + XAttribute finishedEvent = action.Attribute("finishedEvent"); + if (finishedEvent != null) + { + act.args.Add("finishedEvent", finishedEvent.Value); + } + newAction = act; + } break; case "LoadRes": { diff --git a/Doc/Xml配置文档.xml b/Doc/Xml配置文档.xml index 03d6ae63..dd234ef5 100644 --- a/Doc/Xml配置文档.xml +++ b/Doc/Xml配置文档.xml @@ -91,6 +91,12 @@ + + - - + + - + + + + + + + + + From 21219479b74d2399a77edcc64d065468926673ea Mon Sep 17 00:00:00 2001 From: shenjianxing <”315615051@qq.com“> Date: Sat, 8 Feb 2025 11:00:12 +0800 Subject: [PATCH 17/25] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E9=85=8D=E7=BD=AE?= =?UTF-8?q?=E6=96=87=E6=A1=A3=E6=8F=8F=E8=BF=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Doc/Xml配置文档.xml | 1 + 1 file changed, 1 insertion(+) diff --git a/Doc/Xml配置文档.xml b/Doc/Xml配置文档.xml index c28c9ffd..5bce01e1 100644 --- a/Doc/Xml配置文档.xml +++ b/Doc/Xml配置文档.xml @@ -149,6 +149,7 @@ From abf018ca631bbf7f4651c582dd80d84506055040 Mon Sep 17 00:00:00 2001 From: shenjianxing <”315615051@qq.com“> Date: Sat, 8 Feb 2025 11:12:50 +0800 Subject: [PATCH 18/25] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E7=89=A9=E4=BD=93?= =?UTF-8?q?=E6=A0=87=E7=AD=BE=20=E5=8F=AF=E6=94=AF=E6=8C=81=E6=8D=A2?= =?UTF-8?q?=E8=A1=8C=E8=BE=93=E5=85=A5=E6=9B=B4=E5=A4=9A=E5=86=85=E5=AE=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Assets/Art/UIPrefab/UIDeviceTip.prefab | 16 ++++++++-------- .../UITextures/UIDeviceTip/物品介绍标签.png.meta | 2 +- Assets/Scripts/UI/UIDeviceTip.cs | 4 +++- 3 files changed, 12 insertions(+), 10 deletions(-) diff --git a/Assets/Art/UIPrefab/UIDeviceTip.prefab b/Assets/Art/UIPrefab/UIDeviceTip.prefab index c63b2f19..e77484bc 100644 --- a/Assets/Art/UIPrefab/UIDeviceTip.prefab +++ b/Assets/Art/UIPrefab/UIDeviceTip.prefab @@ -86,8 +86,8 @@ RectTransform: m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_AnchorMin: {x: 0, y: 1} m_AnchorMax: {x: 0, y: 1} - m_AnchoredPosition: {x: 138.84, y: -17} - m_SizeDelta: {x: 247.68, y: 34} + m_AnchoredPosition: {x: 35.93, y: -16.205} + m_SizeDelta: {x: 41.86, y: 22.41} m_Pivot: {x: 0.5, y: 0.5} --- !u!222 &4957094274820776498 CanvasRenderer: @@ -117,7 +117,7 @@ MonoBehaviour: m_OnCullStateChanged: m_PersistentCalls: m_Calls: [] - m_text: 12313123123123213123123123123 + m_text: 12321 m_isRightToLeft: 0 m_fontAsset: {fileID: 11400000, guid: 97936a7b3a86809479ac89371e95b079, type: 2} m_sharedMaterial: {fileID: 168401102475399263, guid: 97936a7b3a86809479ac89371e95b079, type: 2} @@ -240,7 +240,7 @@ RectTransform: m_AnchorMin: {x: 0.5, y: 0.5} m_AnchorMax: {x: 0.5, y: 0.5} m_AnchoredPosition: {x: 0, y: 44.3} - m_SizeDelta: {x: 277.68, y: 34} + m_SizeDelta: {x: 71.86, y: 32.41} m_Pivot: {x: 0.5000002, y: 0.4999999} --- !u!222 &1036003715876543771 CanvasRenderer: @@ -295,14 +295,14 @@ MonoBehaviour: m_Padding: m_Left: 15 m_Right: 15 - m_Top: 0 - m_Bottom: 0 + m_Top: 5 + m_Bottom: 5 m_ChildAlignment: 0 m_Spacing: 0 m_ChildForceExpandWidth: 1 m_ChildForceExpandHeight: 0 m_ChildControlWidth: 1 - m_ChildControlHeight: 0 + m_ChildControlHeight: 1 m_ChildScaleWidth: 1 m_ChildScaleHeight: 0 m_ReverseArrangement: 0 @@ -319,7 +319,7 @@ MonoBehaviour: m_Name: m_EditorClassIdentifier: m_HorizontalFit: 2 - m_VerticalFit: 0 + m_VerticalFit: 2 --- !u!1 &7435450924104219624 GameObject: m_ObjectHideFlags: 0 diff --git a/Assets/Art/UITextures/UIDeviceTip/物品介绍标签.png.meta b/Assets/Art/UITextures/UIDeviceTip/物品介绍标签.png.meta index 9f373e13..a4b57c2f 100644 --- a/Assets/Art/UITextures/UIDeviceTip/物品介绍标签.png.meta +++ b/Assets/Art/UITextures/UIDeviceTip/物品介绍标签.png.meta @@ -49,7 +49,7 @@ TextureImporter: alignment: 0 spritePivot: {x: 0.5, y: 0.5} spritePixelsToUnits: 100 - spriteBorder: {x: 35, y: 0, z: 35, w: 0} + spriteBorder: {x: 35, y: 16, z: 35, w: 16} spriteGenerateFallbackPhysicsShape: 1 alphaUsage: 1 alphaIsTransparency: 1 diff --git a/Assets/Scripts/UI/UIDeviceTip.cs b/Assets/Scripts/UI/UIDeviceTip.cs index 1b94bf72..47b0496d 100644 --- a/Assets/Scripts/UI/UIDeviceTip.cs +++ b/Assets/Scripts/UI/UIDeviceTip.cs @@ -1,6 +1,8 @@ using UnityEngine; using UnityEngine.UI; using QFramework; +using System.Security.Cryptography; +using System.Text.RegularExpressions; namespace QFramework.Example { @@ -31,7 +33,7 @@ namespace QFramework.Example public void Set(string txt) { - Label.text = txt; + Label.text = Regex.Replace(txt, @"\\n", "\n"); } public void Active(bool active) { From a45ed50fd98f9dc03a22266f3e3e715d9747a35b Mon Sep 17 00:00:00 2001 From: shenjianxing <”315615051@qq.com“> Date: Sat, 8 Feb 2025 11:17:37 +0800 Subject: [PATCH 19/25] =?UTF-8?q?=E5=A2=9E=E5=8A=A0device=E7=9A=84Tip?= =?UTF-8?q?=E6=8F=8F=E8=BF=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Doc/Xml配置文档.xml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/Doc/Xml配置文档.xml b/Doc/Xml配置文档.xml index 5bce01e1..97cea34d 100644 --- a/Doc/Xml配置文档.xml +++ b/Doc/Xml配置文档.xml @@ -227,7 +227,8 @@ 组织钳 SM_QvanChangJing/SM_JianZiLei/zuzhiqian - 组织钳 + + 组织钳\n巴拉巴拉巴拉 From bb0bba3ed4e59c8d90019ed55f49ff678a936314 Mon Sep 17 00:00:00 2001 From: shenjianxing <”315615051@qq.com“> Date: Sat, 8 Feb 2025 16:22:00 +0800 Subject: [PATCH 20/25] =?UTF-8?q?=E7=89=A9=E4=BD=933D=E5=B1=95=E7=A4=BA?= =?UTF-8?q?=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Assets/Art/UIPrefab/UI3DObjShow.prefab | 1155 +++++++++++++++++ Assets/Art/UIPrefab/UI3DObjShow.prefab.meta | 7 + Assets/RenderTexture.meta | 8 + Assets/RenderTexture/3DShow.renderTexture | 40 + .../RenderTexture/3DShow.renderTexture.meta | 8 + .../VideoRender.renderTexture | 0 .../VideoRender.renderTexture.meta | 0 Assets/Scenes/Main.unity | 147 +++ .../Scenes/TestUIPanels/TestUI3DObjShow.unity | 903 +++++++++++++ .../TestUIPanels/TestUI3DObjShow.unity.meta | 7 + Assets/Scripts/Actions/ActionHelper.cs | 7 +- Assets/Scripts/Actions/Show3DAction.cs | 75 ++ Assets/Scripts/Actions/Show3DAction.cs.meta | 11 + Assets/Scripts/Item/Show3DCamera.cs | 166 +++ Assets/Scripts/Item/Show3DCamera.cs.meta | 11 + Assets/Scripts/UI/UI3DObjShow.Designer.cs | 55 + .../Scripts/UI/UI3DObjShow.Designer.cs.meta | 11 + Assets/Scripts/UI/UI3DObjShow.cs | 97 ++ Assets/Scripts/UI/UI3DObjShow.cs.meta | 11 + Assets/Scripts/Xml/XmlParser.cs | 62 +- Data/App.xml | 6 + 21 files changed, 2785 insertions(+), 2 deletions(-) create mode 100644 Assets/Art/UIPrefab/UI3DObjShow.prefab create mode 100644 Assets/Art/UIPrefab/UI3DObjShow.prefab.meta create mode 100644 Assets/RenderTexture.meta create mode 100644 Assets/RenderTexture/3DShow.renderTexture create mode 100644 Assets/RenderTexture/3DShow.renderTexture.meta rename Assets/{ => RenderTexture}/VideoRender.renderTexture (100%) rename Assets/{ => RenderTexture}/VideoRender.renderTexture.meta (100%) create mode 100644 Assets/Scenes/TestUIPanels/TestUI3DObjShow.unity create mode 100644 Assets/Scenes/TestUIPanels/TestUI3DObjShow.unity.meta create mode 100644 Assets/Scripts/Actions/Show3DAction.cs create mode 100644 Assets/Scripts/Actions/Show3DAction.cs.meta create mode 100644 Assets/Scripts/Item/Show3DCamera.cs create mode 100644 Assets/Scripts/Item/Show3DCamera.cs.meta create mode 100644 Assets/Scripts/UI/UI3DObjShow.Designer.cs create mode 100644 Assets/Scripts/UI/UI3DObjShow.Designer.cs.meta create mode 100644 Assets/Scripts/UI/UI3DObjShow.cs create mode 100644 Assets/Scripts/UI/UI3DObjShow.cs.meta diff --git a/Assets/Art/UIPrefab/UI3DObjShow.prefab b/Assets/Art/UIPrefab/UI3DObjShow.prefab new file mode 100644 index 00000000..56bb1365 --- /dev/null +++ b/Assets/Art/UIPrefab/UI3DObjShow.prefab @@ -0,0 +1,1155 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1 &114505487960830889 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 2748715615661325736} + - component: {fileID: 3455788742850918246} + - component: {fileID: 1826394720132835709} + - component: {fileID: 4987523079939159319} + - component: {fileID: 3942906496295632508} + m_Layer: 0 + m_Name: ItemPrefab + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &2748715615661325736 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 114505487960830889} + 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: 2993659619756489948} + - {fileID: 1175461932259494640} + - {fileID: 1885211785160074565} + m_Father: {fileID: 2836954293480787745} + 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: 95, y: 95} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &3455788742850918246 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 114505487960830889} + m_CullTransparentMesh: 1 +--- !u!114 &1826394720132835709 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 114505487960830889} + 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} + 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 &4987523079939159319 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 114505487960830889} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 0d51f3a7c41ab0346b49ae50d456bece, type: 3} + m_Name: + m_EditorClassIdentifier: + MarkType: 0 + CustomComponentName: ItemPrefab + CustomComment: + mComponentName: UnityEngine.UI.Image +--- !u!114 &3942906496295632508 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 114505487960830889} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 9085046f02f69544eb97fd06b6048fe2, 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: 1826394720132835709} + toggleTransition: 1 + graphic: {fileID: 2142741602967855509} + m_Group: {fileID: 9021371395075346806} + onValueChanged: + m_PersistentCalls: + m_Calls: [] + m_IsOn: 0 +--- !u!1 &829972861625973987 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1885211785160074565} + - component: {fileID: 8272526244216789332} + - component: {fileID: 4840548641561535226} + m_Layer: 0 + m_Name: Name + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1885211785160074565 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 829972861625973987} + 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: 2748715615661325736} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 0} + m_AnchoredPosition: {x: 0, y: -15.4} + m_SizeDelta: {x: 0, y: 19.2425} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &8272526244216789332 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 829972861625973987} + m_CullTransparentMesh: 1 +--- !u!114 &4840548641561535226 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 829972861625973987} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, 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_text: + m_isRightToLeft: 0 + m_fontAsset: {fileID: 11400000, guid: e7da174c677019b49aa681250aa4ded8, type: 2} + m_sharedMaterial: {fileID: -7878122246201655599, guid: e7da174c677019b49aa681250aa4ded8, type: 2} + m_fontSharedMaterials: [] + m_fontMaterial: {fileID: 0} + m_fontMaterials: [] + m_fontColor32: + serializedVersion: 2 + rgba: 4294638327 + m_fontColor: {r: 0.96862745, g: 0.98039216, b: 0.98039216, a: 1} + m_enableVertexGradient: 0 + m_colorMode: 3 + m_fontColorGradient: + topLeft: {r: 1, g: 1, b: 1, a: 1} + topRight: {r: 1, g: 1, b: 1, a: 1} + bottomLeft: {r: 1, g: 1, b: 1, a: 1} + bottomRight: {r: 1, g: 1, b: 1, a: 1} + m_fontColorGradientPreset: {fileID: 0} + m_spriteAsset: {fileID: 0} + m_tintAllSprites: 0 + m_StyleSheet: {fileID: 0} + m_TextStyleHashCode: -1183493901 + m_overrideHtmlColors: 0 + m_faceColor: + serializedVersion: 2 + rgba: 4294967295 + m_fontSize: 14 + m_fontSizeBase: 14 + m_fontWeight: 400 + m_enableAutoSizing: 0 + m_fontSizeMin: 18 + m_fontSizeMax: 72 + m_fontStyle: 0 + m_HorizontalAlignment: 2 + m_VerticalAlignment: 2048 + m_textAlignment: 65535 + m_characterSpacing: 0 + m_wordSpacing: 0 + m_lineSpacing: -33.94 + m_lineSpacingMax: 0 + m_paragraphSpacing: 0 + m_charWidthMaxAdj: 0 + m_enableWordWrapping: 1 + m_wordWrappingRatios: 0.4 + m_overflowMode: 0 + m_linkedTextComponent: {fileID: 0} + parentLinkedComponent: {fileID: 0} + m_enableKerning: 1 + m_enableExtraPadding: 0 + checkPaddingRequired: 0 + m_isRichText: 1 + m_parseCtrlCharacters: 1 + m_isOrthographic: 1 + m_isCullingEnabled: 0 + m_horizontalMapping: 0 + m_verticalMapping: 0 + m_uvLineOffset: 0 + m_geometrySortingOrder: 0 + m_IsTextObjectScaleStatic: 0 + m_VertexBufferAutoSizeReduction: 0 + m_useMaxVisibleDescender: 1 + m_pageToDisplay: 1 + m_margin: {x: 0, y: 0, z: 0, w: 0} + m_isUsingLegacyAnimationComponent: 0 + m_isVolumetricText: 0 + m_hasFontAssetChanged: 0 + m_baseMaterial: {fileID: 0} + m_maskOffset: {x: 0, y: 0, z: 0, w: 0} +--- !u!1 &1245252203345771931 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1614371002034144690} + - component: {fileID: 3370089183326341287} + - component: {fileID: 7397484820841873523} + - component: {fileID: 6588407399979732995} + m_Layer: 0 + m_Name: DeviceRawImage + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1614371002034144690 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1245252203345771931} + 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: 826586917723392204} + 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: 1280, y: 720} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &3370089183326341287 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1245252203345771931} + m_CullTransparentMesh: 1 +--- !u!114 &7397484820841873523 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1245252203345771931} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 1344c3c82d62a2a41a3576d8abb8e3ea, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Texture: {fileID: 8400000, guid: 187fba8368491cb428c8cbd324fa9bb4, type: 2} + m_UVRect: + serializedVersion: 2 + x: 0 + y: 0 + width: 1 + height: 1 +--- !u!114 &6588407399979732995 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1245252203345771931} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 0d51f3a7c41ab0346b49ae50d456bece, type: 3} + m_Name: + m_EditorClassIdentifier: + MarkType: 0 + CustomComponentName: + CustomComment: + mComponentName: UnityEngine.UI.RawImage +--- !u!1 &1587529206278800681 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1915876869541640623} + - component: {fileID: 7277770534815806214} + - component: {fileID: 5964642934946449171} + m_Layer: 0 + m_Name: bg + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1915876869541640623 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1587529206278800681} + 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: 3842597684618613210} + m_Father: {fileID: 8188781184013275445} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 1, y: 0.5} + m_AnchorMax: {x: 1, y: 0.5} + m_AnchoredPosition: {x: -111.5, y: 0} + m_SizeDelta: {x: 223, y: 653} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &7277770534815806214 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1587529206278800681} + m_CullTransparentMesh: 1 +--- !u!114 &5964642934946449171 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1587529206278800681} + 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: 1} + 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: 21300000, guid: b1a4b3d0c79a92441b20bcde609ea123, type: 3} + 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!1 &3408871029033640143 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 3842597684618613210} + - component: {fileID: 7821431570650707476} + - component: {fileID: 5468229884088645180} + - component: {fileID: 4147329925826600491} + - component: {fileID: 4647039171796394276} + m_Layer: 0 + m_Name: Scroll + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &3842597684618613210 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3408871029033640143} + 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: 7990131924651695263} + m_Father: {fileID: 1915876869541640623} + 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 &7821431570650707476 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3408871029033640143} + m_CullTransparentMesh: 1 +--- !u!114 &5468229884088645180 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3408871029033640143} + 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} + 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: 10907, guid: 0000000000000000f000000000000000, type: 0} + m_Type: 1 + 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 &4147329925826600491 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3408871029033640143} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 1aa08ab6e0800fa44ae55d278d1423e3, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Content: {fileID: 7417210800730282872} + m_Horizontal: 0 + m_Vertical: 1 + m_MovementType: 1 + m_Elasticity: 0.1 + m_Inertia: 1 + m_DecelerationRate: 0.135 + m_ScrollSensitivity: 1 + m_Viewport: {fileID: 7990131924651695263} + m_HorizontalScrollbar: {fileID: 0} + m_VerticalScrollbar: {fileID: 0} + m_HorizontalScrollbarVisibility: 2 + m_VerticalScrollbarVisibility: 2 + m_HorizontalScrollbarSpacing: -3 + m_VerticalScrollbarSpacing: -3 + m_OnValueChanged: + m_PersistentCalls: + m_Calls: [] +--- !u!114 &4647039171796394276 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3408871029033640143} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 0d51f3a7c41ab0346b49ae50d456bece, type: 3} + m_Name: + m_EditorClassIdentifier: + MarkType: 0 + CustomComponentName: + CustomComment: + mComponentName: UnityEngine.UI.ScrollRect +--- !u!1 &4561816282390826745 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 7990131924651695263} + - component: {fileID: 3190141395984966533} + - component: {fileID: 7592982024277439227} + - component: {fileID: 8645385913932230175} + m_Layer: 0 + m_Name: Viewport + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &7990131924651695263 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4561816282390826745} + 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: 7417210800730282872} + m_Father: {fileID: 3842597684618613210} + 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: -17} + m_Pivot: {x: 0, y: 1} +--- !u!222 &3190141395984966533 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4561816282390826745} + m_CullTransparentMesh: 1 +--- !u!114 &7592982024277439227 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4561816282390826745} + 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: 1} + 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: 10917, guid: 0000000000000000f000000000000000, type: 0} + m_Type: 1 + 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 &8645385913932230175 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4561816282390826745} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 31a19414c41e5ae4aae2af33fee712f6, type: 3} + m_Name: + m_EditorClassIdentifier: + m_ShowMaskGraphic: 0 +--- !u!1 &4918933241062336362 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 2993659619756489948} + - component: {fileID: 9142951468929579946} + - component: {fileID: 2142741602967855509} + m_Layer: 0 + m_Name: CurSelect + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &2993659619756489948 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4918933241062336362} + 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: 2748715615661325736} + 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: 95, y: 95} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &9142951468929579946 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4918933241062336362} + m_CullTransparentMesh: 1 +--- !u!114 &2142741602967855509 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4918933241062336362} + 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: 1} + m_RaycastTarget: 0 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 21300000, guid: 08b0c37e0d92e4e42b0fe3be81ad0074, type: 3} + 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!1 &6704188004419676826 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 826586917723392204} + - component: {fileID: 1954549762747143972} + - component: {fileID: 2228057524689582266} + m_Layer: 0 + m_Name: Show + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &826586917723392204 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6704188004419676826} + 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: 1614371002034144690} + m_Father: {fileID: 8188781184013275445} + 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: 1280, y: 720} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &1954549762747143972 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6704188004419676826} + m_CullTransparentMesh: 1 +--- !u!114 &2228057524689582266 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6704188004419676826} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 1344c3c82d62a2a41a3576d8abb8e3ea, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Texture: {fileID: 2800000, guid: c04b0b6ac8240bd47a6925f5df2e2109, type: 3} + m_UVRect: + serializedVersion: 2 + x: 0 + y: 0 + width: 1 + height: 1 +--- !u!1 &6831573971870136393 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 2836954293480787745} + m_Layer: 0 + m_Name: Prefabs + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 0 +--- !u!224 &2836954293480787745 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6831573971870136393} + 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: 2748715615661325736} + m_Father: {fileID: 8188781184013275445} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 960, y: 540} + m_SizeDelta: {x: 1920, y: 1080} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!1 &7420355170386194942 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 7536532178961312589} + - component: {fileID: 1200259361618426797} + - component: {fileID: 7420892993111462157} + m_Layer: 0 + m_Name: Icon + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &7536532178961312589 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7420355170386194942} + 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: 1175461932259494640} + 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: 76, y: 76} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &1200259361618426797 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7420355170386194942} + m_CullTransparentMesh: 1 +--- !u!114 &7420892993111462157 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7420355170386194942} + 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: 1} + m_RaycastTarget: 0 + 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!1 &7722633404760475414 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 8188781184013275445} + - component: {fileID: -6608259679228875983} + m_Layer: 0 + m_Name: UI3DObjShow + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &8188781184013275445 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7722633404760475414} + 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: 1915876869541640623} + - {fileID: 826586917723392204} + - {fileID: 2836954293480787745} + m_Father: {fileID: 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!114 &-6608259679228875983 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7722633404760475414} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 2922fa71b7d60e942b5b06b785dc37c0, type: 3} + m_Name: + m_EditorClassIdentifier: + Scroll: {fileID: 4147329925826600491} + Content: {fileID: 7417210800730282872} + DeviceRawImage: {fileID: 7397484820841873523} + ItemPrefab: {fileID: 1826394720132835709} +--- !u!1 &7986150287571393044 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 7417210800730282872} + - component: {fileID: 1381663258501893154} + - component: {fileID: 6163647579972378307} + - component: {fileID: 4184670730983142247} + - component: {fileID: 9021371395075346806} + m_Layer: 0 + m_Name: Content + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &7417210800730282872 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7986150287571393044} + 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: 7990131924651695263} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 1} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0.00082623755} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0, y: 1} +--- !u!114 &1381663258501893154 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7986150287571393044} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 8a8695521f0d02e499659fee002a26c2, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Padding: + m_Left: 17 + m_Right: 5 + m_Top: 27 + m_Bottom: 60 + m_ChildAlignment: 0 + m_StartCorner: 0 + m_StartAxis: 0 + m_CellSize: {x: 95, y: 95} + m_Spacing: {x: 3, y: 26.52} + m_Constraint: 0 + m_ConstraintCount: 2 +--- !u!114 &6163647579972378307 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7986150287571393044} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 0d51f3a7c41ab0346b49ae50d456bece, type: 3} + m_Name: + m_EditorClassIdentifier: + MarkType: 0 + CustomComponentName: Content + CustomComment: + mComponentName: RectTransform +--- !u!114 &4184670730983142247 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7986150287571393044} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 3245ec927659c4140ac4f8d17403cc18, type: 3} + m_Name: + m_EditorClassIdentifier: + m_HorizontalFit: 0 + m_VerticalFit: 2 +--- !u!114 &9021371395075346806 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7986150287571393044} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 2fafe2cfe61f6974895a912c3755e8f1, type: 3} + m_Name: + m_EditorClassIdentifier: + m_AllowSwitchOff: 1 +--- !u!1 &8509567045475784934 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1175461932259494640} + - component: {fileID: 8182201665260437679} + - component: {fileID: 3032770430978378459} + m_Layer: 0 + m_Name: IconBg + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1175461932259494640 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8509567045475784934} + 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: 7536532178961312589} + m_Father: {fileID: 2748715615661325736} + 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: 76, y: 76} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &8182201665260437679 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8509567045475784934} + m_CullTransparentMesh: 1 +--- !u!114 &3032770430978378459 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8509567045475784934} + 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.07058824, g: 0.15686275, b: 0.19607843, 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_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 diff --git a/Assets/Art/UIPrefab/UI3DObjShow.prefab.meta b/Assets/Art/UIPrefab/UI3DObjShow.prefab.meta new file mode 100644 index 00000000..202611ea --- /dev/null +++ b/Assets/Art/UIPrefab/UI3DObjShow.prefab.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 0e73fb7e22f2e74458d624bed84eac4a +PrefabImporter: + externalObjects: {} + userData: + assetBundleName: ui3dobjshow_prefab + assetBundleVariant: diff --git a/Assets/RenderTexture.meta b/Assets/RenderTexture.meta new file mode 100644 index 00000000..0ba1d9a4 --- /dev/null +++ b/Assets/RenderTexture.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 9d6f9f381c2b42547b9713d47cc8fa87 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/RenderTexture/3DShow.renderTexture b/Assets/RenderTexture/3DShow.renderTexture new file mode 100644 index 00000000..d7b76d70 --- /dev/null +++ b/Assets/RenderTexture/3DShow.renderTexture @@ -0,0 +1,40 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!84 &8400000 +RenderTexture: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: 3DShow + m_ImageContentsHash: + serializedVersion: 2 + Hash: 00000000000000000000000000000000 + m_ForcedFallbackFormat: 4 + m_DownscaleFallback: 0 + m_IsAlphaChannelOptional: 0 + serializedVersion: 5 + m_Width: 1280 + m_Height: 720 + m_AntiAliasing: 1 + m_MipCount: -1 + m_DepthStencilFormat: 94 + m_ColorFormat: 8 + m_MipMap: 0 + m_GenerateMips: 1 + m_SRGB: 0 + m_UseDynamicScale: 0 + m_BindMS: 0 + m_EnableCompatibleFormat: 1 + m_EnableRandomWrite: 0 + m_TextureSettings: + serializedVersion: 2 + m_FilterMode: 1 + m_Aniso: 0 + m_MipBias: 0 + m_WrapU: 1 + m_WrapV: 1 + m_WrapW: 1 + m_Dimension: 2 + m_VolumeDepth: 1 + m_ShadowSamplingMode: 2 diff --git a/Assets/RenderTexture/3DShow.renderTexture.meta b/Assets/RenderTexture/3DShow.renderTexture.meta new file mode 100644 index 00000000..8d929958 --- /dev/null +++ b/Assets/RenderTexture/3DShow.renderTexture.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 187fba8368491cb428c8cbd324fa9bb4 +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 8400000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/VideoRender.renderTexture b/Assets/RenderTexture/VideoRender.renderTexture similarity index 100% rename from Assets/VideoRender.renderTexture rename to Assets/RenderTexture/VideoRender.renderTexture diff --git a/Assets/VideoRender.renderTexture.meta b/Assets/RenderTexture/VideoRender.renderTexture.meta similarity index 100% rename from Assets/VideoRender.renderTexture.meta rename to Assets/RenderTexture/VideoRender.renderTexture.meta diff --git a/Assets/Scenes/Main.unity b/Assets/Scenes/Main.unity index 051a4114..92e7db60 100644 --- a/Assets/Scenes/Main.unity +++ b/Assets/Scenes/Main.unity @@ -735,6 +735,152 @@ Transform: m_Children: [] m_Father: {fileID: 0} m_LocalEulerAnglesHint: {x: 50, y: -30, z: 0} +--- !u!1 &2114935602 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 2114935606} + - component: {fileID: 2114935605} + - component: {fileID: 2114935603} + - component: {fileID: 2114935607} + m_Layer: 0 + m_Name: 3DShowCamera + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &2114935603 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2114935602} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: a79441f348de89743a2939f4d699eac1, type: 3} + m_Name: + m_EditorClassIdentifier: + m_RenderShadows: 1 + m_RequiresDepthTextureOption: 2 + m_RequiresOpaqueTextureOption: 2 + m_CameraType: 0 + m_Cameras: [] + m_RendererIndex: -1 + m_VolumeLayerMask: + serializedVersion: 2 + m_Bits: 1 + m_VolumeTrigger: {fileID: 0} + m_VolumeFrameworkUpdateModeOption: 2 + m_RenderPostProcessing: 0 + m_Antialiasing: 0 + m_AntialiasingQuality: 2 + m_StopNaN: 0 + m_Dithering: 0 + m_ClearDepth: 1 + m_AllowXRRendering: 1 + m_AllowHDROutput: 1 + m_UseScreenCoordOverride: 0 + m_ScreenSizeOverride: {x: 0, y: 0, z: 0, w: 0} + m_ScreenCoordScaleBias: {x: 0, y: 0, z: 0, w: 0} + m_RequiresDepthTexture: 0 + m_RequiresColorTexture: 0 + m_Version: 2 + m_TaaSettings: + quality: 3 + frameInfluence: 0.1 + jitterScale: 1 + mipBias: 0 + varianceClampScale: 0.9 + contrastAdaptiveSharpening: 0 +--- !u!20 &2114935605 +Camera: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2114935602} + m_Enabled: 1 + serializedVersion: 2 + m_ClearFlags: 2 + m_BackGroundColor: {r: 0.19215687, g: 0.3019608, b: 0.4745098, a: 0} + m_projectionMatrixMode: 1 + m_GateFitMode: 2 + m_FOVAxisMode: 0 + m_Iso: 200 + m_ShutterSpeed: 0.005 + m_Aperture: 16 + m_FocusDistance: 10 + m_FocalLength: 50 + m_BladeCount: 5 + m_Curvature: {x: 2, y: 11} + m_BarrelClipping: 0.25 + m_Anamorphism: 0 + m_SensorSize: {x: 36, y: 24} + m_LensShift: {x: 0, y: 0} + m_NormalizedViewPortRect: + serializedVersion: 2 + x: 0 + y: 0 + width: 1 + height: 1 + near clip plane: 0.01 + far clip plane: 1000 + field of view: 60 + orthographic: 0 + orthographic size: 5 + m_Depth: 0 + m_CullingMask: + serializedVersion: 2 + m_Bits: 1 + m_RenderingPath: -1 + m_TargetTexture: {fileID: 8400000, guid: 187fba8368491cb428c8cbd324fa9bb4, type: 2} + 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 &2114935606 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2114935602} + serializedVersion: 2 + 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: 0} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &2114935607 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2114935602} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 35f672d48a4ed2349bb724d185d6a153, type: 3} + m_Name: + m_EditorClassIdentifier: + target: {fileID: 0} + rotateSpeed: 10 + moveSpeed: 0.1 + distance: 0.5 + pitchMinMax: {x: -20, y: 80} --- !u!222 &102363872365703344 CanvasRenderer: m_ObjectHideFlags: 0 @@ -1286,3 +1432,4 @@ SceneRoots: - {fileID: 1089184134} - {fileID: 1269024859} - {fileID: 35403208} + - {fileID: 2114935606} diff --git a/Assets/Scenes/TestUIPanels/TestUI3DObjShow.unity b/Assets/Scenes/TestUIPanels/TestUI3DObjShow.unity new file mode 100644 index 00000000..db5e000f --- /dev/null +++ b/Assets/Scenes/TestUIPanels/TestUI3DObjShow.unity @@ -0,0 +1,903 @@ +%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.37311953, g: 0.38074014, b: 0.3587274, 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: 3 + 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 + buildHeightMesh: 0 + maxJobWorkers: 0 + preserveTilesOutsideBounds: 0 + debug: + m_Flags: 0 + m_NavMeshData: {fileID: 0} +--- !u!1 &216873862 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 216873863} + m_Layer: 5 + m_Name: PopUI + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &216873863 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 216873862} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1.0000799, y: 1.0000799, z: 1.0000799} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 1419864230} + 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!1 &435973666 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 435973667} + - component: {fileID: 435973670} + - component: {fileID: 435973669} + - component: {fileID: 435973668} + m_Layer: 5 + m_Name: RightBottom + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &435973667 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 435973666} + 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: 1419864230} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 1, y: 0} + m_AnchorMax: {x: 1, y: 0} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 1828.92, y: 0} + m_Pivot: {x: 1, y: -0.000000461936} +--- !u!222 &435973668 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 435973666} + m_CullTransparentMesh: 1 +--- !u!114 &435973669 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 435973666} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 3245ec927659c4140ac4f8d17403cc18, type: 3} + m_Name: + m_EditorClassIdentifier: + m_HorizontalFit: 0 + m_VerticalFit: 2 +--- !u!114 &435973670 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 435973666} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 59f8146938fff824cb5fd77236b75775, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Padding: + m_Left: 0 + m_Right: 0 + m_Top: 10 + m_Bottom: 10 + m_ChildAlignment: 8 + m_Spacing: 10 + m_ChildForceExpandWidth: 0 + m_ChildForceExpandHeight: 0 + m_ChildControlWidth: 1 + m_ChildControlHeight: 1 + m_ChildScaleWidth: 0 + m_ChildScaleHeight: 1 + m_ReverseArrangement: 1 +--- !u!1 &473433458 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 473433459} + - component: {fileID: 473433460} + m_Layer: 5 + m_Name: Design + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &473433459 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 473433458} + 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: 1213316429212896501} + m_Father: {fileID: 1419864230} + 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!114 &473433460 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 473433458} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 6eba024ea32574239b57b098f1dc6282, type: 3} + m_Name: + m_EditorClassIdentifier: +--- !u!1 &706701115 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 706701116} + - component: {fileID: 706701117} + m_Layer: 5 + m_Name: Manager + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &706701116 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 706701115} + 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: 1419864230} + 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!114 &706701117 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 706701115} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5dc84f25d84334e168bf64050b91e1fb, type: 3} + m_Name: + m_EditorClassIdentifier: +--- !u!1 &893170084 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 893170085} + m_Layer: 5 + m_Name: Bg + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &893170085 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 893170084} + 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: 1419864230} + 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!1 &1099231517 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1099231518} + m_Layer: 5 + m_Name: CanvasPanel + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1099231518 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1099231517} + 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: 1419864230} + 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!1 &1280916684 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1280916685} + - component: {fileID: 1280916687} + - component: {fileID: 1280916686} + m_Layer: 5 + m_Name: EventSystem + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1280916685 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1280916684} + serializedVersion: 2 + 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: 1419864230} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &1280916686 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1280916684} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 4f231c4fb786f3946a6b90b886c48677, type: 3} + m_Name: + m_EditorClassIdentifier: + m_SendPointerHoverToParent: 1 + m_HorizontalAxis: Horizontal + m_VerticalAxis: Vertical + m_SubmitButton: Submit + m_CancelButton: Cancel + m_InputActionsPerSecond: 10 + m_RepeatDelay: 0.5 + m_ForceModuleActive: 1 +--- !u!114 &1280916687 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1280916684} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 76c392e42b5098c458856cdf6ecaaaa1, type: 3} + m_Name: + m_EditorClassIdentifier: + m_FirstSelected: {fileID: 0} + m_sendNavigationEvents: 1 + m_DragThreshold: 5 +--- !u!1 &1330332767 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1330332770} + - component: {fileID: 1330332768} + - component: {fileID: 1330332769} + m_Layer: 5 + m_Name: UICamera + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 0 +--- !u!20 &1330332768 +Camera: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1330332767} + m_Enabled: 1 + serializedVersion: 2 + m_ClearFlags: 3 + m_BackGroundColor: {r: 0.19215687, g: 0.3019608, b: 0.4745098, a: 0.019607844} + m_projectionMatrixMode: 1 + m_GateFitMode: 2 + m_FOVAxisMode: 0 + m_Iso: 200 + m_ShutterSpeed: 0.005 + m_Aperture: 16 + m_FocusDistance: 10 + m_FocalLength: 50 + m_BladeCount: 5 + m_Curvature: {x: 2, y: 11} + m_BarrelClipping: 0.25 + m_Anamorphism: 0 + m_SensorSize: {x: 36, y: 24} + m_LensShift: {x: 0, y: 0} + 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: 1 + orthographic size: 5 + m_Depth: 99 + m_CullingMask: + serializedVersion: 2 + m_Bits: 32 + m_RenderingPath: -1 + m_TargetTexture: {fileID: 0} + m_TargetDisplay: 0 + m_TargetEye: 3 + m_HDR: 0 + m_AllowMSAA: 1 + m_AllowDynamicResolution: 0 + m_ForceIntoRT: 0 + m_OcclusionCulling: 1 + m_StereoConvergence: 10 + m_StereoSeparation: 0.022 +--- !u!124 &1330332769 +Behaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1330332767} + m_Enabled: 1 +--- !u!4 &1330332770 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1330332767} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: -100} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 1419864230} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1406582490 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1406582491} + m_Layer: 5 + m_Name: Common + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1406582491 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1406582490} + 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: 1419864230} + 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!1 &1419864225 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1419864230} + - component: {fileID: 1419864229} + - component: {fileID: 1419864228} + - component: {fileID: 1419864227} + - component: {fileID: 1419864226} + m_Layer: 5 + m_Name: UIRoot + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &1419864226 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1419864225} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: d2db7fffd623c478eba3d2cb84034d2f, type: 3} + m_Name: + m_EditorClassIdentifier: + UICamera: {fileID: 1330332768} + Canvas: {fileID: 1419864229} + CanvasScaler: {fileID: 1419864228} + GraphicRaycaster: {fileID: 1419864227} + Bg: {fileID: 893170085} + Common: {fileID: 1406582491} + PopUI: {fileID: 216873863} + RightBottom: {fileID: 435973667} + CanvasPanel: {fileID: 1099231518} +--- !u!114 &1419864227 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1419864225} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: dc42784cf147c0c48a680349fa168899, type: 3} + m_Name: + m_EditorClassIdentifier: + m_IgnoreReversedGraphics: 0 + m_BlockingObjects: 0 + m_BlockingMask: + serializedVersion: 2 + m_Bits: 4294967295 +--- !u!114 &1419864228 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1419864225} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 0cd44c1031e13a943bb63640046fad76, type: 3} + m_Name: + m_EditorClassIdentifier: + m_UiScaleMode: 1 + m_ReferencePixelsPerUnit: 100 + m_ScaleFactor: 1 + m_ReferenceResolution: {x: 1920, y: 1080} + m_ScreenMatchMode: 0 + m_MatchWidthOrHeight: 0.5 + m_PhysicalUnit: 3 + m_FallbackScreenDPI: 96 + m_DefaultSpriteDPI: 96 + m_DynamicPixelsPerUnit: 1 + m_PresetInfoIsWorld: 0 +--- !u!223 &1419864229 +Canvas: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1419864225} + m_Enabled: 1 + serializedVersion: 3 + m_RenderMode: 0 + m_Camera: {fileID: 1330332768} + m_PlaneDistance: 100 + m_PixelPerfect: 0 + m_ReceivesEvents: 1 + m_OverrideSorting: 0 + m_OverridePixelPerfect: 0 + m_SortingBucketNormalizedSize: 0 + m_VertexColorAlwaysGammaSpace: 0 + m_AdditionalShaderChannelsFlag: 1 + m_UpdateRectTransformForStandalone: 0 + m_SortingLayerID: 0 + m_SortingOrder: 100 + m_TargetDisplay: 0 +--- !u!224 &1419864230 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1419864225} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 0, y: 0, z: 0} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 893170085} + - {fileID: 1406582491} + - {fileID: 216873863} + - {fileID: 435973667} + - {fileID: 1099231518} + - {fileID: 473433459} + - {fileID: 1280916685} + - {fileID: 1330332770} + - {fileID: 706701116} + m_Father: {fileID: 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: 0} + m_Pivot: {x: 0, y: 0} +--- !u!1 &2132194801 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 2132194803} + - component: {fileID: 2132194802} + m_Layer: 0 + m_Name: TestUI3DObjShow + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &2132194802 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2132194801} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: b6b7a3e7dc894eaca1053ef166cdad33, type: 3} + m_Name: + m_EditorClassIdentifier: + PanelName: UI3DObjShow + Level: 0 + mOtherPanels: [] +--- !u!4 &2132194803 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2132194801} + serializedVersion: 2 + 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: 0} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1001 &1213316429212896500 +PrefabInstance: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + serializedVersion: 3 + m_TransformParent: {fileID: 473433459} + m_Modifications: + - target: {fileID: -6608259679228875983, guid: 0e73fb7e22f2e74458d624bed84eac4a, type: 3} + propertyPath: ItemPrefab + value: + objectReference: {fileID: 0} + - target: {fileID: 7417210800730282872, guid: 0e73fb7e22f2e74458d624bed84eac4a, type: 3} + propertyPath: m_SizeDelta.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 7722633404760475414, guid: 0e73fb7e22f2e74458d624bed84eac4a, type: 3} + propertyPath: m_Name + value: UI3DObjShow + objectReference: {fileID: 0} + - target: {fileID: 8188781184013275445, guid: 0e73fb7e22f2e74458d624bed84eac4a, type: 3} + propertyPath: m_Pivot.x + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 8188781184013275445, guid: 0e73fb7e22f2e74458d624bed84eac4a, type: 3} + propertyPath: m_Pivot.y + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 8188781184013275445, guid: 0e73fb7e22f2e74458d624bed84eac4a, type: 3} + propertyPath: m_AnchorMax.x + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 8188781184013275445, guid: 0e73fb7e22f2e74458d624bed84eac4a, type: 3} + propertyPath: m_AnchorMax.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 8188781184013275445, guid: 0e73fb7e22f2e74458d624bed84eac4a, type: 3} + propertyPath: m_AnchorMin.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 8188781184013275445, guid: 0e73fb7e22f2e74458d624bed84eac4a, type: 3} + propertyPath: m_AnchorMin.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 8188781184013275445, guid: 0e73fb7e22f2e74458d624bed84eac4a, type: 3} + propertyPath: m_SizeDelta.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 8188781184013275445, guid: 0e73fb7e22f2e74458d624bed84eac4a, type: 3} + propertyPath: m_SizeDelta.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 8188781184013275445, guid: 0e73fb7e22f2e74458d624bed84eac4a, type: 3} + propertyPath: m_LocalPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 8188781184013275445, guid: 0e73fb7e22f2e74458d624bed84eac4a, type: 3} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 8188781184013275445, guid: 0e73fb7e22f2e74458d624bed84eac4a, type: 3} + propertyPath: m_LocalPosition.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 8188781184013275445, guid: 0e73fb7e22f2e74458d624bed84eac4a, type: 3} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 8188781184013275445, guid: 0e73fb7e22f2e74458d624bed84eac4a, type: 3} + propertyPath: m_LocalRotation.x + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 8188781184013275445, guid: 0e73fb7e22f2e74458d624bed84eac4a, type: 3} + propertyPath: m_LocalRotation.y + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 8188781184013275445, guid: 0e73fb7e22f2e74458d624bed84eac4a, type: 3} + propertyPath: m_LocalRotation.z + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 8188781184013275445, guid: 0e73fb7e22f2e74458d624bed84eac4a, type: 3} + propertyPath: m_AnchoredPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 8188781184013275445, guid: 0e73fb7e22f2e74458d624bed84eac4a, type: 3} + propertyPath: m_AnchoredPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 8188781184013275445, guid: 0e73fb7e22f2e74458d624bed84eac4a, type: 3} + propertyPath: m_LocalEulerAnglesHint.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 8188781184013275445, guid: 0e73fb7e22f2e74458d624bed84eac4a, type: 3} + propertyPath: m_LocalEulerAnglesHint.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 8188781184013275445, guid: 0e73fb7e22f2e74458d624bed84eac4a, type: 3} + propertyPath: m_LocalEulerAnglesHint.z + value: 0 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_RemovedGameObjects: [] + m_AddedGameObjects: [] + m_AddedComponents: [] + m_SourcePrefab: {fileID: 100100000, guid: 0e73fb7e22f2e74458d624bed84eac4a, type: 3} +--- !u!224 &1213316429212896501 stripped +RectTransform: + m_CorrespondingSourceObject: {fileID: 8188781184013275445, guid: 0e73fb7e22f2e74458d624bed84eac4a, type: 3} + m_PrefabInstance: {fileID: 1213316429212896500} + m_PrefabAsset: {fileID: 0} +--- !u!1660057539 &9223372036854775807 +SceneRoots: + m_ObjectHideFlags: 0 + m_Roots: + - {fileID: 1419864230} + - {fileID: 2132194803} diff --git a/Assets/Scenes/TestUIPanels/TestUI3DObjShow.unity.meta b/Assets/Scenes/TestUIPanels/TestUI3DObjShow.unity.meta new file mode 100644 index 00000000..b78f558b --- /dev/null +++ b/Assets/Scenes/TestUIPanels/TestUI3DObjShow.unity.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 7e9212c6760e8dc4cbe6a1c4cf0bcafb +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/Actions/ActionHelper.cs b/Assets/Scripts/Actions/ActionHelper.cs index c760c57b..422aa893 100644 --- a/Assets/Scripts/Actions/ActionHelper.cs +++ b/Assets/Scripts/Actions/ActionHelper.cs @@ -22,6 +22,7 @@ public class ActionHelper { "UIInstruction", typeof(QFramework.Example.UIInstruction) }, { "UIScore", typeof(QFramework.Example.UIScore) }, { "UIImageTip", typeof(QFramework.Example.UIImageTip) }, + { "UI3DObjShow", typeof(QFramework.Example.UI3DObjShow) }, }; @@ -252,7 +253,11 @@ public class ActionHelper var dictAction = (XMLTool.DictionaryAction)act; return QFramework.ImageTipAction.Allocate(dictAction.args); } - + case "3DObjShow": + { + var dictAction = (XMLTool.Show3DAction)act; + return QFramework.Show3DAction.Allocate(dictAction.data); + } default: Debug.LogError($"ûҵAction{act.Type}"); break; diff --git a/Assets/Scripts/Actions/Show3DAction.cs b/Assets/Scripts/Actions/Show3DAction.cs new file mode 100644 index 00000000..25e9fad5 --- /dev/null +++ b/Assets/Scripts/Actions/Show3DAction.cs @@ -0,0 +1,75 @@ +using QFramework.Example; +using System; +using System.Collections.Generic; +using UnityEngine; + +namespace QFramework +{ + internal class Show3DAction : IAction + { + public System.Action OnFinished { get; set; } + + + private Show3DAction() + { + } + + private static readonly SimpleObjectPool mPool = + new SimpleObjectPool(() => new Show3DAction(), null, 10); + UI3DObjShowData data; + public static Show3DAction Allocate(UI3DObjShowData data, System.Action OnFinished = null) + { + var retNode = mPool.Allocate(); + retNode.ActionID = ActionKit.ID_GENERATOR++; + retNode.Deinited = false; + retNode.Reset(); + retNode.OnFinished = OnFinished; + retNode.data = data; + return retNode; + } + + + public ulong ActionID { get; set; } + public ActionStatus Status { get; set; } + + public void OnStart() + { + UIKit.OpenPanelAsync(uiData: data, canvasLevel: UILevel.PopUI).ToAction().StartGlobal(() => + { + this.Finish(); + }); + } + + public void OnExecute(float dt) + { + + } + + public void OnFinish() + { + } + + public void Reset() + { + Status = ActionStatus.NotStart; + Paused = false; + } + + public bool Paused { get; set; } + + public void Deinit() + { + if (!Deinited) + { + data = null; + OnFinished = null; + Deinited = true; + mPool.Recycle(this); + } + } + + public bool Deinited { get; set; } + } + + +} \ No newline at end of file diff --git a/Assets/Scripts/Actions/Show3DAction.cs.meta b/Assets/Scripts/Actions/Show3DAction.cs.meta new file mode 100644 index 00000000..d22bbb8f --- /dev/null +++ b/Assets/Scripts/Actions/Show3DAction.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 241c472a6d610e64ebb7c256d5038346 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/Item/Show3DCamera.cs b/Assets/Scripts/Item/Show3DCamera.cs new file mode 100644 index 00000000..62998023 --- /dev/null +++ b/Assets/Scripts/Item/Show3DCamera.cs @@ -0,0 +1,166 @@ +using UnityEngine; +using UnityEngine.EventSystems; +using UnityEngine.UI; + +public class Show3DCamera : MonoBehaviour +{ + public Transform target; // ΧתĿ + public float rotateSpeed = 10f; // תٶ + public float moveSpeed = 10f; // ƶٶ + public float distance = 10f; // Ŀľ + public Vector2 pitchMinMax = new Vector2(-20, 80); // ǷΧ + + private Vector3 offset; // Ŀƫ + private float yaw = 0f; // ƫǣת + private float pitch = 0f; // ǣת + + public static Show3DCamera instance; + + int rawWidth; + int rawHeight; + Camera self; + + private void Awake() + { + instance = this; + self = transform.GetComponent(); + DontDestroyOnLoad(this); + } + public void Set(int width,int height, Transform target, float rotateSpeed = 10, float moveSpeed = 0.1f, float distance = 0.1f, float pitchMin = -20, float pitchMax = 80) + { + if (target == null) + { + Debug.LogError("Target is not assigned!"); + return; + } + this.rawWidth = width; + this.rawHeight = height; + yaw = 0; + pitch = 0; + this.target = target.transform; + this.rotateSpeed = rotateSpeed; + this.moveSpeed = moveSpeed; + this.distance = distance; + this.pitchMinMax = new Vector2(pitchMin, pitchMax); + // ʼλ + offset = new Vector3(0, 0, -distance); + UpdateCameraPosition(); + } + + public void Clear() + { + target = null; + } + + void Update() + { + if (target != null) + { + // סʱת + if (Input.GetMouseButton(0)) + { + RotateCamera(); + } + + // + float scroll = Input.GetAxis("Mouse ScrollWheel"); + if (scroll != 0) + { + ZoomCamera(scroll); + } + + + // סҼʱƶĿ + if (Input.GetMouseButton(1)) + { + MoveTarget(); + } + + DetectHoveredObject(); + } + } + + // ͣ + private void DetectHoveredObject() + { + // + Ray ray = self.ScreenPointToRay(ConvertScreenToRenderTextureCoordinates(Input.mousePosition)); + if (Physics.Raycast(ray, out RaycastHit hit)) + { + // ӡ + Debug.LogError("Hovered Object: " + hit.collider.gameObject.name); + } + Debug.DrawLine(ray.origin, hit.point, Color.red); + } + + private Vector3 ConvertScreenToRenderTextureCoordinates(Vector3 screenPosition) + { + // ȡĻֱ + int screenWidth = Screen.width; + int screenHeight = Screen.height; + + + // + float scaleX = (float)rawWidth / screenWidth; + float scaleY = (float)rawHeight / screenHeight; + + // תλ + Vector3 renderTexturePosition = new Vector3( + screenPosition.x * scaleX, + screenPosition.y * scaleY, + screenPosition.z + ); + + return renderTexturePosition; + } + + + // ƶĿ + private void MoveTarget() + { + float mouseX = Input.GetAxis("Mouse X") * moveSpeed; + float mouseY = Input.GetAxis("Mouse Y") * moveSpeed; + + transform.Translate(new Vector3(-mouseX, -mouseY, 0)); + } + // + private void ZoomCamera(float scroll) + { + distance -= scroll * 5f; // ٶ + distance = Mathf.Clamp(distance, 0.2f, 20f); // ƾ뷶Χ + offset = new Vector3(0, 0, -distance); + UpdateCameraPosition(); + } + + // ת + private void RotateCamera() + { + // ȡƶ + float mouseX = Input.GetAxis("Mouse X") * rotateSpeed; + float mouseY = Input.GetAxis("Mouse Y") * rotateSpeed; + + // ƫǺ͸ + yaw += mouseX; + pitch -= mouseY; // ע⣺ Y ƶ븩෴ + pitch = Mathf.Clamp(pitch, pitchMinMax.x, pitchMinMax.y); // ƸǷΧ + + // λ + UpdateCameraPosition(); + } + + // λúͳ + private void UpdateCameraPosition() + { + // תƫ + Quaternion rotation = Quaternion.Euler(pitch, yaw, 0); + Vector3 rotatedOffset = rotation * offset; + + // λ + transform.position = target.position + rotatedOffset; + + // ʼճĿ + transform.LookAt(target); + } +} + + diff --git a/Assets/Scripts/Item/Show3DCamera.cs.meta b/Assets/Scripts/Item/Show3DCamera.cs.meta new file mode 100644 index 00000000..ff2c951f --- /dev/null +++ b/Assets/Scripts/Item/Show3DCamera.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 35f672d48a4ed2349bb724d185d6a153 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/UI/UI3DObjShow.Designer.cs b/Assets/Scripts/UI/UI3DObjShow.Designer.cs new file mode 100644 index 00000000..5c81badf --- /dev/null +++ b/Assets/Scripts/UI/UI3DObjShow.Designer.cs @@ -0,0 +1,55 @@ +using System; +using UnityEngine; +using UnityEngine.UI; +using QFramework; + +namespace QFramework.Example +{ + // Generate Id:5590b0b6-d056-4a95-a14d-4e5b14aedaac + public partial class UI3DObjShow + { + public const string Name = "UI3DObjShow"; + + [SerializeField] + public UnityEngine.UI.ScrollRect Scroll; + [SerializeField] + public RectTransform Content; + [SerializeField] + public UnityEngine.UI.RawImage DeviceRawImage; + [SerializeField] + public UnityEngine.UI.Image ItemPrefab; + + private UI3DObjShowData mPrivateData = null; + + protected override void ClearUIComponents() + { + Scroll = null; + Content = null; + DeviceRawImage = null; + ItemPrefab = null; + + mData = null; + } + + public UI3DObjShowData Data + { + get + { + return mData; + } + } + + UI3DObjShowData mData + { + get + { + return mPrivateData ?? (mPrivateData = new UI3DObjShowData()); + } + set + { + mUIData = value; + mPrivateData = value; + } + } + } +} diff --git a/Assets/Scripts/UI/UI3DObjShow.Designer.cs.meta b/Assets/Scripts/UI/UI3DObjShow.Designer.cs.meta new file mode 100644 index 00000000..4a203aa0 --- /dev/null +++ b/Assets/Scripts/UI/UI3DObjShow.Designer.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 03401367f13f3624f97b7a828cdf204d +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/UI/UI3DObjShow.cs b/Assets/Scripts/UI/UI3DObjShow.cs new file mode 100644 index 00000000..1c88b2e5 --- /dev/null +++ b/Assets/Scripts/UI/UI3DObjShow.cs @@ -0,0 +1,97 @@ +using UnityEngine; +using UnityEngine.UI; +using QFramework; +using XMLTool; +using System.Collections.Generic; +using static UnityEditor.Progress; +using TMPro; + +namespace QFramework.Example +{ + public class UI3DObjShowData : UIPanelData + { + public class ObjData + { + public Vector3 rotate = Vector3.zero; + public Vector3 position = Vector3.zero; + public Vector3 scale = Vector3.one; + public float rotateSpeed = 10; + public float moveSpeed = 0.1f; + public float distance = 0.2f; + public float pitchMin = -30f; + public float pitchMax = 80; + public string deviceName; + } + public List datas; + } + public partial class UI3DObjShow : UIPanel + { + ResLoader loader; + GameObject curObj; + protected override void OnInit(IUIData uiData = null) + { + loader = ResLoader.Allocate(); + } + + protected override void OnOpen(IUIData uiData = null) + { + mData = uiData as UI3DObjShowData ?? new UI3DObjShowData(); + FreeCameraController.instance.SetLock(false, false); + Content.RemoveAllChildren(); + foreach (var data in mData.datas) + { + var item = DeviceController.Instance.GetDevice(data.deviceName); + GameObject obj = GameObject.Instantiate(ItemPrefab.gameObject, Content); + obj.name = item.Name; + obj.transform.Find("Name").GetComponent().text = item.Name; + Image icon = obj.transform.Find("IconBg/Icon").GetComponent(); + var localImageUrl = Global.deviceIconsPath + item.Icon; + loader.Add2Load(localImageUrl.ToNetImageResName(), + (bool success, IRes res) => + { + if (success) + { + icon.sprite = Utility.GetSprite(res.Asset as Texture2D); + } + }); + obj.GetComponent().onValueChanged.AddListener(isOn => + { + if (isOn) + { + curObj = GameObject.Instantiate(DeviceController.Instance.GetDeviceObj(data.deviceName)); + curObj.transform.position = data.position; + curObj.transform.localScale = data.scale; + curObj.transform.eulerAngles = data.rotate; + curObj.gameObject.SetActive(true); + Show3DCamera.instance.Set(DeviceRawImage.texture.width, DeviceRawImage.texture.height, curObj.transform, data.rotateSpeed, data.moveSpeed, data.distance, data.pitchMin, data.pitchMax); + } + else + { + if (curObj) + { + Show3DCamera.instance.Clear(); + GameObject.Destroy(curObj); + curObj = null; + } + } + }); + + } + loader.LoadAsync(); + } + + protected override void OnShow() + { + } + + protected override void OnHide() + { + FreeCameraController.instance.SetLock(true, true); + loader.Recycle2Cache(); + } + + protected override void OnClose() + { + } + } +} diff --git a/Assets/Scripts/UI/UI3DObjShow.cs.meta b/Assets/Scripts/UI/UI3DObjShow.cs.meta new file mode 100644 index 00000000..c850e3bb --- /dev/null +++ b/Assets/Scripts/UI/UI3DObjShow.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 2922fa71b7d60e942b5b06b785dc37c0 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/Xml/XmlParser.cs b/Assets/Scripts/Xml/XmlParser.cs index c6fcf0df..0535d963 100644 --- a/Assets/Scripts/Xml/XmlParser.cs +++ b/Assets/Scripts/Xml/XmlParser.cs @@ -2,8 +2,10 @@ using Microsoft.SqlServer.Server; using QFramework; using QFramework.Example; using System.Collections.Generic; +using System.Drawing; using System.Linq; using System.Xml.Linq; +using UnityEditor.ShaderGraph.Internal; using UnityEngine; using static QFramework.Example.UIInputData; using static UnityEditor.Progress; @@ -103,7 +105,10 @@ namespace XMLTool public UIInputData data; } - + public class Show3DAction : Action + { + public UI3DObjShowData data; + } public class Condition : ActionItem @@ -1278,6 +1283,61 @@ namespace XMLTool newAction = act; } break; + case "3DObjShow": + { + var act = new Show3DAction(); + act.data = new UI3DObjShowData(); + act.data.datas = new List(); + foreach (var item in action.Elements("Object")) + { + UI3DObjShowData.ObjData objData = new UI3DObjShowData.ObjData(); + objData.deviceName = item.Attribute("deviceName")?.Value; + + XAttribute position = item.Attribute("position"); + if (position != null) + { + objData.position = Utility.GetVector3FromStrArray(position.Value); + } + XAttribute rotate = item.Attribute("rotate"); + if (rotate != null) + { + objData.rotate = Utility.GetVector3FromStrArray(rotate.Value); + } + XAttribute scale = item.Attribute("scale"); + if (scale != null) + { + objData.scale = Utility.GetVector3FromStrArray(scale.Value); + } + XAttribute rotateSpeed = item.Attribute("rotateSpeed"); + if (rotateSpeed != null) + { + float.TryParse(rotateSpeed.Value, out objData.rotateSpeed); + } + XAttribute moveSpeed = item.Attribute("moveSpeed"); + if (moveSpeed != null) + { + float.TryParse(moveSpeed.Value, out objData.moveSpeed); + } + XAttribute distance = item.Attribute("distance"); + if (distance != null) + { + float.TryParse(distance.Value, out objData.distance); + } + XAttribute pitchMin = item.Attribute("pitchMin"); + if (pitchMin != null) + { + float.TryParse(pitchMin.Value, out objData.pitchMin); + } + XAttribute pitchMax = item.Attribute("pitchMax"); + if (pitchMax != null) + { + float.TryParse(pitchMax.Value, out objData.pitchMax); + } + act.data.datas.Add(objData); + } + newAction = act; + } + break; default: newAction = new Action(); break; diff --git a/Data/App.xml b/Data/App.xml index 4660d60c..a75878b1 100644 --- a/Data/App.xml +++ b/Data/App.xml @@ -639,6 +639,12 @@ + + + + + + From 09a744871f5f8b9b7d8fd566a574dbd4ddde8da6 Mon Sep 17 00:00:00 2001 From: shenjianxing <”315615051@qq.com“> Date: Sat, 8 Feb 2025 17:27:06 +0800 Subject: [PATCH 21/25] =?UTF-8?q?=E6=94=AF=E6=8C=81=E5=A4=9Aoperation?= =?UTF-8?q?=E5=88=87=E6=8D=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Assets/Scripts/Actions/ActionHelper.cs | 5 ++ .../Scripts/Actions/OperationChangeAction.cs | 76 +++++++++++++++++++ .../Actions/OperationChangeAction.cs.meta | 3 + .../Scripts/Controller/OperationController.cs | 51 +++++++++++-- Assets/Scripts/UI/UIOperationList.cs | 7 ++ Assets/Scripts/Xml/XmlParser.cs | 13 ++++ 6 files changed, 148 insertions(+), 7 deletions(-) create mode 100644 Assets/Scripts/Actions/OperationChangeAction.cs create mode 100644 Assets/Scripts/Actions/OperationChangeAction.cs.meta diff --git a/Assets/Scripts/Actions/ActionHelper.cs b/Assets/Scripts/Actions/ActionHelper.cs index 422aa893..db93bdee 100644 --- a/Assets/Scripts/Actions/ActionHelper.cs +++ b/Assets/Scripts/Actions/ActionHelper.cs @@ -258,6 +258,11 @@ public class ActionHelper var dictAction = (XMLTool.Show3DAction)act; return QFramework.Show3DAction.Allocate(dictAction.data); } + case "OperationChange": + { + var dictAction = (XMLTool.DictionaryAction)act; + return QFramework.OperationChangeAction.Allocate(dictAction.args); + } default: Debug.LogError($"ûҵAction{act.Type}"); break; diff --git a/Assets/Scripts/Actions/OperationChangeAction.cs b/Assets/Scripts/Actions/OperationChangeAction.cs new file mode 100644 index 00000000..0ccf2a97 --- /dev/null +++ b/Assets/Scripts/Actions/OperationChangeAction.cs @@ -0,0 +1,76 @@ +using System; +using System.Collections.Generic; +using UnityEngine; + +namespace QFramework +{ + internal class OperationChangeAction : IAction + { + + public System.Action OnFinished { get; set; } + + + private OperationChangeAction() + { + } + + private static readonly SimpleObjectPool mPool = + new SimpleObjectPool(() => new OperationChangeAction(), null, 10); + + Dictionary datas; + public static OperationChangeAction Allocate(Dictionary datas, System.Action OnFinished = null) + { + var retNode = mPool.Allocate(); + retNode.ActionID = ActionKit.ID_GENERATOR++; + retNode.Deinited = false; + retNode.Reset(); + retNode.datas = datas; + retNode.OnFinished = OnFinished; + return retNode; + } + + + public ulong ActionID { get; set; } + public ActionStatus Status { get; set; } + + public void OnStart() + { + } + + public void OnExecute(float dt) + { + if (datas.ContainsKey("name")) + { + OperationController.Instance.ChangeOperation(datas["name"]); + } + this.Finish(); + OnFinished?.Invoke(); + } + + public void OnFinish() + { + } + + public void Reset() + { + Status = ActionStatus.NotStart; + Paused = false; + } + + public bool Paused { get; set; } + + public void Deinit() + { + if (!Deinited) + { + OnFinished = null; + Deinited = true; + mPool.Recycle(this); + } + } + + public bool Deinited { get; set; } + } + + +} \ No newline at end of file diff --git a/Assets/Scripts/Actions/OperationChangeAction.cs.meta b/Assets/Scripts/Actions/OperationChangeAction.cs.meta new file mode 100644 index 00000000..02a99107 --- /dev/null +++ b/Assets/Scripts/Actions/OperationChangeAction.cs.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: 561ce23d686fb5e43aa36c8df69845b9 +timeCreated: 1647655796 \ No newline at end of file diff --git a/Assets/Scripts/Controller/OperationController.cs b/Assets/Scripts/Controller/OperationController.cs index b6817979..44b39142 100644 --- a/Assets/Scripts/Controller/OperationController.cs +++ b/Assets/Scripts/Controller/OperationController.cs @@ -7,6 +7,12 @@ using XMLTool; public class OperationController : MonoSingleton { + public struct OnOperationChanged + { + + } + + public struct StepExecute { public int index; @@ -31,7 +37,7 @@ public class OperationController : MonoSingleton OperationController() { } public Operation operation; - + Dictionary curOperations = new Dictionary(); List steps = new List(); int index = -1; @@ -52,6 +58,7 @@ public class OperationController : MonoSingleton public void Refresh() { Global.AppType operationType = Global.AppType.All; + int index = 0; foreach (var operation in Global.Instance.curModule.Operations) { if (string.IsNullOrEmpty(operation.moduleType) == false) @@ -60,18 +67,46 @@ public class OperationController : MonoSingleton } if (Global.appTpe == operationType || operationType == Global.AppType.All) { - this.operation = operation; - foreach (var item in operation.Steps) + if (string.IsNullOrEmpty(operation.name)) { - AddStep(item); + curOperations.Add(index.ToString(), operation); } - TypeEventSystem.Global.Register(OnExecute); - TypeEventSystem.Global.Register(OnNext); - TypeEventSystem.Global.Register(OnModuleQuitHandler); + else + { + curOperations.Add(operation.name, operation); + } + index++; } } + foreach (var operation in curOperations) + { + this.operation = operation.Value; + foreach (var item in operation.Value.Steps) + { + AddStep(item); + } + TypeEventSystem.Global.Register(OnExecute); + TypeEventSystem.Global.Register(OnNext); + TypeEventSystem.Global.Register(OnModuleQuitHandler); + break; + } + } + public void ChangeOperation(string name) + { + if (curOperations.ContainsKey(name)) + { + index = -1; + curAction?.Deinit(); + steps.Clear(); + this.operation = curOperations[name]; + foreach (var item in this.operation.Steps) + { + AddStep(item); + } + TypeEventSystem.Global.Send(); + } } private void OnModuleQuitHandler(OnModuleQuit quit) @@ -83,7 +118,9 @@ public class OperationController : MonoSingleton { index = -1; curAction.Deinit(); + operation = null; steps.Clear(); + curOperations.Clear(); TypeEventSystem.Global.UnRegister(OnModuleQuitHandler); TypeEventSystem.Global.UnRegister(OnExecute); TypeEventSystem.Global.UnRegister(OnNext); diff --git a/Assets/Scripts/UI/UIOperationList.cs b/Assets/Scripts/UI/UIOperationList.cs index 5384d58d..8240de84 100644 --- a/Assets/Scripts/UI/UIOperationList.cs +++ b/Assets/Scripts/UI/UIOperationList.cs @@ -21,6 +21,7 @@ namespace QFramework.Example protected override void OnInit(IUIData uiData = null) { mData = uiData as UIOperationListData ?? new UIOperationListData(); + TypeEventSystem.Global.Register((arg) => Refresh()).UnRegisterWhenGameObjectDestroyed(gameObject); TypeEventSystem.Global.Register((arg) => Hide()).UnRegisterWhenGameObjectDestroyed(gameObject); } @@ -84,6 +85,11 @@ namespace QFramework.Example protected override void OnOpen(IUIData uiData = null) { TypeEventSystem.Global.Register(OnStepChanged).UnRegisterWhenDisabled(this); + Refresh(); + } + + public void Refresh() + { btns.Clear(); op = OperationController.Instance.operation; StepContent.RemoveAllChildren(); @@ -126,6 +132,7 @@ namespace QFramework.Example } } + public void StepItemFactory(Transform content, string txt) { GameObject subObj = GameObject.Instantiate(SubStep.gameObject, content.transform); diff --git a/Assets/Scripts/Xml/XmlParser.cs b/Assets/Scripts/Xml/XmlParser.cs index 0535d963..4886009a 100644 --- a/Assets/Scripts/Xml/XmlParser.cs +++ b/Assets/Scripts/Xml/XmlParser.cs @@ -147,6 +147,7 @@ namespace XMLTool public class Operation { + public string name; public string moduleType { get; set; } public bool freeStep { get; set; } public List Steps { get; set; } @@ -309,6 +310,7 @@ namespace XMLTool { Steps = new List(), }; + op.name = operationNode.Attribute("name")?.Value; op.moduleType = operationNode.Attribute("moduleType")?.Value; var free = operationNode.Attribute("freeStep"); bool isFree = true; @@ -1338,6 +1340,17 @@ namespace XMLTool newAction = act; } break; + case "OperationChange": + { + var act = new DictionaryAction(); + XAttribute name = action.Attribute("name"); + if (name != null) + { + act.args.Add("name", name.Value); + } + newAction = act; + } + break; default: newAction = new Action(); break; From 055142c792bcc67b0d483ece200328ac48c1407e Mon Sep 17 00:00:00 2001 From: shenjianxing <”315615051@qq.com“> Date: Sat, 8 Feb 2025 17:30:04 +0800 Subject: [PATCH 22/25] =?UTF-8?q?=E6=9B=B4=E6=96=B0=E9=85=8D=E7=BD=AE?= =?UTF-8?q?=E6=96=87=E6=A1=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Doc/Xml配置文档.xml | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/Doc/Xml配置文档.xml b/Doc/Xml配置文档.xml index 97cea34d..740123f1 100644 --- a/Doc/Xml配置文档.xml +++ b/Doc/Xml配置文档.xml @@ -17,6 +17,11 @@ + + + + @@ -202,6 +207,7 @@ + @@ -255,8 +261,8 @@ - - + + From 3ac082043da9a22b42e89b5328b4843c8d76792c Mon Sep 17 00:00:00 2001 From: shenjianxing <”315615051@qq.com“> Date: Sat, 8 Feb 2025 17:33:21 +0800 Subject: [PATCH 23/25] =?UTF-8?q?=E9=BB=98=E8=AE=A4=E9=9A=90=E8=97=8F3D?= =?UTF-8?q?=E7=9B=B8=E6=9C=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Assets/Scripts/Item/Show3DCamera.cs | 1 + 1 file changed, 1 insertion(+) diff --git a/Assets/Scripts/Item/Show3DCamera.cs b/Assets/Scripts/Item/Show3DCamera.cs index 62998023..c6e08970 100644 --- a/Assets/Scripts/Item/Show3DCamera.cs +++ b/Assets/Scripts/Item/Show3DCamera.cs @@ -25,6 +25,7 @@ public class Show3DCamera : MonoBehaviour instance = this; self = transform.GetComponent(); DontDestroyOnLoad(this); + gameObject.SetActive(false); } public void Set(int width,int height, Transform target, float rotateSpeed = 10, float moveSpeed = 0.1f, float distance = 0.1f, float pitchMin = -20, float pitchMax = 80) { From b58b34c80a6fd5f548620da48deaf274b35bdcd9 Mon Sep 17 00:00:00 2001 From: shenjianxing <”315615051@qq.com“> Date: Mon, 10 Feb 2025 10:54:47 +0800 Subject: [PATCH 24/25] =?UTF-8?q?=E5=AE=8C=E5=96=84device=E7=9A=843D?= =?UTF-8?q?=E5=B1=95=E7=A4=BA=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Assets/Art/UIPrefab/UI3DObjShow.prefab | 16 ++-- Assets/Art/UIPrefab/UIBtns.prefab | 2 +- Assets/Scripts/Item/Show3DCamera.cs | 119 ++++++++++++++++--------- Assets/Scripts/Item/TipItem.cs | 13 ++- Assets/Scripts/UI/UI3DObjShow.cs | 14 ++- Assets/Scripts/Xml/XmlParser.cs | 10 +++ Doc/Xml配置文档.xml | 17 ++++ 7 files changed, 135 insertions(+), 56 deletions(-) diff --git a/Assets/Art/UIPrefab/UI3DObjShow.prefab b/Assets/Art/UIPrefab/UI3DObjShow.prefab index 56bb1365..06410a52 100644 --- a/Assets/Art/UIPrefab/UI3DObjShow.prefab +++ b/Assets/Art/UIPrefab/UI3DObjShow.prefab @@ -309,13 +309,13 @@ RectTransform: m_LocalScale: {x: 1, y: 1, z: 1} m_ConstrainProportionsScale: 0 m_Children: [] - m_Father: {fileID: 826586917723392204} + m_Father: {fileID: 8188781184013275445} 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_AnchoredPosition: {x: -640, y: -360} m_SizeDelta: {x: 1280, y: 720} - m_Pivot: {x: 0.5, y: 0.5} + m_Pivot: {x: 0, y: 0} --- !u!222 &3370089183326341287 CanvasRenderer: m_ObjectHideFlags: 0 @@ -364,7 +364,7 @@ MonoBehaviour: m_Name: m_EditorClassIdentifier: MarkType: 0 - CustomComponentName: + CustomComponentName: DeviceRawImage CustomComment: mComponentName: UnityEngine.UI.RawImage --- !u!1 &1587529206278800681 @@ -379,7 +379,7 @@ GameObject: - component: {fileID: 7277770534815806214} - component: {fileID: 5964642934946449171} m_Layer: 0 - m_Name: bg + m_Name: Right m_TagString: Untagged m_Icon: {fileID: 0} m_NavMeshLayer: 0 @@ -744,7 +744,7 @@ GameObject: - component: {fileID: 1954549762747143972} - component: {fileID: 2228057524689582266} m_Layer: 0 - m_Name: Show + m_Name: Bg m_TagString: Untagged m_Icon: {fileID: 0} m_NavMeshLayer: 0 @@ -761,8 +761,7 @@ RectTransform: m_LocalPosition: {x: 0, y: 0, z: 0} m_LocalScale: {x: 1, y: 1, z: 1} m_ConstrainProportionsScale: 0 - m_Children: - - {fileID: 1614371002034144690} + m_Children: [] m_Father: {fileID: 8188781184013275445} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_AnchorMin: {x: 0.5, y: 0.5} @@ -947,6 +946,7 @@ RectTransform: m_Children: - {fileID: 1915876869541640623} - {fileID: 826586917723392204} + - {fileID: 1614371002034144690} - {fileID: 2836954293480787745} m_Father: {fileID: 0} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} diff --git a/Assets/Art/UIPrefab/UIBtns.prefab b/Assets/Art/UIPrefab/UIBtns.prefab index d359738d..a8214ef7 100644 --- a/Assets/Art/UIPrefab/UIBtns.prefab +++ b/Assets/Art/UIPrefab/UIBtns.prefab @@ -192,7 +192,7 @@ MonoBehaviour: m_Spacing: 15 m_ChildForceExpandWidth: 0 m_ChildForceExpandHeight: 1 - m_ChildControlWidth: 0 + m_ChildControlWidth: 1 m_ChildControlHeight: 0 m_ChildScaleWidth: 0 m_ChildScaleHeight: 1 diff --git a/Assets/Scripts/Item/Show3DCamera.cs b/Assets/Scripts/Item/Show3DCamera.cs index c6e08970..a88bd901 100644 --- a/Assets/Scripts/Item/Show3DCamera.cs +++ b/Assets/Scripts/Item/Show3DCamera.cs @@ -1,13 +1,19 @@ +using GCSeries.Core; +using System; +using Unity.Burst.CompilerServices; using UnityEngine; using UnityEngine.EventSystems; using UnityEngine.UI; +using UnityEngine.UIElements; public class Show3DCamera : MonoBehaviour { - public Transform target; // ΧתĿ + public Vector3 targetPos; // ΧתĿ public float rotateSpeed = 10f; // תٶ public float moveSpeed = 10f; // ƶٶ public float distance = 10f; // Ŀľ + public float distanceMin = 0.2f; + public float distanceMax = 20f; public Vector2 pitchMinMax = new Vector2(-20, 80); // ǷΧ private Vector3 offset; // Ŀƫ @@ -16,10 +22,11 @@ public class Show3DCamera : MonoBehaviour public static Show3DCamera instance; - int rawWidth; - int rawHeight; + RectTransform inputRect; Camera self; + private GameObject lastHitObject = null; + private void Awake() { instance = this; @@ -27,35 +34,34 @@ public class Show3DCamera : MonoBehaviour DontDestroyOnLoad(this); gameObject.SetActive(false); } - public void Set(int width,int height, Transform target, float rotateSpeed = 10, float moveSpeed = 0.1f, float distance = 0.1f, float pitchMin = -20, float pitchMax = 80) + public void Set(Transform target, float rotateSpeed = 10, float moveSpeed = 0.1f, float distance = 0.1f, float pitchMin = -20, float pitchMax = 80, float distanceMin = 0.2f, float distanceMax = 20f, RectTransform inputRect = null) { if (target == null) { Debug.LogError("Target is not assigned!"); return; } - this.rawWidth = width; - this.rawHeight = height; + yaw = 0; pitch = 0; - this.target = target.transform; + this.inputRect = inputRect; + this.targetPos = target.transform.position; this.rotateSpeed = rotateSpeed; this.moveSpeed = moveSpeed; this.distance = distance; + this.distanceMin = distanceMin; + this.distanceMax = distanceMax; this.pitchMinMax = new Vector2(pitchMin, pitchMax); // ʼλ offset = new Vector3(0, 0, -distance); UpdateCameraPosition(); } - public void Clear() - { - target = null; - } + void Update() { - if (target != null) + if (targetPos != null) { // סʱת if (Input.GetMouseButton(0)) @@ -76,45 +82,76 @@ public class Show3DCamera : MonoBehaviour { MoveTarget(); } - DetectHoveredObject(); } } // ͣ - private void DetectHoveredObject() + public void DetectHoveredObject() { - // - Ray ray = self.ScreenPointToRay(ConvertScreenToRenderTextureCoordinates(Input.mousePosition)); - if (Physics.Raycast(ray, out RaycastHit hit)) + GameObject obj = null; + Vector2 mousePosition = Input.mousePosition; + if (inputRect != null) { - // ӡ - Debug.LogError("Hovered Object: " + hit.collider.gameObject.name); + var pos = (mousePosition - (Vector2)inputRect.position) / inputRect.lossyScale - inputRect.rect.position; + mousePosition = pos / inputRect.rect.size; } - Debug.DrawLine(ray.origin, hit.point, Color.red); + + var ray = self.ViewportPointToRay(mousePosition); + RaycastHit raycastHit; + if (Physics.Raycast(ray, out raycastHit)) + { + //Debug.Log(raycastHit.transform.name); + obj = raycastHit.transform.gameObject; + + + // еһλе岻ͬʾ߽ + if (obj != lastHitObject) + { + // ¼ + OnMouseEnterObj(obj); + + // һλе岻Ϊգ뿪¼ + if (lastHitObject != null && lastHitObject != obj) + { + OnMouseExitObj(lastHitObject); + // һλе + lastHitObject = obj; + } + + } + } + else + { + // ûлκ壬һλе岻Ϊգ뿪¼ + if (lastHitObject != null) + { + OnMouseExitObj(lastHitObject); + lastHitObject = null; + } + } + Debug.DrawLine(ray.origin, raycastHit.point, Color.red); } - private Vector3 ConvertScreenToRenderTextureCoordinates(Vector3 screenPosition) + + public void OnMouseEnterObj(GameObject obj) { - // ȡĻֱ - int screenWidth = Screen.width; - int screenHeight = Screen.height; - - - // - float scaleX = (float)rawWidth / screenWidth; - float scaleY = (float)rawHeight / screenHeight; - - // תλ - Vector3 renderTexturePosition = new Vector3( - screenPosition.x * scaleX, - screenPosition.y * scaleY, - screenPosition.z - ); - - return renderTexturePosition; + TipItem tip = obj.GetComponent(); + if (tip != null) + { + tip.OnEnter(); + } } + public void OnMouseExitObj(GameObject obj) + { + TipItem tip = obj.GetComponent(); + if (tip != null) + { + tip.OnExit(); + } + + } // ƶĿ private void MoveTarget() @@ -128,7 +165,7 @@ public class Show3DCamera : MonoBehaviour private void ZoomCamera(float scroll) { distance -= scroll * 5f; // ٶ - distance = Mathf.Clamp(distance, 0.2f, 20f); // ƾ뷶Χ + distance = Mathf.Clamp(distance, distanceMin, distanceMax); // ƾ뷶Χ offset = new Vector3(0, 0, -distance); UpdateCameraPosition(); } @@ -157,10 +194,10 @@ public class Show3DCamera : MonoBehaviour Vector3 rotatedOffset = rotation * offset; // λ - transform.position = target.position + rotatedOffset; + transform.position = targetPos + rotatedOffset; // ʼճĿ - transform.LookAt(target); + transform.LookAt(targetPos); } } diff --git a/Assets/Scripts/Item/TipItem.cs b/Assets/Scripts/Item/TipItem.cs index d0f746b0..3f27cb95 100644 --- a/Assets/Scripts/Item/TipItem.cs +++ b/Assets/Scripts/Item/TipItem.cs @@ -16,6 +16,11 @@ public class TipItem : MonoBehaviour } private void OnMouseEnter() + { + OnEnter(); + } + + public void OnEnter() { tip = UIKit.GetPanel(); if (tip == null) @@ -33,8 +38,7 @@ public class TipItem : MonoBehaviour tip.Active(true); } } - - private void OnMouseExit() + public void OnExit() { if (tip != null) { @@ -42,6 +46,11 @@ public class TipItem : MonoBehaviour } } + private void OnMouseExit() + { + OnExit(); + } + private void OnMouseUpAsButton() { if (tip != null) diff --git a/Assets/Scripts/UI/UI3DObjShow.cs b/Assets/Scripts/UI/UI3DObjShow.cs index 1c88b2e5..8c01c049 100644 --- a/Assets/Scripts/UI/UI3DObjShow.cs +++ b/Assets/Scripts/UI/UI3DObjShow.cs @@ -3,8 +3,9 @@ using UnityEngine.UI; using QFramework; using XMLTool; using System.Collections.Generic; -using static UnityEditor.Progress; using TMPro; +using GCSeries.Core; +using UnityEngine.EventSystems; namespace QFramework.Example { @@ -18,6 +19,8 @@ namespace QFramework.Example public float rotateSpeed = 10; public float moveSpeed = 0.1f; public float distance = 0.2f; + public float distanceMin = 0.2f; + public float distanceMax = 20f; public float pitchMin = -30f; public float pitchMax = 80; public string deviceName; @@ -28,15 +31,18 @@ namespace QFramework.Example { ResLoader loader; GameObject curObj; + RectTransform rawImg; protected override void OnInit(IUIData uiData = null) { loader = ResLoader.Allocate(); + rawImg = DeviceRawImage.GetComponent(); } protected override void OnOpen(IUIData uiData = null) { mData = uiData as UI3DObjShowData ?? new UI3DObjShowData(); FreeCameraController.instance.SetLock(false, false); + Show3DCamera.instance.gameObject.SetActive(true); Content.RemoveAllChildren(); foreach (var data in mData.datas) { @@ -63,13 +69,12 @@ namespace QFramework.Example curObj.transform.localScale = data.scale; curObj.transform.eulerAngles = data.rotate; curObj.gameObject.SetActive(true); - Show3DCamera.instance.Set(DeviceRawImage.texture.width, DeviceRawImage.texture.height, curObj.transform, data.rotateSpeed, data.moveSpeed, data.distance, data.pitchMin, data.pitchMax); + Show3DCamera.instance.Set(curObj.transform, data.rotateSpeed, data.moveSpeed, data.distance, data.pitchMin, data.pitchMax, distanceMin: data.distanceMin, distanceMax: data.distanceMax, inputRect: rawImg); } else { if (curObj) { - Show3DCamera.instance.Clear(); GameObject.Destroy(curObj); curObj = null; } @@ -79,7 +84,6 @@ namespace QFramework.Example } loader.LoadAsync(); } - protected override void OnShow() { } @@ -87,11 +91,13 @@ namespace QFramework.Example protected override void OnHide() { FreeCameraController.instance.SetLock(true, true); + Show3DCamera.instance.gameObject.SetActive(false); loader.Recycle2Cache(); } protected override void OnClose() { } + } } diff --git a/Assets/Scripts/Xml/XmlParser.cs b/Assets/Scripts/Xml/XmlParser.cs index 4886009a..8b3d7ef0 100644 --- a/Assets/Scripts/Xml/XmlParser.cs +++ b/Assets/Scripts/Xml/XmlParser.cs @@ -1325,6 +1325,16 @@ namespace XMLTool { float.TryParse(distance.Value, out objData.distance); } + XAttribute distanceMin = item.Attribute("distanceMin"); + if (distanceMin != null) + { + float.TryParse(distanceMin.Value, out objData.distanceMin); + } + XAttribute distanceMax = item.Attribute("distanceMax"); + if (distanceMax != null) + { + float.TryParse(distanceMax.Value, out objData.distanceMax); + } XAttribute pitchMin = item.Attribute("pitchMin"); if (pitchMin != null) { diff --git a/Doc/Xml配置文档.xml b/Doc/Xml配置文档.xml index 740123f1..d0ae54d8 100644 --- a/Doc/Xml配置文档.xml +++ b/Doc/Xml配置文档.xml @@ -208,6 +208,23 @@ + + + + + + From 288d0ebffcc75f63e5f7a3b7d98eca81a096dd9f Mon Sep 17 00:00:00 2001 From: shenjianxing <”315615051@qq.com“> Date: Mon, 10 Feb 2025 17:23:54 +0800 Subject: [PATCH 25/25] =?UTF-8?q?3DBody=20=E8=A7=A3=E5=89=96=E7=9B=B8?= =?UTF-8?q?=E5=85=B3=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Assets/Art/UIPrefab/UIBody3D.prefab | 813 +++++++++++++++++ Assets/Art/UIPrefab/UIBody3D.prefab.meta | 7 + Assets/Scenes/Main.unity | 4 +- Assets/Scenes/TestUIPanels/TestUIBody3D.unity | 847 ++++++++++++++++++ .../TestUIPanels/TestUIBody3D.unity.meta | 7 + Assets/Scripts/Actions/ActionHelper.cs | 1 + Assets/Scripts/UI/UIBody3D.Designer.cs | 49 + Assets/Scripts/UI/UIBody3D.Designer.cs.meta | 11 + Assets/Scripts/UI/UIBody3D.cs | 52 ++ Assets/Scripts/UI/UIBody3D.cs.meta | 11 + Assets/Scripts/Xml/XmlParser.cs | 62 +- 11 files changed, 1854 insertions(+), 10 deletions(-) create mode 100644 Assets/Art/UIPrefab/UIBody3D.prefab create mode 100644 Assets/Art/UIPrefab/UIBody3D.prefab.meta create mode 100644 Assets/Scenes/TestUIPanels/TestUIBody3D.unity create mode 100644 Assets/Scenes/TestUIPanels/TestUIBody3D.unity.meta create mode 100644 Assets/Scripts/UI/UIBody3D.Designer.cs create mode 100644 Assets/Scripts/UI/UIBody3D.Designer.cs.meta create mode 100644 Assets/Scripts/UI/UIBody3D.cs create mode 100644 Assets/Scripts/UI/UIBody3D.cs.meta diff --git a/Assets/Art/UIPrefab/UIBody3D.prefab b/Assets/Art/UIPrefab/UIBody3D.prefab new file mode 100644 index 00000000..dbc62cb8 --- /dev/null +++ b/Assets/Art/UIPrefab/UIBody3D.prefab @@ -0,0 +1,813 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1 &275089594207850377 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 4263527001158670657} + - component: {fileID: 7135243213275214859} + - component: {fileID: 1925313831941949437} + - component: {fileID: 8217181496106074158} + m_Layer: 0 + m_Name: MenuBtn + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &4263527001158670657 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 275089594207850377} + 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: 4953482758554625882} + m_Father: {fileID: 1062102287437619772} + 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: 885, y: 245} + m_SizeDelta: {x: 160, y: 30} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &7135243213275214859 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 275089594207850377} + m_CullTransparentMesh: 1 +--- !u!114 &1925313831941949437 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 275089594207850377} + 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: 1} + 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: 10905, guid: 0000000000000000f000000000000000, type: 0} + m_Type: 1 + 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 &8217181496106074158 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 275089594207850377} + 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: 1925313831941949437} + m_OnClick: + m_PersistentCalls: + m_Calls: [] +--- !u!1 &1731373577641860042 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 4953482758554625882} + - component: {fileID: 2347760259618684183} + - component: {fileID: 5918762461572323184} + m_Layer: 0 + m_Name: Label + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &4953482758554625882 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1731373577641860042} + 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: 4263527001158670657} + 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 &2347760259618684183 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1731373577641860042} + m_CullTransparentMesh: 1 +--- !u!114 &5918762461572323184 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1731373577641860042} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_text: "\u83DC\u5355" + m_isRightToLeft: 0 + m_fontAsset: {fileID: 11400000, guid: e7da174c677019b49aa681250aa4ded8, type: 2} + m_sharedMaterial: {fileID: -7878122246201655599, guid: e7da174c677019b49aa681250aa4ded8, type: 2} + m_fontSharedMaterials: [] + m_fontMaterial: {fileID: 0} + m_fontMaterials: [] + m_fontColor32: + serializedVersion: 2 + rgba: 4281479730 + m_fontColor: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1} + m_enableVertexGradient: 0 + m_colorMode: 3 + m_fontColorGradient: + topLeft: {r: 1, g: 1, b: 1, a: 1} + topRight: {r: 1, g: 1, b: 1, a: 1} + bottomLeft: {r: 1, g: 1, b: 1, a: 1} + bottomRight: {r: 1, g: 1, b: 1, a: 1} + m_fontColorGradientPreset: {fileID: 0} + m_spriteAsset: {fileID: 0} + m_tintAllSprites: 0 + m_StyleSheet: {fileID: 0} + m_TextStyleHashCode: -1183493901 + m_overrideHtmlColors: 0 + m_faceColor: + serializedVersion: 2 + rgba: 4294967295 + m_fontSize: 24 + m_fontSizeBase: 24 + m_fontWeight: 400 + m_enableAutoSizing: 0 + m_fontSizeMin: 18 + m_fontSizeMax: 72 + m_fontStyle: 0 + m_HorizontalAlignment: 2 + m_VerticalAlignment: 512 + m_textAlignment: 65535 + m_characterSpacing: 0 + m_wordSpacing: 0 + m_lineSpacing: 0 + m_lineSpacingMax: 0 + m_paragraphSpacing: 0 + m_charWidthMaxAdj: 0 + m_enableWordWrapping: 1 + m_wordWrappingRatios: 0.4 + m_overflowMode: 0 + m_linkedTextComponent: {fileID: 0} + parentLinkedComponent: {fileID: 0} + m_enableKerning: 1 + m_enableExtraPadding: 0 + checkPaddingRequired: 0 + m_isRichText: 1 + m_parseCtrlCharacters: 1 + m_isOrthographic: 1 + m_isCullingEnabled: 0 + m_horizontalMapping: 0 + m_verticalMapping: 0 + m_uvLineOffset: 0 + m_geometrySortingOrder: 0 + m_IsTextObjectScaleStatic: 0 + m_VertexBufferAutoSizeReduction: 0 + m_useMaxVisibleDescender: 1 + m_pageToDisplay: 1 + m_margin: {x: 0, y: 0, z: 0, w: 0} + m_isUsingLegacyAnimationComponent: 0 + m_isVolumetricText: 0 + m_hasFontAssetChanged: 0 + m_baseMaterial: {fileID: 0} + m_maskOffset: {x: 0, y: 0, z: 0, w: 0} +--- !u!1 &2171229422367085329 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 3033046206669775460} + - component: {fileID: 1682419669064365991} + - component: {fileID: 6605250588679030740} + m_Layer: 0 + m_Name: BodyItem + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &3033046206669775460 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2171229422367085329} + 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: 1264121378949306667} + - {fileID: 7905154595963713286} + m_Father: {fileID: 3238461836348479573} + 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: -16.405884, y: -40.349716} + m_SizeDelta: {x: 127.1881, y: 100.6996} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1682419669064365991 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2171229422367085329} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 9085046f02f69544eb97fd06b6048fe2, 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: 4700084135801314771} + toggleTransition: 1 + graphic: {fileID: 4614220537224331151} + m_Group: {fileID: 0} + onValueChanged: + m_PersistentCalls: + m_Calls: [] + m_IsOn: 1 +--- !u!114 &6605250588679030740 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2171229422367085329} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 0d51f3a7c41ab0346b49ae50d456bece, type: 3} + m_Name: + m_EditorClassIdentifier: + MarkType: 0 + CustomComponentName: + CustomComment: + mComponentName: UnityEngine.UI.Toggle +--- !u!1 &3034960223928596461 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 3238461836348479573} + m_Layer: 0 + m_Name: Prefabs + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 0 +--- !u!224 &3238461836348479573 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3034960223928596461} + 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: 3033046206669775460} + m_Father: {fileID: 1062102287437619772} + 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!1 &3212297805599067200 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 5601864313735818432} + - component: {fileID: 2854415066566960052} + - component: {fileID: 1910592752469583054} + m_Layer: 0 + m_Name: BodyContent + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &5601864313735818432 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3212297805599067200} + 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: 1062102287437619772} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 1, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: -84.17078, y: -30.18811} + m_SizeDelta: {x: 168.3417, y: -597.0526} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &2854415066566960052 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3212297805599067200} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 59f8146938fff824cb5fd77236b75775, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Padding: + m_Left: 0 + m_Right: 0 + m_Top: 0 + m_Bottom: 0 + m_ChildAlignment: 0 + m_Spacing: 0 + m_ChildForceExpandWidth: 1 + m_ChildForceExpandHeight: 1 + m_ChildControlWidth: 0 + m_ChildControlHeight: 0 + m_ChildScaleWidth: 0 + m_ChildScaleHeight: 0 + m_ReverseArrangement: 0 +--- !u!114 &1910592752469583054 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3212297805599067200} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 0d51f3a7c41ab0346b49ae50d456bece, type: 3} + m_Name: + m_EditorClassIdentifier: + MarkType: 0 + CustomComponentName: + CustomComment: + mComponentName: RectTransform +--- !u!1 &4155433307319882472 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 857771760272880181} + - component: {fileID: 7828263869541264493} + - component: {fileID: 4614220537224331151} + m_Layer: 0 + m_Name: Checkmark + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &857771760272880181 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4155433307319882472} + 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: 1264121378949306667} + 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 &7828263869541264493 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4155433307319882472} + m_CullTransparentMesh: 1 +--- !u!114 &4614220537224331151 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4155433307319882472} + 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: 1} + 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: 10901, guid: 0000000000000000f000000000000000, type: 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!1 &4176334827250963918 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1062102287437619772} + - component: {fileID: 1899516771925541136} + m_Layer: 0 + m_Name: UIBody3D + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1062102287437619772 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4176334827250963918} + 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: 5601864313735818432} + - {fileID: 4263527001158670657} + - {fileID: 3238461836348479573} + m_Father: {fileID: 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!114 &1899516771925541136 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4176334827250963918} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: e84d6d3749854e844b5245f304121259, type: 3} + m_Name: + m_EditorClassIdentifier: + BodyContent: {fileID: 5601864313735818432} + BodyItem: {fileID: 1682419669064365991} +--- !u!1 &6081794716422948279 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 7905154595963713286} + - component: {fileID: 2446502681928384974} + - component: {fileID: 4878151049820995865} + m_Layer: 0 + m_Name: Label + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &7905154595963713286 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6081794716422948279} + 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: 3033046206669775460} + 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 &2446502681928384974 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6081794716422948279} + m_CullTransparentMesh: 1 +--- !u!114 &4878151049820995865 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6081794716422948279} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, 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_text: 123123123 + m_isRightToLeft: 0 + m_fontAsset: {fileID: 11400000, guid: e7da174c677019b49aa681250aa4ded8, type: 2} + m_sharedMaterial: {fileID: -7878122246201655599, guid: e7da174c677019b49aa681250aa4ded8, type: 2} + m_fontSharedMaterials: [] + m_fontMaterial: {fileID: 0} + m_fontMaterials: [] + m_fontColor32: + serializedVersion: 2 + rgba: 4278190335 + m_fontColor: {r: 1, g: 0, b: 0, a: 1} + m_enableVertexGradient: 0 + m_colorMode: 3 + m_fontColorGradient: + topLeft: {r: 1, g: 1, b: 1, a: 1} + topRight: {r: 1, g: 1, b: 1, a: 1} + bottomLeft: {r: 1, g: 1, b: 1, a: 1} + bottomRight: {r: 1, g: 1, b: 1, a: 1} + m_fontColorGradientPreset: {fileID: 0} + m_spriteAsset: {fileID: 0} + m_tintAllSprites: 0 + m_StyleSheet: {fileID: 0} + m_TextStyleHashCode: -1183493901 + m_overrideHtmlColors: 0 + m_faceColor: + serializedVersion: 2 + rgba: 4294967295 + m_fontSize: 24 + m_fontSizeBase: 24 + m_fontWeight: 400 + m_enableAutoSizing: 0 + m_fontSizeMin: 18 + m_fontSizeMax: 72 + m_fontStyle: 0 + m_HorizontalAlignment: 2 + m_VerticalAlignment: 512 + m_textAlignment: 65535 + m_characterSpacing: 0 + m_wordSpacing: 0 + m_lineSpacing: 0 + m_lineSpacingMax: 0 + m_paragraphSpacing: 0 + m_charWidthMaxAdj: 0 + m_enableWordWrapping: 1 + m_wordWrappingRatios: 0.4 + m_overflowMode: 0 + m_linkedTextComponent: {fileID: 0} + parentLinkedComponent: {fileID: 0} + m_enableKerning: 1 + m_enableExtraPadding: 0 + checkPaddingRequired: 0 + m_isRichText: 1 + m_parseCtrlCharacters: 1 + m_isOrthographic: 1 + m_isCullingEnabled: 0 + m_horizontalMapping: 0 + m_verticalMapping: 0 + m_uvLineOffset: 0 + m_geometrySortingOrder: 0 + m_IsTextObjectScaleStatic: 0 + m_VertexBufferAutoSizeReduction: 0 + m_useMaxVisibleDescender: 1 + m_pageToDisplay: 1 + m_margin: {x: 0, y: 0, z: 0, w: 0} + m_isUsingLegacyAnimationComponent: 0 + m_isVolumetricText: 0 + m_hasFontAssetChanged: 0 + m_baseMaterial: {fileID: 0} + m_maskOffset: {x: 0, y: 0, z: 0, w: 0} +--- !u!1 &7452435723576309381 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1264121378949306667} + - component: {fileID: 6079762615507445171} + - component: {fileID: 4700084135801314771} + m_Layer: 0 + m_Name: Background + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1264121378949306667 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7452435723576309381} + 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: 857771760272880181} + m_Father: {fileID: 3033046206669775460} + 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 &6079762615507445171 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7452435723576309381} + m_CullTransparentMesh: 1 +--- !u!114 &4700084135801314771 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7452435723576309381} + 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: 1} + 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: 10905, guid: 0000000000000000f000000000000000, type: 0} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 diff --git a/Assets/Art/UIPrefab/UIBody3D.prefab.meta b/Assets/Art/UIPrefab/UIBody3D.prefab.meta new file mode 100644 index 00000000..3f39ff36 --- /dev/null +++ b/Assets/Art/UIPrefab/UIBody3D.prefab.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 0bacd7eaa5caa8e45b31638d8468adbb +PrefabImporter: + externalObjects: {} + userData: + assetBundleName: uibody3d_prefab + assetBundleVariant: diff --git a/Assets/Scenes/Main.unity b/Assets/Scenes/Main.unity index 92e7db60..f97d201d 100644 --- a/Assets/Scenes/Main.unity +++ b/Assets/Scenes/Main.unity @@ -876,10 +876,12 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: 35f672d48a4ed2349bb724d185d6a153, type: 3} m_Name: m_EditorClassIdentifier: - target: {fileID: 0} + targetPos: {x: 0, y: 0, z: 0} rotateSpeed: 10 moveSpeed: 0.1 distance: 0.5 + distanceMin: 0.2 + distanceMax: 20 pitchMinMax: {x: -20, y: 80} --- !u!222 &102363872365703344 CanvasRenderer: diff --git a/Assets/Scenes/TestUIPanels/TestUIBody3D.unity b/Assets/Scenes/TestUIPanels/TestUIBody3D.unity new file mode 100644 index 00000000..d0a8cd51 --- /dev/null +++ b/Assets/Scenes/TestUIPanels/TestUIBody3D.unity @@ -0,0 +1,847 @@ +%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, g: 0, b: 0, 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: 3 + 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 + buildHeightMesh: 0 + maxJobWorkers: 0 + preserveTilesOutsideBounds: 0 + debug: + m_Flags: 0 + m_NavMeshData: {fileID: 0} +--- !u!1 &84472382 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 84472387} + - component: {fileID: 84472386} + - component: {fileID: 84472385} + - component: {fileID: 84472384} + - component: {fileID: 84472383} + m_Layer: 5 + m_Name: UIRoot + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &84472383 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 84472382} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: d2db7fffd623c478eba3d2cb84034d2f, type: 3} + m_Name: + m_EditorClassIdentifier: + UICamera: {fileID: 1454326730} + Canvas: {fileID: 84472386} + CanvasScaler: {fileID: 84472385} + GraphicRaycaster: {fileID: 84472384} + Bg: {fileID: 1926430391} + Common: {fileID: 312401128} + PopUI: {fileID: 1346723284} + RightBottom: {fileID: 1548681952} + CanvasPanel: {fileID: 122481695} +--- !u!114 &84472384 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 84472382} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: dc42784cf147c0c48a680349fa168899, type: 3} + m_Name: + m_EditorClassIdentifier: + m_IgnoreReversedGraphics: 0 + m_BlockingObjects: 0 + m_BlockingMask: + serializedVersion: 2 + m_Bits: 4294967295 +--- !u!114 &84472385 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 84472382} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 0cd44c1031e13a943bb63640046fad76, type: 3} + m_Name: + m_EditorClassIdentifier: + m_UiScaleMode: 1 + m_ReferencePixelsPerUnit: 100 + m_ScaleFactor: 1 + m_ReferenceResolution: {x: 1920, y: 1080} + m_ScreenMatchMode: 0 + m_MatchWidthOrHeight: 0.5 + m_PhysicalUnit: 3 + m_FallbackScreenDPI: 96 + m_DefaultSpriteDPI: 96 + m_DynamicPixelsPerUnit: 1 + m_PresetInfoIsWorld: 0 +--- !u!223 &84472386 +Canvas: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 84472382} + m_Enabled: 1 + serializedVersion: 3 + m_RenderMode: 0 + m_Camera: {fileID: 1454326730} + m_PlaneDistance: 100 + m_PixelPerfect: 0 + m_ReceivesEvents: 1 + m_OverrideSorting: 0 + m_OverridePixelPerfect: 0 + m_SortingBucketNormalizedSize: 0 + m_VertexColorAlwaysGammaSpace: 0 + m_AdditionalShaderChannelsFlag: 1 + m_UpdateRectTransformForStandalone: 0 + m_SortingLayerID: 0 + m_SortingOrder: 100 + m_TargetDisplay: 0 +--- !u!224 &84472387 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 84472382} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 0, y: 0, z: 0} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 1926430391} + - {fileID: 312401128} + - {fileID: 1346723284} + - {fileID: 1548681952} + - {fileID: 122481695} + - {fileID: 765579123} + - {fileID: 1222881175} + - {fileID: 1454326732} + - {fileID: 754857739} + m_Father: {fileID: 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: 0} + m_Pivot: {x: 0, y: 0} +--- !u!1 &122481694 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 122481695} + m_Layer: 5 + m_Name: CanvasPanel + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &122481695 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 122481694} + 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: 84472387} + 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!1 &312401127 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 312401128} + m_Layer: 5 + m_Name: Common + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &312401128 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 312401127} + 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: 84472387} + 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!1 &754857738 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 754857739} + - component: {fileID: 754857740} + m_Layer: 5 + m_Name: Manager + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &754857739 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 754857738} + 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: 84472387} + 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!114 &754857740 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 754857738} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5dc84f25d84334e168bf64050b91e1fb, type: 3} + m_Name: + m_EditorClassIdentifier: +--- !u!1 &765579122 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 765579123} + - component: {fileID: 765579124} + m_Layer: 5 + m_Name: Design + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &765579123 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 765579122} + 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: 3979215280423838953} + m_Father: {fileID: 84472387} + 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!114 &765579124 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 765579122} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 6eba024ea32574239b57b098f1dc6282, type: 3} + m_Name: + m_EditorClassIdentifier: +--- !u!1 &1222881174 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1222881175} + - component: {fileID: 1222881177} + - component: {fileID: 1222881176} + m_Layer: 5 + m_Name: EventSystem + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1222881175 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1222881174} + serializedVersion: 2 + 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: 84472387} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &1222881176 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1222881174} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 4f231c4fb786f3946a6b90b886c48677, type: 3} + m_Name: + m_EditorClassIdentifier: + m_SendPointerHoverToParent: 1 + m_HorizontalAxis: Horizontal + m_VerticalAxis: Vertical + m_SubmitButton: Submit + m_CancelButton: Cancel + m_InputActionsPerSecond: 10 + m_RepeatDelay: 0.5 + m_ForceModuleActive: 1 +--- !u!114 &1222881177 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1222881174} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 76c392e42b5098c458856cdf6ecaaaa1, type: 3} + m_Name: + m_EditorClassIdentifier: + m_FirstSelected: {fileID: 0} + m_sendNavigationEvents: 1 + m_DragThreshold: 5 +--- !u!1 &1346723283 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1346723284} + m_Layer: 5 + m_Name: PopUI + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1346723284 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1346723283} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1.0000799, y: 1.0000799, z: 1.0000799} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 84472387} + 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!1 &1454326729 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1454326732} + - component: {fileID: 1454326730} + - component: {fileID: 1454326731} + m_Layer: 5 + m_Name: UICamera + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 0 +--- !u!20 &1454326730 +Camera: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1454326729} + m_Enabled: 1 + serializedVersion: 2 + m_ClearFlags: 3 + m_BackGroundColor: {r: 0.19215687, g: 0.3019608, b: 0.4745098, a: 0.019607844} + m_projectionMatrixMode: 1 + m_GateFitMode: 2 + m_FOVAxisMode: 0 + m_Iso: 200 + m_ShutterSpeed: 0.005 + m_Aperture: 16 + m_FocusDistance: 10 + m_FocalLength: 50 + m_BladeCount: 5 + m_Curvature: {x: 2, y: 11} + m_BarrelClipping: 0.25 + m_Anamorphism: 0 + m_SensorSize: {x: 36, y: 24} + m_LensShift: {x: 0, y: 0} + 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: 1 + orthographic size: 5 + m_Depth: 99 + m_CullingMask: + serializedVersion: 2 + m_Bits: 32 + m_RenderingPath: -1 + m_TargetTexture: {fileID: 0} + m_TargetDisplay: 0 + m_TargetEye: 3 + m_HDR: 0 + m_AllowMSAA: 1 + m_AllowDynamicResolution: 0 + m_ForceIntoRT: 0 + m_OcclusionCulling: 1 + m_StereoConvergence: 10 + m_StereoSeparation: 0.022 +--- !u!124 &1454326731 +Behaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1454326729} + m_Enabled: 1 +--- !u!4 &1454326732 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1454326729} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: -100} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 84472387} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1548681951 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1548681952} + - component: {fileID: 1548681955} + - component: {fileID: 1548681954} + - component: {fileID: 1548681953} + m_Layer: 5 + m_Name: RightBottom + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1548681952 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1548681951} + 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: 84472387} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 1, y: 0} + m_AnchorMax: {x: 1, y: 0} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 1828.92, y: 0} + m_Pivot: {x: 1, y: -0.000000461936} +--- !u!222 &1548681953 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1548681951} + m_CullTransparentMesh: 1 +--- !u!114 &1548681954 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1548681951} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 3245ec927659c4140ac4f8d17403cc18, type: 3} + m_Name: + m_EditorClassIdentifier: + m_HorizontalFit: 0 + m_VerticalFit: 2 +--- !u!114 &1548681955 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1548681951} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 59f8146938fff824cb5fd77236b75775, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Padding: + m_Left: 0 + m_Right: 0 + m_Top: 10 + m_Bottom: 10 + m_ChildAlignment: 8 + m_Spacing: 10 + m_ChildForceExpandWidth: 0 + m_ChildForceExpandHeight: 0 + m_ChildControlWidth: 1 + m_ChildControlHeight: 1 + m_ChildScaleWidth: 0 + m_ChildScaleHeight: 1 + m_ReverseArrangement: 1 +--- !u!1 &1926430390 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1926430391} + m_Layer: 5 + m_Name: Bg + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1926430391 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1926430390} + 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: 84472387} + 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!1001 &3979215280423838952 +PrefabInstance: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + serializedVersion: 3 + m_TransformParent: {fileID: 765579123} + m_Modifications: + - target: {fileID: 1062102287437619772, guid: 0bacd7eaa5caa8e45b31638d8468adbb, type: 3} + propertyPath: m_Pivot.x + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 1062102287437619772, guid: 0bacd7eaa5caa8e45b31638d8468adbb, type: 3} + propertyPath: m_Pivot.y + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 1062102287437619772, guid: 0bacd7eaa5caa8e45b31638d8468adbb, type: 3} + propertyPath: m_AnchorMax.x + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 1062102287437619772, guid: 0bacd7eaa5caa8e45b31638d8468adbb, type: 3} + propertyPath: m_AnchorMax.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 1062102287437619772, guid: 0bacd7eaa5caa8e45b31638d8468adbb, type: 3} + propertyPath: m_AnchorMin.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1062102287437619772, guid: 0bacd7eaa5caa8e45b31638d8468adbb, type: 3} + propertyPath: m_AnchorMin.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1062102287437619772, guid: 0bacd7eaa5caa8e45b31638d8468adbb, type: 3} + propertyPath: m_SizeDelta.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1062102287437619772, guid: 0bacd7eaa5caa8e45b31638d8468adbb, type: 3} + propertyPath: m_SizeDelta.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1062102287437619772, guid: 0bacd7eaa5caa8e45b31638d8468adbb, type: 3} + propertyPath: m_LocalPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1062102287437619772, guid: 0bacd7eaa5caa8e45b31638d8468adbb, type: 3} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1062102287437619772, guid: 0bacd7eaa5caa8e45b31638d8468adbb, type: 3} + propertyPath: m_LocalPosition.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1062102287437619772, guid: 0bacd7eaa5caa8e45b31638d8468adbb, type: 3} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 1062102287437619772, guid: 0bacd7eaa5caa8e45b31638d8468adbb, type: 3} + propertyPath: m_LocalRotation.x + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 1062102287437619772, guid: 0bacd7eaa5caa8e45b31638d8468adbb, type: 3} + propertyPath: m_LocalRotation.y + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 1062102287437619772, guid: 0bacd7eaa5caa8e45b31638d8468adbb, type: 3} + propertyPath: m_LocalRotation.z + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 1062102287437619772, guid: 0bacd7eaa5caa8e45b31638d8468adbb, type: 3} + propertyPath: m_AnchoredPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1062102287437619772, guid: 0bacd7eaa5caa8e45b31638d8468adbb, type: 3} + propertyPath: m_AnchoredPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1062102287437619772, guid: 0bacd7eaa5caa8e45b31638d8468adbb, type: 3} + propertyPath: m_LocalEulerAnglesHint.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1062102287437619772, guid: 0bacd7eaa5caa8e45b31638d8468adbb, type: 3} + propertyPath: m_LocalEulerAnglesHint.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1062102287437619772, guid: 0bacd7eaa5caa8e45b31638d8468adbb, type: 3} + propertyPath: m_LocalEulerAnglesHint.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4176334827250963918, guid: 0bacd7eaa5caa8e45b31638d8468adbb, type: 3} + propertyPath: m_Name + value: UIBody3D + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_RemovedGameObjects: [] + m_AddedGameObjects: [] + m_AddedComponents: [] + m_SourcePrefab: {fileID: 100100000, guid: 0bacd7eaa5caa8e45b31638d8468adbb, type: 3} +--- !u!224 &3979215280423838953 stripped +RectTransform: + m_CorrespondingSourceObject: {fileID: 1062102287437619772, guid: 0bacd7eaa5caa8e45b31638d8468adbb, type: 3} + m_PrefabInstance: {fileID: 3979215280423838952} + m_PrefabAsset: {fileID: 0} +--- !u!1660057539 &9223372036854775807 +SceneRoots: + m_ObjectHideFlags: 0 + m_Roots: + - {fileID: 84472387} diff --git a/Assets/Scenes/TestUIPanels/TestUIBody3D.unity.meta b/Assets/Scenes/TestUIPanels/TestUIBody3D.unity.meta new file mode 100644 index 00000000..b4084391 --- /dev/null +++ b/Assets/Scenes/TestUIPanels/TestUIBody3D.unity.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: d3d9bb9f95743d242adb5a4b67c46898 +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/Actions/ActionHelper.cs b/Assets/Scripts/Actions/ActionHelper.cs index db93bdee..9f784489 100644 --- a/Assets/Scripts/Actions/ActionHelper.cs +++ b/Assets/Scripts/Actions/ActionHelper.cs @@ -23,6 +23,7 @@ public class ActionHelper { "UIScore", typeof(QFramework.Example.UIScore) }, { "UIImageTip", typeof(QFramework.Example.UIImageTip) }, { "UI3DObjShow", typeof(QFramework.Example.UI3DObjShow) }, + { "UIBody3D", typeof(QFramework.Example.UIBody3D) }, }; diff --git a/Assets/Scripts/UI/UIBody3D.Designer.cs b/Assets/Scripts/UI/UIBody3D.Designer.cs new file mode 100644 index 00000000..a7b262aa --- /dev/null +++ b/Assets/Scripts/UI/UIBody3D.Designer.cs @@ -0,0 +1,49 @@ +using System; +using UnityEngine; +using UnityEngine.UI; +using QFramework; + +namespace QFramework.Example +{ + // Generate Id:bebdc4e7-6617-4dcd-b971-e94fd69677e1 + public partial class UIBody3D + { + public const string Name = "UIBody3D"; + + [SerializeField] + public RectTransform BodyContent; + [SerializeField] + public UnityEngine.UI.Toggle BodyItem; + + private UIBody3DData mPrivateData = null; + + protected override void ClearUIComponents() + { + BodyContent = null; + BodyItem = null; + + mData = null; + } + + public UIBody3DData Data + { + get + { + return mData; + } + } + + UIBody3DData mData + { + get + { + return mPrivateData ?? (mPrivateData = new UIBody3DData()); + } + set + { + mUIData = value; + mPrivateData = value; + } + } + } +} diff --git a/Assets/Scripts/UI/UIBody3D.Designer.cs.meta b/Assets/Scripts/UI/UIBody3D.Designer.cs.meta new file mode 100644 index 00000000..56cdbc51 --- /dev/null +++ b/Assets/Scripts/UI/UIBody3D.Designer.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: cb4bdd89ef4aad748969cce095b91349 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/UI/UIBody3D.cs b/Assets/Scripts/UI/UIBody3D.cs new file mode 100644 index 00000000..546ea95e --- /dev/null +++ b/Assets/Scripts/UI/UIBody3D.cs @@ -0,0 +1,52 @@ +using UnityEngine; +using UnityEngine.UI; +using QFramework; +using XMLTool; +using TMPro; +using System.Drawing; + +namespace QFramework.Example +{ + public class UIBody3DData : UIPanelData + { + } + public partial class UIBody3D : UIPanel + { + protected override void OnInit(IUIData uiData = null) + { + mData = uiData as UIBody3DData ?? new UIBody3DData(); + // please add init code here + } + + protected override void OnOpen(IUIData uiData = null) + { + BodyContent.RemoveAllChildren(); + + foreach (var body in Global.Instance.curModule.body3d.bodys) + { + var bodyItem = GameObject.Instantiate(BodyItem.gameObject, BodyContent); + bodyItem.transform.Find("Label").GetComponent().text = body.Value.Name; + var bodyToggle = bodyItem.GetComponent(); + bodyToggle.isOn = body.Value.isShow; + bodyToggle.onValueChanged.AddListener(isOn => + { + Utility.FindObj(body.Value.Path).SetActive(isOn); + }); + Utility.FindObj(body.Value.Path).SetActive(body.Value.isShow); + + } + } + + protected override void OnShow() + { + } + + protected override void OnHide() + { + } + + protected override void OnClose() + { + } + } +} diff --git a/Assets/Scripts/UI/UIBody3D.cs.meta b/Assets/Scripts/UI/UIBody3D.cs.meta new file mode 100644 index 00000000..3dfd2347 --- /dev/null +++ b/Assets/Scripts/UI/UIBody3D.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: e84d6d3749854e844b5245f304121259 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/Xml/XmlParser.cs b/Assets/Scripts/Xml/XmlParser.cs index 8b3d7ef0..950e6925 100644 --- a/Assets/Scripts/Xml/XmlParser.cs +++ b/Assets/Scripts/Xml/XmlParser.cs @@ -1,14 +1,8 @@ -using Microsoft.SqlServer.Server; -using QFramework; using QFramework.Example; using System.Collections.Generic; -using System.Drawing; using System.Linq; using System.Xml.Linq; -using UnityEditor.ShaderGraph.Internal; using UnityEngine; -using static QFramework.Example.UIInputData; -using static UnityEditor.Progress; namespace XMLTool { public class AppData @@ -36,6 +30,8 @@ namespace XMLTool public Dictionary ActionDict { get; set; } public Score score; + + public Body3D body3d; } public class Device @@ -163,6 +159,23 @@ namespace XMLTool public List SubSteps { get; set; } } + + public class Body3D + { + public class Body + { + public string Name { get; set; } + public string Path { get; set; } + public bool isShow = false; + public List Children { get; set; } = new List(); + } + + + public Dictionary bodys = new Dictionary(); + } + + + public class XmlParser { public static AppData ParseXml(string xmlString) @@ -300,7 +313,7 @@ namespace XMLTool } module.FSM.Add(fsm.Name, fsm); } - + // б foreach (var operationNode in moduleElement.Elements("Operation")) { //module.Operations @@ -325,8 +338,17 @@ namespace XMLTool } module.Operations.Add(op); } - - + // 3DBody + var body3d = moduleElement.Element("Body3D"); + if (body3d != null) + { + module.body3d = new Body3D(); + foreach (var item in body3d.Elements("Body")) + { + var body = ParseBody(item); + module.body3d.bodys.Add(body.Name, body); + } + } XElement scoreNode = moduleElement.Element("Score"); if (scoreNode != null) { @@ -348,6 +370,28 @@ namespace XMLTool } } } + private static Body3D.Body ParseBody(XElement bodyElement) + { + Body3D.Body body = new Body3D.Body + { + Name = bodyElement.Attribute("name")?.Value, + Path = bodyElement.Attribute("path")?.Value + }; + + var isShow = bodyElement.Attribute("isShow"); + if (isShow != null) + { + bool.TryParse(isShow.Value, out body.isShow); + } + foreach (var childElement in bodyElement.Elements("Body")) + { + body.Children.Add(ParseBody(childElement)); + } + + return body; + } + + public static Step ParserStep(XElement stepNode, Step parent) {