public PlayerCharacter(MainWindow main, string name, int birthdate, Dynasty dynasty, int money, Game game, Gender gender)
     : base(name, birthdate, dynasty, money, game, gender)
 {
     this.main = main;
     notificator = new Notificator();
     notificator.Show();
 }
Beispiel #2
0
        public IActionResult ConfirmDeletion(int id)
        {
            Dynasty dynasty = this.Service.FindById(id);

            this.Service.Delete(dynasty);
            return(RedirectToAction("List"));
        }
Beispiel #3
0
        public ActionResult Dynasty(int?dynasty, int?page)
        {
            if (dynasty != null)
            {
                int pageSize  = 10;
                int pageIndex = 1;
                IPagedList <lstPostViewModel> post = null;
                Dynasty d = (Dynasty)dynasty;
                ViewBag.catname = d.GetDisplayName();
                pageIndex       = page.HasValue ? Convert.ToInt32(page) : 1;
                post            = db.postRepository.AllPosts()
                                  .Where(m => m.status)
                                  .Where(m => m.dynasty.Equals(d.ToString()))
                                  .OrderByDescending(m => m.create_date)
                                  .Select(c => new lstPostViewModel
                {
                    post_id     = c.post_id,
                    post_title  = c.post_title,
                    post_teaser = c.post_teaser,
                    ViewCount   = c.ViewCount,
                    AvatarImage = c.AvatarImage,
                    create_date = c.create_date,
                    tagsname    = c.Tbl_Tags.FirstOrDefault().TagName,
                    slug        = c.post_slug
                }).ToPagedList(pageIndex, pageSize);

                return(View(post));
            }
            return(View("DynastyAll"));
        }
Beispiel #4
0
        /// <summary>
        /// GetDynasty get dpos dynasty.
        /// https://github.com/nebulasio/wiki/blob/master/rpc.md#getdynasty
        /// </summary>
        /// <param name="height">block height</param>
        /// <returns></returns>
        public Dynasty GetDynasty(Int64 height)
        {
            Dynasty result = new Dynasty();

            if (restUtils == null)
            {
                restUtils = new RestUtils();
            }

            Dictionary <string, object> paras = new Dictionary <string, object>();

            paras.Add("height", height);

            string        resource = string.Format("{0}{1}", API_VERSION, Constant.LINK_GetDynasty);
            IRestResponse response = restUtils.Post(API_URL, resource, paras);

            if (response.StatusCode == HttpStatusCode.Accepted || response.StatusCode == HttpStatusCode.OK)
            {
                try
                {
                    result         = JsonConvert.DeserializeObject <Dynasty>(response.Content);
                    result.message = string.Empty;
                }
                catch (Exception ex)
                {
                    result.message = ex.Message;
                }
            }
            else
            {
                result.message = response.ErrorMessage;
            }

            return(result);
        }
Beispiel #5
0
        public async Task DynastyUpgrade(SocketReaction reaction, IUserMessage msg)
        {
            switch (reaction.Emote.ToString())
            {
            case EUI.ok:
                _ = await Dynasty.Load(player);

                if (player.dynasty == null)
                {
                    if (Dynasty.Exist(data))
                    {
                        await reaction.Channel.SendMessageAsync(
                            $"Dyansty name {data} is already in use");

                        return;
                    }
                    Dynasty dan = await Dynasty.CreateDynasty(player, data);

                    await DynastyCommands.DynastyHub(player, dan, null, reaction.Channel);
                }
                else
                {
                    //Upgrade
                }
                break;

            case EUI.cancel:
                await TryMSGDel(msg);

                break;
            }
        }
