Example #1
0
        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;
                }
            }
        }
Example #2
0
 internal void ReceiveProducedResource(MessageProducedResources mpr)
 {
     Store s = getOrCreateStoreForOwner(mpr.Owner);
     addResourceQuantityToStore(s, mpr);
 }
Example #3
0
        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);
            }
        }