public void Reset() { manager = null; triggeringEvent = null; currentCommand = null; pool = null; enumerator.Dispose(); failureAllocator = null; currentAllocator = null; }
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(); }
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); }
public void Reset() { manager = null; pool = null; command = null; }