Example #1
0
 public override void OnResponse(NetState state, RelayInfo info)
 {
     if (info.ButtonID == 1)
     {
         if (!Minister.InRange(User, 5))
         {
             User.SendLocalizedMessage(500295); // You are too far away to do that.
         }
         else
         {
             CityLoyaltySystem.CityTrading.TryOfferTrade(User, Minister);
         }
     }
 }
Example #2
0
    public override void Init(Minister Minister)
    {
        base.Init(Minister);

        // :: Use
        this.DictName               = new Dictionary <int, DATAName>();
        this.DictZombie             = new Dictionary <int, DATAZombie>();
        this.DictDescription_Zombie =
            new Dictionary <int, DATADescription_Zombie>();
        this.DictDescription_Complete =
            new Dictionary <int, DATADescription_Complete>();
        this.DictOX = new Dictionary <int, DATAOX>();

        // :: Load
        this.LoadData_All();
    }
Example #3
0
    public void Init(Minister Minister)
    {
        // :: Minister
        this.minister = Minister;

        // :: Init
        this.InitChief();
        this.InitStatus();
        this.InitButtons();

        // :: Complete
        Debug.Log(string.Format(":: {0} Init Complete",
                                this.ToString()));

        // :: DO Next Frame
        this.Do_NextFrame(this.StartRuler);
    }
Example #4
0
        //Add Minister to db
        public void AddMinisters()
        {
            using (var entities = new FTDatabaseEntities())
            {
                MinisterScraper        scraper   = new MinisterScraper();
                List <ExtractedValues> values    = scraper.GetMinisters();
                List <CustomMinister>  ministers = new List <CustomMinister>();
                foreach (var item in values)
                {
                    Politician politician = service.GetPolitician(item.Firstname, item.Lastname);
                    if (politician == null)
                    {
                        politician           = new Politician();
                        politician.firstname = item.Firstname;
                        politician.lastname  = item.Lastname;
                        politician.partyId   = entities.Party.Where(p => p.name.Equals(item.Party)).SingleOrDefault().id;
                        service.AddPolitician(politician);

                        politician = service.GetPolitician(item.Firstname, item.Lastname);
                        ContactInfo contactInfo = item.Contact;
                        contactInfo.politicianId = politician.id;
                        Debug.WriteLine(politician.id);
                        service.AddContactInfo(contactInfo);
                    }
                    MinisterialPost post = service.GetMinisterialPost(item.Title);
                    if (post == null)
                    {
                        using (var context = new FTDatabaseEntities())
                        {
                            context.MinisterialPost.Add(new MinisterialPost()
                            {
                                governmentId = 1, title = item.Title
                            });
                            context.SaveChanges();
                        }
                    }
                    Minister minister = new Minister();
                    minister.ministerialPostId = service.GetMinisterialPost(item.Title).id;
                    minister.politicianId      = politician.id;
                    minister.startDate         = DateTime.Now.Date;
                    entities.Minister.Add(minister);
                }
                entities.SaveChanges();
            }
        }
        public async Task <IActionResult> Create([Bind("ID,ApplicationUserId,Name,About,FaceBook,Twitter,InstagramProfile,Email,Phone,PictureUrl,DateEntered")] Minister minister, IFormFile file)
        {
            if (ModelState.IsValid)
            {
                //set the connction string
                const string accountName = "imagescode";
                const string key         = "8mYGwFLxg7dgknmQFtBtvLrOKPQ7KfVYPjQk37lhuE3AH232omisJGVlIgyCsv5lYqwuLPeqy2y1CzWGDE8H4Q==";

                CloudStorageAccount storageAccount = new CloudStorageAccount(new StorageCredentials(accountName, key), true);

                // Create a blob client.
                CloudBlobClient blobClient = storageAccount.CreateCloudBlobClient();

                // Get a reference to a container named "my-new-container
                CloudBlobContainer container = blobClient.GetContainerReference("minister-picture");

                //Get a reference to a blob
                CloudBlockBlob blockBlob = container.GetBlockBlobReference(file.FileName);

                using (var fileStream = file.OpenReadStream())
                {
                    await blockBlob.UploadFromStreamAsync(fileStream);
                }

                var blob    = container.GetBlockBlobReference(file.FileName);
                var blobUrl = blob.Uri.AbsoluteUri;
                var church  = await _userManager.GetUserAsync(HttpContext.User);

                var churchID = _context.Churches.SingleOrDefault(x => x.ApplicationUserId == church.Id.ToString()).ID;
                minister.ChurchId        = churchID;
                minister.PictureBlobName = file.FileName;
                minister.PictureUrl      = blobUrl;
                minister.DateEntered     = DateTime.Now;

                _context.Add(minister);
                await _context.SaveChangesAsync();

                return(RedirectToAction("Dashboard", "Churches"));
            }
            ViewData["ApplicationUserId"] = new SelectList(_context.Users, "Id", "Id", minister.ApplicationUserId);
            ViewData["ChurchId"]          = new SelectList(_context.Churches, "ID", "ID", minister.ChurchId);
            return(View(minister));
        }
