コード例 #1
0
        private Sequence(bool dummy, FiniteTimeAction[] list) : base(1)
        {
            if (list.Length == 0)
            {
                finiteTimeActions[0] = new ExtraAction();
                finiteTimeActions[1] = new ExtraAction();
                AccumulateDuration();
            }
            else if (list.Length == 1)
            {
                finiteTimeActions[0] = list[0];
                finiteTimeActions[1] = new ExtraAction();

                AccumulateDuration();
            }
            else if (list.Length == 2)
            {
                finiteTimeActions[0] = list[0];
                finiteTimeActions[1] = list[1];
            }
            else
            {            // GREATER THAN 2
                Sequence last = new Sequence(list[list.Length - 2], list[list.Length - 1]);

                for (int i = list.Length - 3; i >= 1; i--)
                {
                    last = new Sequence(list[i], last);
                }


                finiteTimeActions[0] = list[0];
                finiteTimeActions[1] = last;

                AccumulateDuration();
            }
        }
コード例 #2
0
        private Sequence( bool dummy,FiniteTimeAction[] list)
            : base(1)
        {
            if(list.Length==0)
            {
                finiteTimeActions[0]= new ExtraAction();
                finiteTimeActions[1]= new ExtraAction();
                AccumulateDuration();
            }
            else if(list.Length==1)
            {
                finiteTimeActions[0]= list[0];
                finiteTimeActions[1]= new ExtraAction();

                AccumulateDuration();
            }else if(list.Length==2)
            {
                finiteTimeActions[0]= list[0];
                finiteTimeActions[1]= list[1];

            }else
            {// GREATER THAN 2

                Sequence last = new Sequence (list[list.Length-2],list[list.Length-1]);

                for(int i= list.Length-3;i>=1;i--)
                {
                    last = new Sequence(list[i],last);
                }

                finiteTimeActions[0]= list[0];
                finiteTimeActions[1]= last;

                AccumulateDuration();
            }
        }