コード例 #1
0
        public acegiak_musicpopinit()
        {
            base.Name = "acegiak_musicpopinit";

            // AddToPopTable("RandomLiquid", new PopulationObject { Blueprint = "SomeLiquid" });
            // AddToPopTable("RandomFaction", new PopulationObject { Blueprint = "SomeFaction" });


            PopulationGroup group = new PopulationGroup {
                Style = "pickeach", Weight = 5
            };

            group.Items.Add(new PopulationObject {
                Blueprint = "Furniture Instrument"
            });
            group.Items.Add(new PopulationObject {
                Blueprint = "Floor Cushion"
            });

            AddToPopTable("Villages_BuildingContents_Dwelling_House_*Default", new PopulationObject {
                Blueprint = "Furniture Instrument", Chance = "10"
            });

            AddToPopTable("SultanDungeons_Furnishings_*Default", group);
            AddToPopTable("CommonOddEncounters", group);
            // PopulationGroup group2 = new PopulationGroup{ Style="pickeach"};
            // group2.Items.Add(new PopulationObject{ Blueprint="OperatingTable" });
            // group2.Items.Add(new PopulationObject{ Blueprint="Bloodsplatter", Number="1-8" });

            // group2.Weight = 5;
            // AddToPopTable("CommonOddEncounters",group2);
        }
コード例 #2
0
        public ActionResult DeleteConfirmed(int id)
        {
            PopulationGroup populationGroup = db.PopulationGroups.Find(id);

            db.PopulationGroups.Remove(populationGroup);
            db.SaveChanges();
            return(RedirectToAction("Index"));
        }
コード例 #3
0
        static PopulationGroups()
        {
            Nomads = new PopulationGroup
            {
                Key         = "Nomads",
                DisplayName = "Nomaden",
                Tier        = 1,
                Fraction    = Fractions.Orient
            };

            Envoys = new PopulationGroup
            {
                Key         = "Envoys",
                DisplayName = "Gesandte",
                Tier        = 2,
                Fraction    = Fractions.Orient
            };

            Noblemen = new PopulationGroup
            {
                Key         = "Noblemen",
                DisplayName = "Adlige",
                Tier        = 4,
                Fraction    = Fractions.Occident
            };

            Patricians = new PopulationGroup
            {
                Key         = "Patricians",
                DisplayName = "Patrizier",
                Tier        = 3,
                Fraction    = Fractions.Occident
            };

            Citizens = new PopulationGroup
            {
                Key         = "Citizens",
                DisplayName = "Bürger",
                Tier        = 2,
                Fraction    = Fractions.Occident
            };

            Peasants = new PopulationGroup
            {
                Key         = "Peasants",
                DisplayName = "Bauern",
                Tier        = 1,
                Fraction    = Fractions.Occident
            };

            Beggars = new PopulationGroup
            {
                Key         = "Beggars",
                DisplayName = "Bettler",
                Tier        = 1,
                Fraction    = Fractions.Lawless
            };
        }
コード例 #4
0
        public ActionResult Create([Bind(Include = "Id,Name,MarketId,Infants,Children,Adults,Seniors,SkillLevel,PrimaryJobId,Priority")] PopulationGroup populationGroup)
        {
            if (ModelState.IsValid)
            {
                db.PopulationGroups.Add(populationGroup);
                db.SaveChanges();

                // Population Groups default to 100% of some (usually the first)
                // Party, Species, and Culture by default to ensure they have
                // something.

                // get the new pop group.
                var pop = db.PopulationGroups
                          .Single(x => x.MarketId == populationGroup.MarketId &&
                                  x.PrimaryJobId == populationGroup.PrimaryJobId);

                // Set Default Species
                var species = new SpeciesBreakdown
                {
                    ParentId  = pop.Id,
                    SpeciesId = db.Species.First().Id,
                    Percent   = 1
                };

                db.PopSpeciesBreakdowns.Add(species);

                // set default Culture
                var culture = new CultureBreakdown
                {
                    ParentId  = pop.Id,
                    CultureId = db.Cultures.First().Id,
                    Percent   = 1
                };

                db.PopCultureBreakdowns.Add(culture);

                // set Default Political Group
                var party = new PoliticalBreakdown
                {
                    ParentId         = pop.Id,
                    PoliticalGroupId = db.PoliticalGroups.First().Id,
                    Percent          = 1
                };

                db.PopPoliticalBreakdowns.Add(party);

                db.SaveChanges();
                return(RedirectToAction("Index"));
            }

            ViewBag.PrimaryJobId = new SelectList(db.Jobs, "Id", "Name", populationGroup.PrimaryJobId);
            ViewBag.MarketId     = new SelectList(db.Markets, "Id", "Name", populationGroup.MarketId);
            return(View(populationGroup));
        }