Example #6
0
 public virtual void Init(Minister Minister)
 {
     this.minister = Minister;
 }
Example #7
0
 public override void Init(Minister Minister)
 {
     base.Init(Minister);
     this.Gold_Current = this.Get_SavedGold();
 }
Example #8
0
 public void Punish(Minister any)
 {
    if (any.Corruption() == true)
      {
Example #9
0
        /// <summary>
        ///     一括編集
        /// </summary>
        /// <param name="args">一括編集のパラメータ</param>
        public static void BatchEdit(MinisterBatchEditArgs args)
        {
            LogBatchEdit(args);

            IEnumerable<Minister> ministers = GetBatchEditMinisters(args);
            Country newCountry;
            switch (args.ActionMode)
            {
                case BatchActionMode.Modify:
                    // 閣僚を一括編集する
                    foreach (Minister minister in ministers)
                    {
                        BatchEditMinister(minister, args);
                    }
                    break;

                case BatchActionMode.Copy:
                    // 閣僚をコピーする
                    newCountry = args.Destination;
                    int id = args.Id;
                    foreach (Minister minister in ministers)
                    {
                        id = GetNewId(id);
                        Minister newMinister = new Minister(minister)
                        {
                            Country = newCountry,
                            Id = id
                        };
                        newMinister.SetDirtyAll();
                        Items.Add(newMinister);
                    }

                    // コピー先の国の編集済みフラグを設定する
                    SetDirty(newCountry);

                    // コピー先の国がファイル一覧に存在しなければ追加する
                    if (!FileNameMap.ContainsKey(newCountry))
                    {
                        FileNameMap.Add(newCountry, Game.GetMinisterFileName(newCountry));
                        SetDirtyList();
                    }
                    break;

                case BatchActionMode.Move:
                    // 閣僚を移動する
                    newCountry = args.Destination;
                    foreach (Minister minister in ministers)
                    {
                        // 移動前の国の編集済みフラグを設定する
                        SetDirty(minister.Country);

                        minister.Country = newCountry;
                        minister.SetDirty(MinisterItemId.Country);
                    }

                    // 移動先の国の編集済みフラグを設定する
                    SetDirty(newCountry);

                    // 移動先の国がファイル一覧に存在しなければ追加する
                    if (!FileNameMap.ContainsKey(newCountry))
                    {
                        FileNameMap.Add(newCountry, Game.GetMinisterFileName(newCountry));
                        SetDirtyList();
                    }
                    break;
            }
        }
Example #10
0
        /// <summary>
        ///     閣僚リストに項目を追加する
        /// </summary>
        /// <param name="minister">挿入対象の項目</param>
        public static void AddItem(Minister minister)
        {
            Log.Info("[Minister] Add minister: ({0}: {1}) <{2}>", minister.Id, minister.Name,
                Countries.Strings[(int) minister.Country]);

            Items.Add(minister);
        }
Example #11
0
        /// <summary>
        ///     閣僚定義行を解釈する
        /// </summary>
        /// <param name="lexer">字句解析器</param>
        /// <param name="country">国家タグ</param>
        /// <returns>閣僚データ</returns>
        private static Minister ParseLine(CsvLexer lexer, Country country)
        {
            string[] tokens = lexer.GetTokens();

            // ID指定のない行は読み飛ばす
            if (string.IsNullOrEmpty(tokens?[0]))
            {
                return null;
            }

            // トークン数が足りない行は読み飛ばす
            if (tokens.Length != (Misc.EnableRetirementYearMinisters ? 11 : (Misc.UseNewMinisterFilesFormat ? 10 : 9)))
            {
                Log.Warning("[Minister] Invalid token count: {0} ({1} L{2})", tokens.Length, lexer.FileName,
                    lexer.LineNo);
                // 末尾のxがない/余分な項目がある場合は解析を続ける
                if (tokens.Length < (Misc.EnableRetirementYearMinisters ? 10 : (Misc.UseNewMinisterFilesFormat ? 9 : 8)))
                {
                    return null;
                }
            }

            Minister minister = new Minister { Country = country };
            int index = 0;

            // ID
            int id;
            if (!int.TryParse(tokens[index], out id))
            {
                Log.Warning("[Minister] Invalid id: {0} ({1} L{2})", tokens[index], lexer.FileName, lexer.LineNo);
                return null;
            }
            minister.Id = id;
            index++;

            // 閣僚地位
            string positionName = tokens[index].ToLower();
            if (PositionStringMap.ContainsKey(positionName))
            {
                minister.Position = PositionStringMap[positionName];
            }
            else
            {
                minister.Position = MinisterPosition.None;
                Log.Warning("[Minister] Invalid position: {0} [{1}] ({2} L{3})", tokens[index], minister.Id,
                    lexer.FileName, lexer.LineNo);
            }
            index++;

            // 名前
            minister.Name = tokens[index];
            index++;

            // 開始年
            int startYear;
            if (int.TryParse(tokens[index], out startYear))
            {
                minister.StartYear = startYear + (Misc.UseNewMinisterFilesFormat ? 0 : 1900);
            }
            else
            {
                minister.StartYear = 1936;
                Log.Warning("[Minister] Invalid start year: {0} [{1}: {2}] ({3} L{4})", tokens[index], minister.Id,
                    minister.Name, lexer.FileName, lexer.LineNo);
            }
            index++;

            // 終了年
            if (Misc.UseNewMinisterFilesFormat)
            {
                int endYear;
                if (int.TryParse(tokens[index], out endYear))
                {
                    minister.EndYear = endYear;
                }
                else
                {
                    minister.EndYear = 1970;
                    Log.Warning("[Minister] Invalid end year: {0} [{1}: {2}] ({3} L{4})", tokens[index], minister.Id,
                        minister.Name, lexer.FileName, lexer.LineNo);
                }
                index++;
            }
            else
            {
                minister.EndYear = 1970;
            }

            // 引退年
            if (Misc.EnableRetirementYearMinisters)
            {
                int retirementYear;
                if (int.TryParse(tokens[index], out retirementYear))
                {
                    minister.RetirementYear = retirementYear;
                }
                else
                {
                    minister.RetirementYear = 1999;
                    Log.Warning("[Minister] Invalid retirement year: {0} [{1}: {2}] ({3} L{4})", tokens[index],
                        minister.Id, minister.Name, lexer.FileName, lexer.LineNo);
                }
                index++;
            }
            else
            {
                minister.RetirementYear = 1999;
            }

            // イデオロギー
            string ideologyName = tokens[index].ToLower();
            if (IdeologyStringMap.ContainsKey(ideologyName))
            {
                minister.Ideology = IdeologyStringMap[ideologyName];
            }
            else
            {
                minister.Ideology = MinisterIdeology.None;
                Log.Warning("[Minister] Invalid ideology: {0} [{1}: {2}] ({3} L{4})", tokens[index], minister.Id,
                    minister.Name, lexer.FileName, lexer.LineNo);
            }
            index++;

            // 閣僚特性
            string personalityName = tokens[index].ToLower();
            if (PersonalityStringMap.ContainsKey(personalityName))
            {
                minister.Personality = PersonalityStringMap[personalityName];
            }
            else
            {
                if (PersonalityStringTypoMap.ContainsKey(personalityName) &&
                    PersonalityStringMap.ContainsKey(PersonalityStringTypoMap[personalityName]))
                {
                    minister.Personality = PersonalityStringMap[PersonalityStringTypoMap[personalityName]];
                    Log.Warning("[Minister] Modified personality: {0} -> {1} [{2}: {3}] ({4} L{5})", tokens[index],
                        Personalities[minister.Personality].String, minister.Id, minister.Name, lexer.FileName,
                        lexer.LineNo);
                }
                else
                {
                    minister.Personality = 0;
                    Log.Warning("[Minister] Invalid personality: {0} [{1}: {2}] ({3} L{4})", tokens[index], minister.Id,
                        minister.Name, lexer.FileName, lexer.LineNo);
                }
            }
            index++;

            // 忠誠度
            string loyaltyName = tokens[index].ToLower();
            if (LoyaltyStringMap.ContainsKey(loyaltyName))
            {
                minister.Loyalty = LoyaltyStringMap[loyaltyName];
            }
            else
            {
                minister.Loyalty = MinisterLoyalty.None;
                Log.Warning("[Minister] Invalid loyalty: {0} [{1}: {2}] ({3} L{4})", tokens[index], minister.Id,
                    minister.Name, lexer.FileName, lexer.LineNo);
            }
            index++;

            // 画像ファイル名
            minister.PictureName = tokens[index];

            return minister;
        }
Example #12
0
        /// <summary>
        ///     一括編集の個別処理
        /// </summary>
        /// <param name="minister">対象閣僚</param>
        /// <param name="args">一括編集のパラメータ</param>
        private static void BatchEditMinister(Minister minister, MinisterBatchEditArgs args)
        {
            // 開始年
            if (args.Items[(int) MinisterBatchItemId.StartYear])
            {
                if (minister.StartYear != args.StartYear)
                {
                    minister.StartYear = args.StartYear;
                    minister.SetDirty(MinisterItemId.StartYear);
                    SetDirty(minister.Country);
                }
            }

            // 終了年
            if (args.Items[(int) MinisterBatchItemId.EndYear])
            {
                if (minister.EndYear != args.EndYear)
                {
                    minister.EndYear = args.EndYear;
                    minister.SetDirty(MinisterItemId.EndYear);
                    SetDirty(minister.Country);
                }
            }

            // 引退年
            if (args.Items[(int) MinisterBatchItemId.RetirementYear])
            {
                if (minister.RetirementYear != args.RetirementYear)
                {
                    minister.RetirementYear = args.RetirementYear;
                    minister.SetDirty(MinisterItemId.RetirementYear);
                    SetDirty(minister.Country);
                }
            }

            // イデオロギー
            if (args.Items[(int) MinisterBatchItemId.Ideology])
            {
                if (minister.Ideology != args.Ideology)
                {
                    minister.Ideology = args.Ideology;
                    minister.SetDirty(MinisterItemId.Ideology);
                    SetDirty(minister.Country);
                }
            }

            // 忠誠度
            if (args.Items[(int) MinisterBatchItemId.Loyalty])
            {
                if (minister.Loyalty != args.Loyalty)
                {
                    minister.Loyalty = args.Loyalty;
                    minister.SetDirty(MinisterItemId.Loyalty);
                    SetDirty(minister.Country);
                }
            }
        }
Example #13
0
        /// <summary>
        ///     閣僚リストから項目を削除する
        /// </summary>
        /// <param name="minister"></param>
        public static void RemoveItem(Minister minister)
        {
            Log.Info("[Minister] Move minister: ({0}: {1}) <{2}>", minister.Id, minister.Name,
                Countries.Strings[(int) minister.Country]);

            Items.Remove(minister);

            // 使用済みIDリストから削除する
            IdSet.Remove(minister.Id);
        }
Example #14
0
        /// <summary>
        ///     閣僚リストの項目を移動する
        /// </summary>
        /// <param name="src">移動元の項目</param>
        /// <param name="dest">移動先の項目</param>
        public static void MoveItem(Minister src, Minister dest)
        {
            int srcIndex = Items.IndexOf(src);
            int destIndex = Items.IndexOf(dest);

            Log.Info("[Minister] Move minister: {0} -> {1} ({2}: {3}) <{4}>", srcIndex, destIndex, src.Id, src.Name,
                Countries.Strings[(int) src.Country]);

            if (srcIndex > destIndex)
            {
                // 上へ移動する場合
                Items.Insert(destIndex, src);
                Items.RemoveAt(srcIndex + 1);
            }
            else
            {
                // 下へ移動する場合
                Items.Insert(destIndex + 1, src);
                Items.RemoveAt(srcIndex);
            }
        }
Example #15
0
        /// <summary>
        ///     閣僚リストに項目を挿入する
        /// </summary>
        /// <param name="minister">挿入対象の項目</param>
        /// <param name="position">挿入位置の直前の項目</param>
        public static void InsertItem(Minister minister, Minister position)
        {
            int index = Items.IndexOf(position) + 1;

            Log.Info("[Minister] Insert minister: {0} ({1}: {2}) <{3}>", index, minister.Id, minister.Name,
                Countries.Strings[(int) minister.Country]);

            Items.Insert(index, minister);
        }
Example #16
0
 private void Init()
 {
     Minister = this.gameObject.AddComponent <Minister>();
     Minister.Init();
 }