コード例 #1
0
        public void LoadStockpiles()
        {
            Stockpile stockpile;

            stockpile = new GlobalStockpile(Resource.Collection.Iron);
            this.Stockpiles.Add(stockpile);
            stockpile = new GlobalStockpile(Resource.Collection.Wood);
            this.Stockpiles.Add(stockpile);
            stockpile = new GlobalStockpile(Resource.Collection.Stone);
            this.Stockpiles.Add(stockpile);
        }
コード例 #2
0
        public void Handle(AddStockpileCommand message)
        {
            var resource = message.Resource;
            var game     = message.Game;

            // Test for unique storage per resource
            foreach (var stockpileRef in game.Stockpiles)
            {
                var oldStockpile = stockpileRepository.Get(stockpileRef.Key);

                if (resource == oldStockpile.Resource)
                {
                    throw new InvalidOperationException(string.Format("Resource {0} stockpile is pressent", resource.DisplayName));
                }
            }

            var stockpile = new GlobalStockpile(resource);

            stockpileRepository.Save(stockpile);

            game.AddStockpile(stockpile.GetAggregateKey());
        }