Beispiel #6
0
        public async Task DynastyInvite(SocketReaction reaction, IUserMessage msg)
        {
            switch (reaction.Emote.ToString())
            {
            case EUI.ok:
                if (data != null)
                {
                    Guid    id  = Guid.Parse(data);
                    Dynasty dan = await Dynasty.Load(id);

                    var mem = await dan.AddMemeber(player);

                    await DynastyCommands.DynastyHub(player, dan, mem, reaction.Channel);
                }
                else
                {
                    (Dynasty dan, DynastyMember _, string _) = await Dynasty.Load(player);

                    if (player.dynasty != null)
                    {
                        await dan.RemoveMember(player);

                        await reaction.Channel.SendMessageAsync($"You've left the {dan.name} Dynasty");
                    }
                }
                break;

            case EUI.cancel:
                await TryMSGDel(msg);

                break;
            }
        }
 private static void OutputDynasty(StreamWriter output, Dynasty dynasty)
 {
     // output ID, name and culture
     output.WriteLine($"{dynasty.ID} = {{");
     output.WriteLine($"\tname = \"{dynasty.Name}\"");
     output.WriteLine($"\tculture = {dynasty.Culture}");
     output.WriteLine("}");
 }
Beispiel #8
0
 void Start()
 {
     for (int i = 0; i < GameManager.instance.state.m_allDynasties.Count; i++)
     {
         Dynasty            dynasty = GameManager.instance.state.m_allDynasties[i];
         GameObject         obj     = Instantiate(DynastyInfoPrefab, listParent);
         DynastyListElement element = obj.GetComponent <DynastyListElement>();
         element.SetInfo(i + 1, dynasty.name, dynasty.turnStarted * Constants.YEARS_PER_TURN, dynasty.turnEnded * Constants.YEARS_PER_TURN);
     }
 }
        public IOptimizerManager Create()
        {
            Dynasty.LogOutput("utyvoiuhpoih[j[09u875");
            Dynasty.LogOutput(GeneManager.Termination);
            Dynasty.LogOutput("Algorithm: Name, Generation: 987, Fitness: 100, sharpe: 1.23");
            Dynasty.LogOutput("take: 1.1, fast: 12, slow: 123.456");
            Dynasty.LogOutput(null);

            return(Mock.Of <IOptimizerManager>());
        }
        public void OptimizeTest(bool hasSegmentHours)
        {
            var file = new Mock <IFileSystem>();
            var log  = new Mock <ILogWrapper>();
            var q    = new Queue <string>();

            file.Setup(f => f.File.ReadAllText(It.IsAny <string>())).Returns((string path) =>
            {
                string filename = System.IO.Path.GetFileName(path);
                if (hasSegmentHours && filename == "dynasty.json")
                {
                    filename = filename.Replace(".json", "_segments.json");
                }

                return(System.IO.File.ReadAllText(System.IO.Path.Combine(AppDomain.CurrentDomain.BaseDirectory, filename.Replace(".json", "_test.json"))));
            });

            file.Setup(f => f.File.WriteAllText(It.IsAny <string>(), It.IsAny <string>())).Callback((string path, string contents) =>
            {
                System.IO.File.WriteAllText(System.IO.Path.Combine(AppDomain.CurrentDomain.BaseDirectory, path), contents);
            });

            List <string> actual = new List <string>();

            log.Setup(l => l.Result(It.IsAny <string>())).Callback <string>(m => { actual.Add(m); });

            OptimizerInitializerTests.SetEntryAssembly(Assembly.GetCallingAssembly());

            var unit = new Dynasty(file.Object, log.Object, new MockGeneManagerFactory());

            unit.Optimize();

            Assert.IsTrue(actual.ElementAt(1).StartsWith(GeneManager.Termination));
            Assert.IsTrue(actual.ElementAt(2).StartsWith("Algorithm:"));
            Assert.IsTrue(actual.ElementAt(3).StartsWith("take:"));
            if (hasSegmentHours)
            {
                Assert.AreEqual(actual.First(), "For period: 01/02/2016 00:00:00 01/02/2016 23:59:59");
                Assert.AreEqual(actual.ElementAt(4), "For period: 02/02/2016 00:00:00 03/02/2016 23:59:59");
                Assert.AreEqual(actual.ElementAt(8), "For period: 04/02/2016 00:00:00 06/02/2016 23:59:59");
                Assert.AreEqual(actual.ElementAt(12), "For period: 07/02/2016 00:00:00 07/02/2016 23:59:59");
            }
            else
            {
                Assert.AreEqual(actual.First(), "For period: 01/02/2016 00:00:00 10/02/2016 23:59:59");
                Assert.AreEqual(actual.ElementAt(4), "For period: 11/02/2016 00:00:00 20/02/2016 23:59:59");
                Assert.AreEqual(actual.ElementAt(8), "For period: 21/02/2016 00:00:00 01/03/2016 23:59:59");
            }
        }
