示例#1
0
 public void Reset()
 {
     manager         = null;
     triggeringEvent = null;
     currentCommand  = null;
     pool            = null;
     enumerator.Dispose();
     failureAllocator = null;
     currentAllocator = null;
 }
示例#2
0
 internal void Start(Event triggeringEvent, CommandChain chain, CommandRelay manager, ObjectPool pool)
 {
     this.triggeringEvent = triggeringEvent;
     this.manager         = manager;
     this.pool            = pool;
     failureAllocator     = chain.FailureCommand;
     enumerator           = chain.Commands.GetEnumerator();
     pool.Lock(triggeringEvent, this);
     enumerator.MoveNext();
     Next();
 }
示例#3
0
 internal void Start(CommandRelay manager, ObjectPool pool, SimpleCommandInitializer <T> initializer = null)
 {
     this.manager = manager;
     this.pool    = pool;
     command      = pool.Allocate <T>();
     if (null != initializer)
     {
         initializer(command);
     }
     command.Start(this);
 }
示例#4
0
 public void Reset()
 {
     manager = null;
     pool    = null;
     command = null;
 }