private void producingTick(MessageTick tick) { if (_model.TickForNextProduction <= tick.Tick) { if (_model.Owner != null) { MessageProducedResources mpr = new MessageProducedResources(_bp.Produces, _model.Owner); _planetC.ReceiveProducedResource(mpr); _model.Producing = false; //foreach (ResourceQuantity resQ in _bp.Produces) //{ // _actorTextOutput.Tell(_model.Name + " PRODUCES " + resQ.Quantity + " " + resQ.Type.ToString() + " " + tick.Tick.ToString()); //} } if (_model.AutoResumeProduction) { requestResources(tick); } else { _model.Producing = false; } } }
private void addResourceQuantityToStore(Store s, MessageProducedResources msg) { foreach (ResourceQuantity resQ in msg.Resources) { if (s.StoredResources.ContainsKey(resQ.Type)) { s.StoredResources[resQ.Type] += resQ.Quantity; } else { s.StoredResources.Add(resQ.Type, resQ.Quantity); } //_actorTextOutput.Tell("Store added " + resQ.Type + " " + resQ.Quantity); } }
internal void ReceiveProducedResource(MessageProducedResources mpr) { Store s = getOrCreateStoreForOwner(mpr.Owner); addResourceQuantityToStore(s, mpr); }