Beispiel #11
0
        internal async Task DeleteFileMongo()
        {
            //Clear data
            EndEncounter();
            if (Party != null)
            {
                Party.RemoveAllPets(this);
                if (IsSolo)
                {
                    if (AreaInfo.TempAreaType)
                    {
                        await AMYPrototype.Program.data.database.DeleteRecord <Areas.AreaPartials.Area>("Dungeons",
                                                                                                        AreaInfo.path, "AreaId");
                    }

                    for (int i = 0; i < Party.NPCMembers.Count; i++)
                    {
                        Party.Remove(i, Area);
                    }
                    await PartyKey.Delete();
                }
                else
                {
                    await Party.Remove(this);
                }
            }
            if (ui?.type == MsgType.ConfirmTransaction)
            {
                Shopping.PendingTransaction.Cancel(this, ui.data);
            }

            ToolsKey?.Delete();
            EggPocketKey?.Delete();
            PetListKey?.Delete();
            ProgressDataKey?.Delete();
            FaithKey?.Delete();
            AdventureKey?.Delete();

            var dynastyData = await Dynasty.Load(this);

            if (dynasty != null)
            {
                await dynastyData.Item1.RemoveMember(this);
            }

            //Delete entries
            await AMYPrototype.Program.data.database.DeleteRecord <Player>("Character", _id, "_id");
        }
Beispiel #12
0
        protected void btnNewDynasty_Click(object sender, EventArgs e)
        {
            int     dynastyId     = Convert.ToInt32(Session["DynastyToReplace"]);
            Dynasty theOldDynasty = BR.ExtraLib.Sql.getDynasty(dynastyId);

            int newDynastyId = ExtraLib.Sql.createDynasty(this.ddlNewDynasty.Text.ToString(), theOldDynasty.userId, theOldDynasty.gameId, theOldDynasty.country);

            //TODO: new king should be 5 yrs younger than old king and could have more chldren.
            int kingId = ExtraLib.Sql.CreateCharacter(BR.ExtraLib.Names.getName(theOldDynasty.country, 'M'), 0, 0, 0, 'M', (Convert.ToInt32(Session["Turn"]) - 5), theOldDynasty.gameId, -1, -1, newDynastyId);

            ExtraLib.Sql.crownKing(kingId);
            int queenId = ExtraLib.Sql.CreateCharacter(BR.ExtraLib.Names.getName(theOldDynasty.country, 'F'), 0, 0, 0, 'F', (Convert.ToInt32(Session["Turn"]) - 4), theOldDynasty.gameId, -1, -1, newDynastyId);

            ExtraLib.Sql.marriage(kingId, queenId);
            char childGender = ExtraLib.Dice.male();

            ExtraLib.Sql.CreateCharacter(BR.ExtraLib.Names.getName(theOldDynasty.country, childGender), ExtraLib.Dice.createStat(), ExtraLib.Dice.createStat(), ExtraLib.Dice.createStat(), childGender, (Convert.ToInt32(Session["Turn"]) - 1), theOldDynasty.gameId, kingId, queenId, newDynastyId);

            ExtraLib.Sql.setDynastyToNoUser(dynastyId);

            switch (theOldDynasty.country)
            {
            case 'E':
                Session["EnglandDynastyId"] = newDynastyId;
                break;

            case 'F':
                Session["FranceDynastyId"] = newDynastyId;
                break;

            case 'G':
                Session["GermanyDynastyId"] = newDynastyId;
                break;

            case 'I':
                Session["ItalyDynastyId"] = newDynastyId;
                break;

            case 'S':
                Session["SpainDynastyId"] = newDynastyId;
                break;
            }

            showNewDynasty(); //if there are other countries without a king
        }
    public void BeginDynasty()
    {
        GameState state = GameManager.instance.state;

        if (String.IsNullOrWhiteSpace(inputField.text))
        {
            AudioManager.instance.Play("Invalid");
            nameWarning.text = "Please enter a dynasty name!";
            nameWarning.DOKill();
            nameWarning.DOFade(1, .1f).OnComplete(() => nameWarning.DOFade(0, 1f).SetDelay(.2f));
            return;
        }
        else if (state.CheckForReusedName(inputField.text))
        {
            AudioManager.instance.Play("Invalid");
            nameWarning.text = "Please enter a new dynasty name!";
            nameWarning.DOKill();
            nameWarning.DOFade(1, .1f).OnComplete(() => nameWarning.DOFade(0, 1f).SetDelay(.2f));
            return;
        }

        //create dynasty
        Dynasty newDynasty = new Dynasty(inputField.text, state.m_turn, 0);

        state.m_currentDynasty = newDynasty;
        state.m_allDynasties.Add(newDynasty);

        //Set up perks
        state.m_perks.Clear();
        foreach (PerkChoice choice in perkChoices)
        {
            state.m_perks.Add(choice.perk);
            choice.Toggle();
        }
        perkChoices.Clear();

        inputField.text = "";

        //Hide self and tell map to start
        ShowSelf(false);
        AudioManager.instance.Play("GameStart");
        mapManager.StartDynasty();
    }
