扩展动画Action 新增reset参数
This commit is contained in:
parent
10a16efdf5
commit
badd820b23
@ -10,10 +10,6 @@ namespace XMLTool
|
|||||||
public float time;
|
public float time;
|
||||||
}
|
}
|
||||||
|
|
||||||
public class AnimationAction : Action
|
|
||||||
{
|
|
||||||
public string animName;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
public class StringListAction : Action
|
public class StringListAction : Action
|
||||||
|
|||||||
@ -99,8 +99,10 @@ public class ActionHelper
|
|||||||
case "Btns":
|
case "Btns":
|
||||||
return BtnsAction.Allocate(act.Value);
|
return BtnsAction.Allocate(act.Value);
|
||||||
case "Anim":
|
case "Anim":
|
||||||
var anim = (XMLTool.AnimationAction)act;
|
{
|
||||||
return QFramework.AnimationAction.Allocate(anim.Value, anim.animName);
|
var strAction = (XMLTool.StringListAction)act;
|
||||||
|
return QFramework.AnimationAction.Allocate(act.Value, strAction.args[0], strAction.args[1]);
|
||||||
|
}
|
||||||
case "UITools":
|
case "UITools":
|
||||||
{
|
{
|
||||||
var strAction = (XMLTool.StringListAction)act;
|
var strAction = (XMLTool.StringListAction)act;
|
||||||
|
|||||||
@ -20,15 +20,17 @@ namespace QFramework
|
|||||||
|
|
||||||
string path;
|
string path;
|
||||||
string animName;
|
string animName;
|
||||||
|
bool reset = false;
|
||||||
Animation anim;
|
Animation anim;
|
||||||
public static AnimationAction Allocate(string path, string animName, System.Action OnFinished = null)
|
public static AnimationAction Allocate(string path, string animName, string reset, System.Action OnFinished = null)
|
||||||
{
|
{
|
||||||
var retNode = mPool.Allocate();
|
var retNode = mPool.Allocate();
|
||||||
retNode.ActionID = ActionKit.ID_GENERATOR++;
|
retNode.ActionID = ActionKit.ID_GENERATOR++;
|
||||||
retNode.Deinited = false;
|
retNode.Deinited = false;
|
||||||
|
retNode.Reset();
|
||||||
retNode.path = path;
|
retNode.path = path;
|
||||||
retNode.animName = animName;
|
retNode.animName = animName;
|
||||||
retNode.Reset();
|
bool.TryParse(reset, out retNode.reset);
|
||||||
retNode.OnFinished = OnFinished;
|
retNode.OnFinished = OnFinished;
|
||||||
return retNode;
|
return retNode;
|
||||||
}
|
}
|
||||||
@ -44,6 +46,10 @@ namespace QFramework
|
|||||||
{
|
{
|
||||||
anim = obj.GetComponent<Animation>();
|
anim = obj.GetComponent<Animation>();
|
||||||
anim.Play(animName);
|
anim.Play(animName);
|
||||||
|
if (reset)
|
||||||
|
{
|
||||||
|
ActionKit.DelayFrame(1, () => anim.Stop());
|
||||||
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
|||||||
@ -317,8 +317,26 @@ namespace XMLTool
|
|||||||
break;
|
break;
|
||||||
case "Anim":
|
case "Anim":
|
||||||
{
|
{
|
||||||
var act = new AnimationAction();
|
var act = new StringListAction();
|
||||||
act.animName = action.Attribute("animName").Value;
|
var animName = action.Attribute("animName");
|
||||||
|
if (animName != null)
|
||||||
|
{
|
||||||
|
act.args.Add(animName.Value);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
act.args.Add("");
|
||||||
|
}
|
||||||
|
var reset = action.Attribute("reset");
|
||||||
|
if (reset != null)
|
||||||
|
{
|
||||||
|
act.args.Add(reset.Value);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
act.args.Add("false");
|
||||||
|
}
|
||||||
|
|
||||||
newAction = act;
|
newAction = act;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|||||||
@ -15,8 +15,8 @@
|
|||||||
<Action type="Rotate" value="Main Camera" to="0,180,0" time="0"></Action>
|
<Action type="Rotate" value="Main Camera" to="0,180,0" time="0"></Action>
|
||||||
<!--执行下一步左侧步骤列表 默认开始的时候为-1步 要主动调用一次才到第1步-->
|
<!--执行下一步左侧步骤列表 默认开始的时候为-1步 要主动调用一次才到第1步-->
|
||||||
<Action type="NextOperation"></Action>
|
<Action type="NextOperation"></Action>
|
||||||
<!--播放动画-->
|
<!--播放动画 reset=true则动画停在第一帧-->
|
||||||
<Action type="Anim" value="物体路径" animName="动画名字"></Action>
|
<Action type="Anim" value="物体路径" animName="动画名字" reset="false"></Action>
|
||||||
<!--右下角生成按钮 可生成多个 用逗号分开-->
|
<!--右下角生成按钮 可生成多个 用逗号分开-->
|
||||||
<Action type="Btns" value="按钮1,按钮2,按钮3"></Action>
|
<Action type="Btns" value="按钮1,按钮2,按钮3"></Action>
|
||||||
<!--用于右侧道具栏选择正确的道具 event用于配合StrEventCondition 做检测 -->
|
<!--用于右侧道具栏选择正确的道具 event用于配合StrEventCondition 做检测 -->
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user