コード例 #5
0
 public ActionResult Edit([Bind(Include = "Id,Name,MarketId,Infants,Children,Adults,Seniors,SkillLevel,PrimaryJobId,Priority")] PopulationGroup populationGroup)
 {
     if (ModelState.IsValid)
     {
         db.Entry(populationGroup).State = EntityState.Modified;
         db.SaveChanges();
         return(RedirectToAction("Index"));
     }
     ViewBag.PrimaryJobId = new SelectList(db.Jobs, "Id", "Name", populationGroup.PrimaryJobId);
     ViewBag.MarketId     = new SelectList(db.Markets, "Id", "Name", populationGroup.MarketId);
     return(View(populationGroup));
 }
コード例 #6
0
        // GET: PopulationGroups/Details/5
        public ActionResult Details(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            PopulationGroup populationGroup = db.PopulationGroups.Find(id);

            if (populationGroup == null)
            {
                return(HttpNotFound());
            }
            return(View(populationGroup));
        }
コード例 #7
0
        // GET: PopulationGroups/Edit/5
        public ActionResult Edit(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            PopulationGroup populationGroup = db.PopulationGroups.Find(id);

            if (populationGroup == null)
            {
                return(HttpNotFound());
            }
            ViewBag.PrimaryJobId = new SelectList(db.Jobs, "Id", "Name", populationGroup.PrimaryJobId);
            ViewBag.MarketId     = new SelectList(db.Markets, "Id", "Name", populationGroup.MarketId);
            return(View(populationGroup));
        }
コード例 #8
0
ファイル: populationinit.cs プロジェクト: acegiak/frankenqud
        public acegiak_frankenpopinit()
        {
            base.Name = "acegiak_frankenpopinit";

            // AddToPopTable("RandomLiquid", new PopulationObject { Blueprint = "SomeLiquid" });
            // AddToPopTable("RandomFaction", new PopulationObject { Blueprint = "SomeFaction" });


            PopulationGroup group = new PopulationGroup {
                Style = "pickeach"
            };

            group.Items.Add(new PopulationObject {
                Blueprint = "OperatingTable"
            });
            group.Items.Add(new PopulationObject {
                Blueprint = "Bloodsplatter", Number = "1-8"
            });

            AddToPopTable("SultanDungeons_Cubbies_*Default", group);


            PopulationGroup group2 = new PopulationGroup {
                Style = "pickeach"
            };

            group2.Items.Add(new PopulationObject {
                Blueprint = "OperatingTable"
            });
            group2.Items.Add(new PopulationObject {
                Blueprint = "Bloodsplatter", Number = "1-8"
            });

            group2.Weight = 1;
            AddToPopTable("CommonOddEncounters", group2);
        }
