Unity插件学习记录 -- SW Actions

插件地址:https://www.assetstore.unity3d.com/cn/#!/content/69779

 

SequencialCompositeAction:按顺序执行Action。
例子:
UnityActions.Init();
IAction action = new SequencialCompositeAction(
      new Delay(TimeSpan.FromSeconds(2)),
      new DelegateAction(() => "Over".DebugLog())
      );
action.Execute();

 

ConcurrentCompositeAction:并行执行Action。
例子:
        UnityActions.Init();
        IAction action = new ConcurrentCompositeAction(
            new Delay(TimeSpan.FromSeconds(2)),
            new DelegateAction(() => "Over".DebugLog())
            );

        action.Execute();    

 

PredicateBasedDualAction:判断执行Action。(if else)

例子:

        UnityActions.Init();
        IAction action = new PredicateBasedDualAction(
            () => true,
            new DelegateAction(() => "True".DebugLog()),
            new DelegateAction(() => "False".DebugLog())
            );

        action.Execute();

 

PredicateBasedDecorator:判断是否执行Action。(if)

例子:

        UnityActions.Init();
        IAction action = new PredicateBasedDecorator(
            new DelegateAction(() => "True".DebugLog()),
            () => true
            );

        action.Execute();

 

ExceptionBasedDualAction<T>:当第一个Action捕获异常,将会执行第二个Action。

例子:

        UnityActions.Init();
        IAction action = new ExceptionBasedDualAction<ArgumentNullException>(
            new DelegateAction(() => myName.DebugLog()),
            new DelegateAction(() => "your name is null".DebugLog())
            );

        action.Execute();

 

TriggeredAction:当条件满足则触发Action并往下继续执行,否则停滞。

例子:

public bool condition;//在编辑器中手动赋值即可看到触发效果。
    private void Start() {
        UnityActions.Init();
        IAction action = new SequencialCompositeAction(
            new TriggeredAction(
                new AnonymousTrigger(() => condition),//自定义条件需要使用该类
                new DelegateAction(() => "Triggered".DebugLog())
                )
            );

        action.Execute();
    }

 

转载于:https://www.cnblogs.com/CodeSnippet/p/7412713.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值