Beispiel #14
0
        public Character(string name, int birthdate, Dynasty dynasty, int money, Game game, Gender gender)
        {
            Name = name;
            BirthDate = birthdate;
            Dynasty = dynasty;
            Money = money;
            WillPower = Game.MAX_WILLPOWER;
            Game = game;
            Gender = gender;
            KnownInformation = new List<InformationInstance>();
            traits = new Dictionary<string, Trait>();
            jobs = new Dictionary<string, Job>();
            prestigeModifiers = new HashSet<PrestigeModifier>();
            Children = new List<Character>();

            //TODO: have actual personality in the weights.
            //TODO: public and private weights should be different
            publicWeights = new Weights(this);
            privateWeights = new Weights(this);
        }
        public void OptimizeTest()
        {
            var process = new Mock <IProcessWrapper>();
            var file    = new Mock <IFileSystem>();
            var log     = new Mock <ILogWrapper>();
            var q       = new Queue <string>();

            file.Setup(f => f.File.ReadAllText(It.IsAny <string>())).Returns((string path) =>
            {
                return(System.IO.File.ReadAllText(System.IO.Path.Combine(AppDomain.CurrentDomain.BaseDirectory, path)));
            });
            file.Setup(f => f.File.WriteAllText(It.IsAny <string>(), It.IsAny <string>())).Callback((string path, string contents) =>
            {
                q.Enqueue("utyvoiuhpoih[j[09u875");
                q.Enqueue(GeneManager.Termination);
                q.Enqueue("Algorithm: Name, Generation: 987, Fitness: 100, sharpe: 1.23");
                q.Enqueue("take: 1.1, fast: 12, slow: 123.456");
                q.Enqueue(null);

                System.IO.File.WriteAllText(System.IO.Path.Combine(AppDomain.CurrentDomain.BaseDirectory, path), contents);
            });

            process.Setup(p => p.Start(It.IsAny <ProcessStartInfo>()));
            process.Setup(p => p.Kill()).Verifiable();
            process.Setup(p => p.ReadLine()).Returns(() => { return(q.Dequeue()); });

            List <string> actual = new List <string>();

            log.Setup(l => l.Info(It.IsAny <string>())).Callback <string>(m => { actual.Add(m); });

            var unit = new Dynasty(file.Object, process.Object, log.Object);

            unit.Optimize();

            process.Verify();

            Assert.IsTrue(actual.First().StartsWith("For period"));
            Assert.IsTrue(actual.ElementAt(1).StartsWith(GeneManager.Termination));
            Assert.IsTrue(actual.ElementAt(2).StartsWith("Algorithm:"));
            Assert.IsTrue(actual.ElementAt(3).StartsWith("take:"));
        }
    public void DynastiesAreOutputted()
    {
        const string outputModName = "outputMod";
        var          locDB         = new LocDB("english");

        var dynasties = new DynastyCollection();
        var family1   = new Family(1);
        var dynasty1  = new Dynasty(family1, locDB);

        dynasties.Add(dynasty1);
        var family2  = new Family(2);
        var dynasty2 = new Dynasty(family2, locDB)
        {
            Culture = "roman"
        };

        dynasties.Add(dynasty2);

        var outputPath = Path.Combine("output", outputModName, "common", "dynasties", "imp_dynasties.txt");

        SystemUtils.TryCreateFolder(CommonFunctions.GetPath(outputPath));
        DynastiesOutputter.OutputDynasties(outputModName, dynasties);

        using var file = File.OpenRead(outputPath);
        var reader = new StreamReader(file);

        Assert.Equal("dynn_IMPTOCK3_1={", reader.ReadLine());
        Assert.Equal("\tname=\"dynn_IMPTOCK3_1\"", reader.ReadLine());
        Assert.Equal("}", reader.ReadLine());

        Assert.Equal("dynn_IMPTOCK3_2={", reader.ReadLine());
        Assert.Equal("\tname=\"dynn_IMPTOCK3_2\"", reader.ReadLine());
        Assert.Equal("\tculture=\"roman\"", reader.ReadLine());
        Assert.Equal("}", reader.ReadLine());
        Assert.True(reader.EndOfStream);
    }
