public override bool ForwardAction(TimeMachine timemachine, GameState.GameState state) { _productionAmount = this._producingFactory.GetDrillerProduction(state); if (state.OutpostExists(_producingFactory) && this._productionAmount > 0 && !this._producingFactory.GetComponent <DrillerCarrier>().IsDestroyed()) { _producingFactory.GetComponent <DrillerCarrier>().AddDrillers(this._productionAmount); EventSuccess = true; if (_nextProduction == null) { _nextProduction = new FactoryProduction(_producingFactory, base.GetOccursAt().Advance(this._producingFactory.GetTicksPerProduction())); timemachine.AddEvent(this._nextProduction); } } else { EventSuccess = false; } return(EventSuccess); }
public FactoryProduction(Factory factory, GameTick occursAt) : base(occursAt, Base.Priority.NaturalPriority9) { this._producingFactory = factory; this._nextProduction = null; }