From 05770536525314c1bb8f640fcd4a3f1e6f1fab6d Mon Sep 17 00:00:00 2001 From: shenjianxing <”315615051@qq.com“> Date: Thu, 9 Jan 2025 15:06:14 +0800 Subject: [PATCH 1/3] =?UTF-8?q?=E9=94=81=E5=AE=9A=E9=95=9C=E5=A4=B4?= =?UTF-8?q?=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Assets/Scripts/Actions/ActionHelper.cs | 4 ++-- Assets/Scripts/Actions/CameraLockAction.cs | 7 ++++--- Assets/Scripts/Xml/XmlParser.cs | 14 +++----------- 3 files changed, 9 insertions(+), 16 deletions(-) diff --git a/Assets/Scripts/Actions/ActionHelper.cs b/Assets/Scripts/Actions/ActionHelper.cs index 813c31c2..aa776072 100644 --- a/Assets/Scripts/Actions/ActionHelper.cs +++ b/Assets/Scripts/Actions/ActionHelper.cs @@ -157,8 +157,8 @@ public class ActionHelper } case "CameraLock": { - var strAction = (XMLTool.StringListAction)act; - return CameraLockAction.Allocate(strAction.args[0], strAction.args[1]); + var strAction = (XMLTool.DictionaryAction)act; + return CameraLockAction.Allocate(strAction.args); } case "Video": { diff --git a/Assets/Scripts/Actions/CameraLockAction.cs b/Assets/Scripts/Actions/CameraLockAction.cs index 5a2d87bc..2dd41eae 100644 --- a/Assets/Scripts/Actions/CameraLockAction.cs +++ b/Assets/Scripts/Actions/CameraLockAction.cs @@ -1,4 +1,5 @@ using System; +using System.Collections.Generic; using UnityEngine; namespace QFramework @@ -18,14 +19,14 @@ namespace QFramework new SimpleObjectPool(() => new CameraLockAction(), null, 10); string isMove; string isRotate; - public static CameraLockAction Allocate(string isMove, string isRotate, System.Action OnFinished = null) + public static CameraLockAction Allocate(Dictionary datas, System.Action OnFinished = null) { var retNode = mPool.Allocate(); retNode.ActionID = ActionKit.ID_GENERATOR++; retNode.Deinited = false; retNode.Reset(); - retNode.isMove = isMove; - retNode.isRotate = isRotate; + retNode.isMove = datas.ContainsKey("isMove") ? datas["isMove"] : "true"; + retNode.isRotate = datas.ContainsKey("isRotate") ? datas["isRotate"] : "true"; retNode.OnFinished = OnFinished; return retNode; } diff --git a/Assets/Scripts/Xml/XmlParser.cs b/Assets/Scripts/Xml/XmlParser.cs index c72821f9..970508a6 100644 --- a/Assets/Scripts/Xml/XmlParser.cs +++ b/Assets/Scripts/Xml/XmlParser.cs @@ -676,24 +676,16 @@ namespace XMLTool break; case "CameraLock": { - var act = new StringListAction(); + var act = new DictionaryAction(); XAttribute isMove = action.Attribute("isMove"); if (isMove != null) { - act.args.Add(isMove.Value); - } - else - { - act.args.Add("true"); + act.args.Add("isMove", isMove.Value); } XAttribute isRotate = action.Attribute("isRotate"); if (isRotate != null) { - act.args.Add(isRotate.Value); - } - else - { - act.args.Add("true"); + act.args.Add("isRotate", isRotate.Value); } newAction = act; } From 5017235f09f1d750d51bc4a2b52a77f700fdd2a4 Mon Sep 17 00:00:00 2001 From: shenjianxing <”315615051@qq.com“> Date: Thu, 9 Jan 2025 15:07:31 +0800 Subject: [PATCH 2/3] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E9=85=8D=E7=BD=AE?= =?UTF-8?q?=E8=AF=B4=E6=98=8E?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Doc/Xml配置文档.xml | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/Doc/Xml配置文档.xml b/Doc/Xml配置文档.xml index ff8c6aaf..c8c19d72 100644 --- a/Doc/Xml配置文档.xml +++ b/Doc/Xml配置文档.xml @@ -51,13 +51,12 @@ - + - - + + @@ -129,7 +128,7 @@ From cff16c54cf8fa2c12a8a94571f883769f6d371d5 Mon Sep 17 00:00:00 2001 From: shenjianxing <”315615051@qq.com“> Date: Thu, 9 Jan 2025 15:52:57 +0800 Subject: [PATCH 3/3] =?UTF-8?q?=E5=88=A4=E6=96=ADloop=E6=83=85=E5=86=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Assets/Scripts/Actions/AnimationAction.cs | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/Assets/Scripts/Actions/AnimationAction.cs b/Assets/Scripts/Actions/AnimationAction.cs index 4cf89710..dedeaf82 100644 --- a/Assets/Scripts/Actions/AnimationAction.cs +++ b/Assets/Scripts/Actions/AnimationAction.cs @@ -83,6 +83,10 @@ namespace QFramework } anim[animName].speed = curSpeed; anim.Play(animName); + if (anim[animName].wrapMode== WrapMode.Loop) + { + this.Finish(); + } } } catch (Exception)