コード例 #1
0
        public bool InitWithTwoActions(FiniteTimeAction action1, FiniteTimeAction action2)
        {
            if (action1 == null || action2 == null)
            {
                this.LogError("initWithTwoActions action is null!!");
            }
            bool ret = false;
            var  d1  = action1.Duration;
            var  d2  = action2.Duration;

            if (base.InitWithDuration(Math.Max(d1, d2)))
            {
                m_one = action1;
                m_two = action2;
                if (d1 > d2)
                {
                    m_two = Sequence.CreateWithTwoActions(action2, DelayTime.Create(d1 - d2));
                }
                else if (d1 < d2)
                {
                    m_one = Sequence.CreateWithTwoActions(action1, DelayTime.Create(d2 - d1));
                }
                ret = true;
            }
            return(ret);
        }
コード例 #2
0
        public static Spawn CreateWithTwoActions(FiniteTimeAction actionOne, FiniteTimeAction actionTwo)
        {
            Spawn spawn = new Spawn();

            if (spawn != null && spawn.InitWithTwoActions(actionOne, actionTwo))
            {
                return(spawn);
            }
            return(null);
        }
コード例 #3
0
        public static Sequence CreateWithTwoActions(FiniteTimeAction actionOne, FiniteTimeAction actionTwo)
        {
            Sequence sequence = new Sequence();

            if (sequence != null && sequence.InitWithTwoActions(actionOne, actionTwo))
            {
                return(sequence);
            }
            return(null);
        }
コード例 #4
0
ファイル: CCRepeat.cs プロジェクト: GDGeekzhangqing/ccAction
        public static Repeat Create(FiniteTimeAction action, uint times)
        {
            Repeat repeat = new Repeat();

            if (repeat.InitWithAction(action, times))
            {
                return(repeat);
            }
            return(null);
        }
コード例 #5
0
ファイル: CCRepeat.cs プロジェクト: GDGeekzhangqing/ccAction
 public bool InitWithAction(FiniteTimeAction action, uint times)
 {
     if (action != null && base.InitWithDuration(action.Duration * times))
     {
         this.m_times       = times;
         this.m_innerAction = action;
         m_actionInstant    = action is ActionInstant;
         m_total            = 0;
         return(true);
     }
     return(false);
 }
コード例 #6
0
        public bool InitWithTwoActions(FiniteTimeAction actionOne, FiniteTimeAction actionTwo)
        {
            if (actionOne == null || actionTwo == null)
            {
                this.LogError("InitWithTwoActions action is null");
            }
            float d = actionOne.Duration + actionTwo.Duration;

            base.InitWithDuration(d);
            m_actions[0] = actionOne;
            m_actions[1] = actionTwo;
            return(true);
        }
コード例 #7
0
        public static Spawn Create(FiniteTimeAction action1, params FiniteTimeAction[] args)
        {
            FiniteTimeAction now;
            FiniteTimeAction prev = action1;

            for (int i = 0; i < args.Length; i++)
            {
                now  = args[i];
                prev = CreateWithTwoActions(prev, now);
            }
            if (args.Length == 0)
            {
                prev = CreateWithTwoActions(prev, ExtraAction.Create());
            }
            return(prev as Spawn);
        }