diff --git a/Assets/Art/UIPrefab/UIGuideTip.prefab b/Assets/Art/UIPrefab/UIGuideTip.prefab index e3f09a58..fdb3b02a 100644 --- a/Assets/Art/UIPrefab/UIGuideTip.prefab +++ b/Assets/Art/UIPrefab/UIGuideTip.prefab @@ -71,7 +71,7 @@ GameObject: m_Icon: {fileID: 0} m_NavMeshLayer: 0 m_StaticEditorFlags: 0 - m_IsActive: 1 + m_IsActive: 0 --- !u!224 &1177232684554755630 RectTransform: m_ObjectHideFlags: 0 diff --git a/Assets/Projects/~$(数学)立体几何体认知与计算脚本(2).xlsx.meta b/Assets/Projects/~$(数学)立体几何体认知与计算脚本(2).xlsx.meta index e459ec1d..309f558a 100644 --- a/Assets/Projects/~$(数学)立体几何体认知与计算脚本(2).xlsx.meta +++ b/Assets/Projects/~$(数学)立体几何体认知与计算脚本(2).xlsx.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: 05b7496d94e7d684a8bf1c3320f42908 +guid: df2e785befb47a243b3607ae7a6e5508 DefaultImporter: externalObjects: {} userData: diff --git a/Assets/Projects/(数学)立体几何体认知与计算脚本(2).xlsx b/Assets/Projects/(数学)立体几何体认知与计算脚本(2).xlsx index d1751bcd..3712b72a 100644 Binary files a/Assets/Projects/(数学)立体几何体认知与计算脚本(2).xlsx and b/Assets/Projects/(数学)立体几何体认知与计算脚本(2).xlsx differ diff --git a/Assets/QFramework/Toolkits/_CoreKit/ActionKit/Scripts/Utility/Utility.cs b/Assets/QFramework/Toolkits/_CoreKit/ActionKit/Scripts/Utility/Utility.cs index 97e67a82..28f3df67 100644 --- a/Assets/QFramework/Toolkits/_CoreKit/ActionKit/Scripts/Utility/Utility.cs +++ b/Assets/QFramework/Toolkits/_CoreKit/ActionKit/Scripts/Utility/Utility.cs @@ -451,6 +451,44 @@ public class Utility } } + /// + /// 去除字符串中的空格和空行 + /// + /// 输入字符串 + /// 是否移除所有空格(包括字符串内部的空格) + /// 处理后的字符串 + /// + //// 处理提示文本,保留内部空格但移除空行 + //string cleanTipText = Utility.RemoveSpacesAndEmptyLines(mData.tiptext); + //// 处理音频名称,移除所有空格 + //string cleanTipAudio = Utility.RemoveSpacesAndEmptyLines(mData.tipaudio, true); + public static string RemoveSpacesAndEmptyLines(string input, bool removeAllSpaces = false) + { + if (string.IsNullOrEmpty(input)) + return input; + // 分割字符串为行 + string[] lines = input.Split(new[] { '\n', '\r' }, StringSplitOptions.RemoveEmptyEntries); + + StringBuilder result = new StringBuilder(); + + foreach (string line in lines) + { + string trimmedLine = line.Trim(); + + if (string.IsNullOrEmpty(trimmedLine)) + continue; // 跳过空行 + + // 根据参数决定是否移除所有空格 + if (removeAllSpaces) + { + trimmedLine = trimmedLine.Replace(" ", ""); + } + + result.AppendLine(trimmedLine); + } + + return result.ToString().TrimEnd(); // 移除末尾的换行符 + } } \ No newline at end of file diff --git a/Assets/Scenes/ExamScenes/01_JiaoXue.unity b/Assets/Scenes/ExamScenes/01_JiaoXue.unity index 94911787..e88d1c32 100644 --- a/Assets/Scenes/ExamScenes/01_JiaoXue.unity +++ b/Assets/Scenes/ExamScenes/01_JiaoXue.unity @@ -657,7 +657,7 @@ Transform: m_GameObject: {fileID: 240304286} serializedVersion: 2 m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: -0.088, y: -0.011, z: 0.111} + m_LocalPosition: {x: -0.088, y: 0, z: 0.111} m_LocalScale: {x: 0.01, y: 0.01, z: 0.01} m_ConstrainProportionsScale: 0 m_Children: [] @@ -670,7 +670,7 @@ MeshRenderer: m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 240304286} - m_Enabled: 0 + m_Enabled: 1 m_CastShadows: 1 m_ReceiveShadows: 1 m_DynamicOccludee: 1 @@ -740,7 +740,7 @@ Transform: m_GameObject: {fileID: 248517710} serializedVersion: 2 m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: -0.192, y: 0.32, z: 0.111} + m_LocalPosition: {x: -0.2, y: 0.32, z: 0.111} m_LocalScale: {x: 0.01, y: 0.01, z: 0.01} m_ConstrainProportionsScale: 0 m_Children: [] @@ -753,7 +753,7 @@ MeshRenderer: m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 248517710} - m_Enabled: 0 + m_Enabled: 1 m_CastShadows: 1 m_ReceiveShadows: 1 m_DynamicOccludee: 1 @@ -841,7 +841,7 @@ MeshRenderer: m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 261523058} - m_Enabled: 0 + m_Enabled: 1 m_CastShadows: 1 m_ReceiveShadows: 1 m_DynamicOccludee: 1 @@ -1736,7 +1736,7 @@ PrefabInstance: objectReference: {fileID: 0} - target: {fileID: -3568217860067444917, guid: 377e2d7235d2ffd4684c67b1127d172f, type: 3} propertyPath: m_IsActive - value: 0 + value: 1 objectReference: {fileID: 0} - target: {fileID: -3568217860067444917, guid: 377e2d7235d2ffd4684c67b1127d172f, type: 3} propertyPath: m_StaticEditorFlags @@ -1828,7 +1828,7 @@ PrefabInstance: objectReference: {fileID: 0} - target: {fileID: 6047383785361520804, guid: 377e2d7235d2ffd4684c67b1127d172f, type: 3} propertyPath: m_IsActive - value: 1 + value: 0 objectReference: {fileID: 0} - target: {fileID: 6047383785361520804, guid: 377e2d7235d2ffd4684c67b1127d172f, type: 3} propertyPath: m_StaticEditorFlags @@ -2933,7 +2933,7 @@ Transform: m_GameObject: {fileID: 1020759834} serializedVersion: 2 m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: -0.009, y: 0.583, z: 0.2107} + m_LocalPosition: {x: 0.0007106997, y: 0.59896326, z: 0.20234376} m_LocalScale: {x: 0.01, y: 0.01, z: 0.01} m_ConstrainProportionsScale: 0 m_Children: [] @@ -2946,7 +2946,7 @@ MeshRenderer: m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1020759834} - m_Enabled: 0 + m_Enabled: 1 m_CastShadows: 1 m_ReceiveShadows: 1 m_DynamicOccludee: 1 @@ -3174,7 +3174,7 @@ Transform: m_GameObject: {fileID: 1032994694} serializedVersion: 2 m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: -0.009, y: 0.591, z: 0.109} + m_LocalPosition: {x: -0.0022, y: 0.5972, z: 0.109} m_LocalScale: {x: 0.01, y: 0.01, z: 0.01} m_ConstrainProportionsScale: 0 m_Children: [] @@ -3187,7 +3187,7 @@ MeshRenderer: m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1032994694} - m_Enabled: 0 + m_Enabled: 1 m_CastShadows: 1 m_ReceiveShadows: 1 m_DynamicOccludee: 1 @@ -4323,7 +4323,7 @@ Transform: m_GameObject: {fileID: 1434451487} serializedVersion: 2 m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: -0.106, y: 0.583, z: 0.111} + m_LocalPosition: {x: -0.106, y: 0.6034, z: 0.111} m_LocalScale: {x: 0.01, y: 0.01, z: 0.01} m_ConstrainProportionsScale: 0 m_Children: [] @@ -4336,7 +4336,7 @@ MeshRenderer: m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1434451487} - m_Enabled: 0 + m_Enabled: 1 m_CastShadows: 1 m_ReceiveShadows: 1 m_DynamicOccludee: 1 @@ -5715,7 +5715,7 @@ MeshRenderer: m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1822372371} - m_Enabled: 0 + m_Enabled: 1 m_CastShadows: 1 m_ReceiveShadows: 1 m_DynamicOccludee: 1 @@ -5911,7 +5911,7 @@ Transform: m_GameObject: {fileID: 1910722536} serializedVersion: 2 m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: 0.007, y: 0.32, z: 0.205} + m_LocalPosition: {x: -0.0015, y: 0.32, z: 0.1981} m_LocalScale: {x: 0.01, y: 0.01, z: 0.01} m_ConstrainProportionsScale: 0 m_Children: [] @@ -5924,7 +5924,7 @@ MeshRenderer: m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1910722536} - m_Enabled: 0 + m_Enabled: 1 m_CastShadows: 1 m_ReceiveShadows: 1 m_DynamicOccludee: 1 diff --git a/Assets/Scripts/Actions/GuideTipAction.cs b/Assets/Scripts/Actions/GuideTipAction.cs index 0de6bb14..daf9c866 100644 --- a/Assets/Scripts/Actions/GuideTipAction.cs +++ b/Assets/Scripts/Actions/GuideTipAction.cs @@ -63,7 +63,7 @@ namespace QFramework public void OnFinish() { - Debug.Log("Action OnFinish???"); + // Debug.Log("Action OnFinish???"); } public void OnStart() @@ -74,7 +74,8 @@ namespace QFramework data.showName = datas.ContainsKey("showName") ? datas["showName"] : string.Empty; data.offestPos= datas.ContainsKey("offSet") ? datas["offSet"] : string.Empty; //Ӹť ʾͬʾĹܡ - data.offestPos = datas.ContainsKey("tiptextAudio") ? datas["tiptextAudio"] : string.Empty; + data.tiptext = datas.ContainsKey("tiptext") ? datas["tiptext"] : string.Empty; + data.tipaudio = datas.ContainsKey("tipaudio") ? datas["tipaudio"] : string.Empty; UIKit.OpenPanelAsync(uiData: data, canvasLevel: UILevel.Common).ToAction().StartGlobal(() => { diff --git a/Assets/Scripts/UIGuidTip/UIGuideTip.cs b/Assets/Scripts/UIGuidTip/UIGuideTip.cs index edc25de9..073d28c9 100644 --- a/Assets/Scripts/UIGuidTip/UIGuideTip.cs +++ b/Assets/Scripts/UIGuidTip/UIGuideTip.cs @@ -8,6 +8,7 @@ using System.Collections.Generic; using System.Linq; using static UnityEngine.GraphicsBuffer; using UnityEngine.Assertions; +using static System.Net.Mime.MediaTypeNames; namespace QFramework.Example { @@ -20,8 +21,9 @@ namespace QFramework.Example public string offestPos; - public string tiptextAudio; - + public string tiptext; + public string tipaudio; + } public partial class UIGuideTip : UIPanel @@ -76,7 +78,8 @@ namespace QFramework.Example Debug.Log(mData); List Objs = mData.targets.Split(',')?.ToList(); List ShowTexts = mData.showName.Split(',')?.ToList(); - List textTip =mData.tiptextAudio.Split(',')?.ToList(); + List Tip = mData.tiptext.Split(',')?.ToList(); + List audio = mData.tipaudio.Split(',')?.ToList(); if (String.IsNullOrEmpty(mData.offestPos) == false) { @@ -85,7 +88,7 @@ namespace QFramework.Example for (int i = 0; i < TipOffects.Count; i++) { Vector3 TipOffect = Utility.GetVector3FromStrArray(TipOffects[i]); - Debug.Log(TipOffect + "??????????"); + // Debug.Log(TipOffect + "??????????"); TipOffectList.Add(TipOffect); } } @@ -103,11 +106,15 @@ namespace QFramework.Example TipItemList.Add(tipItemObj); tipItemObj.name = Objs[i]; GameObject target = GameObject.Find(Objs[i].ToString()); - if (target==null) + if (target == null) { Debug.Log("쳣ûҵ"); } - tipItemObj.GetComponentInChildren().text = ShowTexts[i]; + //Tip + tipItemObj.GetComponentInChildren().text = ShowTexts[i]; + + + UpdatePos( target, GetComponentInParent(), @@ -119,6 +126,55 @@ namespace QFramework.Example ); } + if (Tip.Count != 0 || audio.Count != 0) + { + // бСȣȷȫΧ + int minListCount = Math.Min(Tip.Count, audio.Count); + int buttonCount = TipItemList.Count; + + for (int i = 0; i < buttonCount; i++) + { + var tipButton = TipItemList[i].transform.Find("tip").GetComponent