Beispiel #17
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="userId"></param>
        /// <param name="gameId"></param>
        /// <returns></returns>
        public static Dynasty getDynasty(int userId, int gameId)
        {
            Dynasty d = null;

            using (SqlConnection cn = DataAccess.DataAccessFactory.GetDataAccess())
            {
                string     query = "Select * FROM Dynasties WHERE UserId= " + userId + " AND GameId= " + gameId + ";";
                SqlCommand cmd   = new SqlCommand(query, cn);
                cn.Open();
                SqlDataReader reader;
                reader = cmd.ExecuteReader();
                DataTable dt = new DataTable();
                dt.Load(reader);

                if (dt != null)
                {
                    if (dt.Rows.Count > 0)
                    {
                        d = new Dynasty(dt.Rows[0]);
                    }
                }
            }
            return(d);
        }
Beispiel #18
0
 public IActionResult Patch(Dynasty dynasty)
 {
     this.Service.Update(dynasty);
     return(RedirectToAction("List"));
 }
Beispiel #19
0
        public IActionResult Delete(int id)
        {
            Dynasty dynasty = this.Service.FindById(id);

            return(View(dynasty));
        }
Beispiel #20
0
 public Dynasty Create(Dynasty dynasty)
 {
     Context.Dynasties.Add(dynasty);
     Context.SaveChanges();
     return(dynasty);
 }
Beispiel #21
0
 public Dynasty Update(Dynasty dynasty)
 {
     Context.Update(dynasty);
     return(dynasty);
 }
Beispiel #22
0
 public void Delete(Dynasty dynasty)
 {
     Context.Dynasties.Remove(dynasty);
 }
Beispiel #23
0
 public IActionResult Save(Dynasty dynasty)
 {
     this.Service.Create(dynasty);
     return(RedirectToAction("List"));
 }