コード例 #9
0
        public void Setup()
        {
            #region Needs

            LifeNeed = new Mock <IProduct>();
            LifeNeed.Setup(x => x.Id).Returns(LifeNeedId);
            LifeNeed.Setup(x => x.Name).Returns("LifeNeed");
            DailyNeed = new Mock <IProduct>();
            DailyNeed.Setup(x => x.Id).Returns(DailyNeedId);
            DailyNeed.Setup(x => x.Name).Returns("DailyNeed");
            LuxNeed = new Mock <IProduct>();
            LuxNeed.Setup(x => x.Id).Returns(LuxNeedId);
            LuxNeed.Setup(x => x.Name).Returns("LuxNeed");

            LifeNeedsMock = new ProductAmountCollection();
            LifeNeedsMock.AddProducts(LifeNeed.Object, 1);
            DailyNeedsMock = new ProductAmountCollection();
            DailyNeedsMock.AddProducts(DailyNeed.Object, 1);
            LuxuryNeedsMock = new ProductAmountCollection();
            LuxuryNeedsMock.AddProducts(LuxNeed.Object, 1);

            #endregion Needs

            #region JobGoods

            JobInput = new Mock <IProduct>();
            JobInput.Setup(x => x.Id).Returns(JobInputId);
            JobInput.Setup(x => x.Name).Returns("JobInput");
            JobOutput = new Mock <IProduct>();
            JobOutput.Setup(x => x.Id).Returns(JobOutputId);
            JobOutput.Setup(x => x.Name).Returns("JobOutput");
            JobCapital = new Mock <IProduct>();
            JobCapital.Setup(x => x.Id).Returns(JobCapitalId);
            JobCapital.Setup(x => x.Name).Returns("JobCapital");
            ProducedGood = new Mock <IProduct>();
            ProducedGood.Setup(x => x.Id).Returns(ProducedGoodId);

            JobInputs = new ProductAmountCollection();
            JobInputs.AddProducts(JobInput.Object, 1);
            JobOutputs = new ProductAmountCollection();
            JobOutputs.AddProducts(JobOutput.Object, 1);
            JobCapitals = new ProductAmountCollection();
            JobCapitals.AddProducts(JobCapital.Object, 1);
            ProducedGoods = new ProductAmountCollection();
            ProducedGoods.AddProducts(ProducedGood.Object, 1);

            #endregion JobGoods

            #region JobSetup
            JobMock = new Mock <IJob>();
            JobMock.Setup(x => x.Inputs)
            .Returns(JobInputs);
            JobMock.Setup(x => x.Outputs)
            .Returns(JobOutputs);
            JobMock.Setup(x => x.Capital)
            .Returns(JobCapitals);
            JobMock.Setup(x => x.LaborRequirements)
            .Returns(1);
            JobMock.Setup(x => x.Inputs)
            .Returns(JobInputs);
            JobMock.Setup(x => x.Capital)
            .Returns(JobCapitals);
            #endregion JobSetup

            LaborMock = new Mock <IProduct>();
            LaborMock.Setup(x => x.Id).Returns(LaborId);

            currencyValues = new ProductAmountCollection();

            CurrencyMock1 = new Mock <IProduct>();
            CurrencyMock1.Setup(x => x.Id).Returns(Currency1Id);
            CurrencyMock1.Setup(x => x.Name).Returns("Currency1");
            CurrencyMock2 = new Mock <IProduct>();
            CurrencyMock2.Setup(x => x.Id).Returns(Currency2Id);
            CurrencyMock2.Setup(x => x.Name).Returns("Currency2");

            MarketMock = new Mock <IMarket>();
            MarketMock.Setup(x => x.GetPrice(LifeNeed.Object))
            .Returns(100);
            MarketMock.Setup(x => x.GetPrice(DailyNeed.Object))
            .Returns(100);
            MarketMock.Setup(x => x.GetPrice(LuxNeed.Object))
            .Returns(100);
            MarketMock.Setup(x => x.GetPrice(JobInput.Object))
            .Returns(100);
            MarketMock.Setup(x => x.GetPrice(JobOutput.Object))
            .Returns(100);
            MarketMock.Setup(x => x.GetPrice(JobCapital.Object))
            .Returns(100);
            MarketMock.Setup(x => x.GetPrice(ProducedGood.Object))
            .Returns(100);
            MarketMock.Setup(x => x.GetPrice(CurrencyMock1.Object))
            .Returns(100);
            MarketMock.Setup(x => x.GetPrice(CurrencyMock2.Object))
            .Returns(100);

            MarketMock.Setup(x => x.AcceptedCurrencies)
            .Returns(new List <IProduct> {
                CurrencyMock1.Object, CurrencyMock2.Object
            });

            sut = new PopulationGroup
            {
                Id            = TestId,
                Name          = TestName,
                Count         = PopCount,
                JobLabor      = LaborMock.Object,
                DailyNeeds    = DailyNeedsMock,
                LifeNeeds     = LifeNeedsMock,
                LuxuryNeeds   = LuxuryNeedsMock,
                PrimaryJob    = JobMock.Object,
                Priority      = Priority1,
                Storage       = new ProductAmountCollection(),
                ForSale       = new ProductAmountCollection(),
                SecondaryJobs = new List <IJob>(),
                SkillLevel    = SkillLevel,
                SkillName     = SkillName,
            };

            sut.InitializeStorage();
        }