diff --git a/Assets/Scripts/Actions/TimeLineAction.cs b/Assets/Scripts/Actions/TimeLineAction.cs index 114b435c..2b0c293d 100644 --- a/Assets/Scripts/Actions/TimeLineAction.cs +++ b/Assets/Scripts/Actions/TimeLineAction.cs @@ -22,6 +22,7 @@ public class TimeLineAction : IAction string frame; string endFrame; float curEndFrame = -1; + string speed = "1"; GameObject obj = null; PlayableDirector play = null; float fps = 24; @@ -38,6 +39,7 @@ public class TimeLineAction : IAction retNode.isWait = datas.ContainsKey("isWait") ? datas["isWait"] : "true"; retNode.frame = datas.ContainsKey("frame") ? datas["frame"] : string.Empty; retNode.endFrame = datas.ContainsKey("endFrame") ? datas["endFrame"] : string.Empty; + retNode.speed = datas.ContainsKey("speed") ? datas["speed"] : string.Empty; retNode.curEndFrame = -1; retNode.play = null; return retNode; @@ -102,6 +104,12 @@ public class TimeLineAction : IAction float.TryParse(frame, out curFrame); } play.time = curFrame / fps; + float curSpeed = 1; + if (float.TryParse(speed, out curSpeed) == false) + { + curSpeed = 1; + } + play.playableGraph.GetRootPlayable(0).SetSpeed(curSpeed); play.Play(); if (string.IsNullOrEmpty(endFrame) == false) diff --git a/Assets/Scripts/Xml/XmlParser.cs b/Assets/Scripts/Xml/XmlParser.cs index ad826cc4..d601aa03 100644 --- a/Assets/Scripts/Xml/XmlParser.cs +++ b/Assets/Scripts/Xml/XmlParser.cs @@ -1230,6 +1230,11 @@ namespace XMLTool { act.args.Add("endFrame", endFrame.Value); } + XAttribute speed = action.Attribute("speed"); + if (speed != null) + { + act.args.Add("speed", speed.Value); + } newAction = act; } break;