Example #1
0
 public FASequenceItem(FASequence owner)
 {
     Owner = owner;
     Watch = new Stopwatch();
 }
Example #2
0
 protected override void FirstExecute(FASequence actor)
 {
     State = SequenceState.Running;
     foreach (FASequenceAtomicInfo item in _sequenceList)
     {
         item.Sequence.Atomic = item.Atomic;
         item.Sequence.Start(Owner);
     }
 }
Example #3
0
            private void ConfirmTerminatedSequences(FASequence actor, TimeSpan time)
            {
                foreach (FASequenceAtomicInfo item in _sequenceList)
                {
                    if (item.Sequence.State != SequenceState.Terminated)
                        return;
                }

                actor.NextStep();
            }
Example #4
0
 private void ExecuteAction(FASequence actor, TimeSpan time)
 {
     _action(actor, time);
 }
Example #5
0
 public FASequenceCombinationSequenceItem(FASequence owner, params FASequenceAtomicInfo[] sequences)
     : base(owner)
 {
     _sequenceList.AddRange(sequences);
     Executor = ConfirmTerminatedSequences;
 }
Example #6
0
 public FAConditionalSequenceItem(FASequence owner, Action<FASequence, TimeSpan> actoin)
     : base(owner)
 {
     Atomic = false;
     _action = actoin;
     Executor = ExecuteAction;
 }
Example #7
0
 protected override void FirstExecute(FASequence actor)
 {
     State = SequenceState.Running;
 }
Example #8
0
 private void AutoNextExecute(FASequence actor, TimeSpan time)
 {
     _autoNextExecutor(actor);
     actor.NextStep();
 }
Example #9
0
 public FAAutoNextSequenceItem(FASequence owner, Action<object> actoin)
     : base(owner)
 {
     _autoNextExecutor = actoin;
     Executor = AutoNextExecute;
 }
Example #10
0
 public FASequenceAtomicInfo(FASequence seq, bool atomic)
 {
     Sequence = seq;
     Atomic = atomic;
 }
Example #11
0
 protected abstract void FirstExecute(FASequence actor);
Example #12
0
            public void Execute(FASequence actor)
            {
                if (Watch.ElapsedTicks == 0)
                {
                    Watch = Stopwatch.StartNew();
                }

                if (IsStarted == false)
                {
                    IsStarted = true;
                    FirstExecute(actor);
                }

                Executor(actor, Watch.Elapsed);
            }