Exemplo n.º 1
0
 public void Trump_WideNarrow_Test()
 {
     Bench(ExampleText.TRUMP, 10, new[]
     {
         new Pair <string, Func <string, string> >("StrConv", targetText =>
         {
             var s = Strings.StrConv(targetText, VbStrConv.Wide, 0x411);
             s     = Strings.StrConv(s, VbStrConv.Narrow, 0x411);
             return(s);
         }),
         new Pair <string, Func <string, string> >("Kanaxs", targetText =>
         {
             var s = Kana.ToZenkaku(targetText);
             s     = Kana.ToHankaku(s);
             return(s);
         }),
         new Pair <string, Func <string, string> >("Kanaria", targetText =>
         {
             return(UcsString.From(targetText)
                    .Wide()
                    .Narrow()
                    .ToString());
         }),
     });
 }
Exemplo n.º 2
0
        private void Init(IEnumerable <KanaCharacter> kana)
        {
            int x = 0;
            int y = 0;

            foreach (var k in kana)
            {
                if (k != null)
                {
                    Kana.Add(new KanaVM(this, CodePoint.FromString(k.Kana), k.Romaji, x, y));
                }
                else
                {
                    Kana.Add(new KanaVM(this, null, null, x, y));
                }

                x++;
                if (x == 5)
                {
                    x = 0;
                    y++;
                }
            }

            Width  = x == 0 ? y : y + 1;
            Height = 5;

            var contents = Kana.OrderBy(k => k.X * Width + -k.Y).ToList();

            Kana.Clear();
            Kana.AddRange(contents);
        }
Exemplo n.º 3
0
        public async Task <IActionResult> Edit(int id, [Bind("ID,Pronunciation,Hiragana,Katakana")] Kana kana)
        {
            if (id != kana.ID)
            {
                return(NotFound());
            }

            if (ModelState.IsValid)
            {
                try
                {
                    _context.Update(kana);
                    await _context.SaveChangesAsync();
                }
                catch (DbUpdateConcurrencyException)
                {
                    if (!KanaExists(kana.ID))
                    {
                        return(NotFound());
                    }
                    else
                    {
                        throw;
                    }
                }
                return(RedirectToAction(nameof(Index)));
            }
            return(View(kana));
        }
Exemplo n.º 4
0
        public static string toHiragana(string s)
        {
            s = Kana.ToHiragana(s);
            s = toNormalizedHyphen(s);

            return(s);
        }
Exemplo n.º 5
0
 public void Wagahai_Katakana_HankakuZenkaku_Test()
 {
     Bench(ExampleText.WAGAHAI, 10, new[]
     {
         new Pair <string, Func <string, string> >("StrConv", targetText =>
         {
             var s = Strings.StrConv(targetText, VbStrConv.Katakana, 0x411);
             s     = Strings.StrConv(s, VbStrConv.Narrow, 0x411);
             return(Strings.StrConv(s, VbStrConv.Wide, 0x411));
         }),
         new Pair <string, Func <string, string> >("kanaxs", targetText =>
         {
             var s = Kana.ToKatakana(targetText);
             s     = Kana.ToHankakuKana(s);
             return(Kana.ToZenkakuKana(s));
         }),
         new Pair <string, Func <string, string> >("Kanaria", targetText =>
         {
             return(UcsString.From(targetText)
                    .Katakana()
                    .Narrow()
                    .Wide()
                    .ToString());
         }),
     });
 }
Exemplo n.º 6
0
        public static Yyyymm Parse(string yyyymm, string timeZoneId)
        {
            if ("今月".Equals(yyyymm))
            {
                var tz    = TimeZoneInfo.FindSystemTimeZoneById(timeZoneId);
                var nowTz = TimeZoneInfo.ConvertTimeFromUtc(DateTime.UtcNow, tz);
                return(Yyyymm.FromDate(nowTz));
            }
            else if ("先月".Equals(yyyymm))
            {
                var tz    = TimeZoneInfo.FindSystemTimeZoneById(timeZoneId);
                var nowTz = TimeZoneInfo.ConvertTimeFromUtc(DateTime.UtcNow, tz);
                return(Yyyymm.FromDate(nowTz.AddMonths(-1)));
            }

            int year  = 0;
            int month = 0;

            var hankaku = Kana.ToHankaku(yyyymm);
            var buf     = hankaku.Split('/', '-', '年', '月', '日');

            try
            {
                if (buf?.Length == 2 || buf?.Length == 3)
                {
                    year  = int.Parse(buf[0]);
                    month = int.Parse(buf[1]);
                }
                else if (hankaku.Length >= 4)
                {
                    year  = int.Parse(hankaku.Substring(0, 4));
                    month = int.Parse(hankaku.Substring(4, 2));
                }
                else
                {
                    Trace.WriteLine($"Yyyymm parse invalid length - {yyyymm}");
                    return(Yyyymm.Empty);
                }

                if (!(2000 <= year && year <= 3999))
                {
                    Trace.WriteLine($"Yyyymm parse failed - year is out of range {yyyymm}");
                    return(Yyyymm.Empty);
                }

                if (!(1 <= month && month <= 12))
                {
                    Trace.WriteLine($"Yyyymm parse failed - month is out of range {yyyymm}");
                    return(Yyyymm.Empty);
                }

                return(new Yyyymm(year, month));
            }
            catch (Exception)
            {
                Trace.WriteLine($"Yyyymm parse failed - {yyyymm}");
                return(Yyyymm.Empty);
            }
        }
Exemplo n.º 7
0
        public ActionResult DeleteConfirmed(int id)
        {
            Kana kana = db.Kana.Find(id);

            db.Kana.Remove(kana);
            db.SaveChanges();
            return(RedirectToAction("Index"));
        }
Exemplo n.º 8
0
        public KanaChartViewModel(MainWindowViewModel mainWindowViewModel, IEnumerable <Kana> kanaList)
        {
            _mainWindowViewModel = mainWindowViewModel;
            _selectedKana        = new Observable <KanaChartItemViewModel>();
            Kana = kanaList.Select(k => new KanaChartItemViewModel(k));

            SelectedKana = Kana.FirstOrDefault();
        }
Exemplo n.º 9
0
        public static string toZenkaku(string s)
        {
            s = Kana.ToZenkaku(s);
            s = KanaEx.ToZenkakuKana(s);
            s = toNormalizedHyphen(s);

            return(s);
        }
Exemplo n.º 10
0
 public ActionResult Edit([Bind(Include = "ID,Letter,Reading")] Kana kana)
 {
     if (ModelState.IsValid)
     {
         db.Entry(kana).State = EntityState.Modified;
         db.SaveChanges();
         return(RedirectToAction("Index"));
     }
     return(View(kana));
 }
Exemplo n.º 11
0
        public ActionResult Create([Bind(Include = "ID,Letter,Reading")] Kana kana)
        {
            if (ModelState.IsValid)
            {
                db.Kana.Add(kana);
                db.SaveChanges();
                return(RedirectToAction("Index"));
            }

            return(View(kana));
        }
Exemplo n.º 12
0
        public async Task <IActionResult> Create([Bind("ID,Pronunciation,Hiragana,Katakana")] Kana kana)
        {
            if (ModelState.IsValid)
            {
                _context.Add(kana);
                await _context.SaveChangesAsync();

                return(RedirectToAction(nameof(Index)));
            }
            return(View(kana));
        }
Exemplo n.º 13
0
        // 複数行テキストの追加(改行で文字列分割)
        public void AppendMultiLineComment(PdfContentByte pdfContentByte, string font, float fontSize, string text, float x, float y, float boxWidth, float boxHeight,
                                           int lines, float leading, string orientation = HORIZONTAL, float scale = 100f,
                                           int cyan = 0, int magenta = 0, int yellow = 0, int black = 255, int alignment = Element.ALIGN_LEFT)
        {
            var bf = BaseFont.CreateFont(font, BaseFont.IDENTITY_H, BaseFont.EMBEDDED);

            pdfContentByte.SetFontAndSize(bf, fontSize);
            pdfContentByte.SetHorizontalScaling(scale);

            pdfContentByte.SetCMYKColorFill(cyan, magenta, yellow, black);

            char[]   separator = new char[] { '\r', '\n' };
            string[] comments  = text.Split(separator, StringSplitOptions.RemoveEmptyEntries);

            // 横書きのパターン
            if (orientation == HORIZONTAL)
            {
                HorizontalText.SetMinScale(pdfContentByte, bf, comments, fontSize, boxWidth, scale);
                // y = y + boxHeight - leading;

                for (int i = 0; comments.Length > i; i++)
                {
                    if (i >= lines)
                    {
                        break;
                    }

                    string comment = comments[i];
                    HorizontalText.ShowTextH(pdfContentByte, x, y, comment, alignment, 0);
                    y -= leading;
                }
            }
            // 縦書きのパターン
            else
            {
                float vScale = VerticalText.GetMinVerticalScaling(comments, fontSize, boxHeight);
                x  = VerticalText.GetAlignedXV(x + boxWidth, fontSize) - leading;
                y -= fontSize * vScale;

                pdfContentByte.BeginText();
                for (int i = 0; comments.Length > i; i++)
                {
                    if (i >= lines)
                    {
                        break;
                    }

                    string comment = comments[i];
                    VerticalText.MakeVerticalLine(pdfContentByte, Kana.ToZenkaku(comment), x, y, fontSize, alignment, vScale, tatechuyoko: true, isShugo: true);
                    x -= leading;
                }
                pdfContentByte.EndText();
            }
        }
Exemplo n.º 14
0
        public void SetNextQuestion()
        {
            SelectedKana = null;

            _answerVisibility.Value = Visibility.Collapsed;
            _backgroundBrush.Value  = null;

            int questionIndex = _randomGenerator.Next(0, Kana.Count());

            _questionKanaItemViewModel.Value = Kana[questionIndex];

            _canSelectAnswer.Value = true;
        }
Exemplo n.º 15
0
        public string EncodeBlock(char kana)
        {
            //
            Kana result = fHiriganaList.FirstOrDefault(k => k.Character == kana);

            string s = null;

            if (result != null)
            {
                s = result.Label;
            }

            return(s);
        }
Exemplo n.º 16
0
        public char DecodeBlock(string block)
        {
            //
            Kana result = fHiriganaList.FirstOrDefault(k => k.Label == block);

            char c = (char)32;

            if (result != null)
            {
                c = result.Character;
            }

            return(c);
        }
Exemplo n.º 17
0
        // GET: Kanas/Edit/5
        public ActionResult Edit(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            Kana kana = db.Kana.Find(id);

            if (kana == null)
            {
                return(HttpNotFound());
            }
            return(View(kana));
        }
Exemplo n.º 18
0
        private static string Clean(string text)
        {
            var hankaku = Kana.ToHankaku(text);

            hankaku = hankaku
                      .Replace(Convert.ToChar(0x0A).ToString(), "")
                      .Replace("\0", "")
                      .Replace("\b", "")
                      .Replace("\n", "")
                      .Replace("\r", "")
                      .Replace("\t", "")
                      .Replace("(", "")
                      .Replace(")", "")
                      .Replace(":", "")
            ;
            return(_regex.Replace(hankaku, ""));
        }
Exemplo n.º 19
0
        public static Hhmm Parse(string hhmm)
        {
            try
            {
                int hour   = 0;
                int minute = 0;

                var hankaku = Kana.ToHankaku(hhmm);
                var buf     = hankaku.Split(':', '-', '時', '分', '秒');

                if (buf?.Length == 2 || buf?.Length == 3 || buf?.Length == 4)
                {
                    hour   = int.Parse(buf[0]);
                    minute = int.Parse(buf[1]);
                }
                if (hhmm.Length >= 4)
                {
                    hour   = int.Parse(hhmm.Substring(0, 2));
                    minute = int.Parse(hhmm.Substring(2));
                }
                else
                {
                    return(Hhmm.Empty);
                }

                if (!(0 <= hour && hour <= 36))
                {
                    Trace.WriteLine($"Hhmm parse failed - hour is out of range {hhmm}");
                    return(Hhmm.Empty);
                }

                if (!(0 <= minute && minute <= 59))
                {
                    Trace.WriteLine($"Hhmm parse failed - minute is out of range {hhmm}");
                    return(Hhmm.Empty);
                }

                return(new Hhmm(hour, minute));
            }
            catch (Exception)
            {
                Trace.WriteLine($"Hhmm parse failed - {hhmm}");
                return(Hhmm.Empty);
            }
        }
Exemplo n.º 20
0
        public Sentence(SentenceDefinition sd)
        {
            KanjiKana = sd.KanjiKana;
            Kana      = sd.Kana;
            var charArray = Kana.ToCharArray();
            var charList  = new List <char>(charArray);
            var strList   = charList.Select(c => c.ToString()).ToList();

            var isSokuon = false;
            var from     = 0;

            for (int i = 0; i < strList.Count(); i++)
            {
                if (i < strList.Count() - 1) //最終文字ならチャンク確定
                {
                    if (!isSokuon)
                    {
                        isSokuon = KanaUtils.IsSokuon(strList[i]);
                        if (isSokuon)
                        {
                            from--;
                            continue;
                        }
                    }

                    var chkStr = strList[i] + strList[i + 1];
                    if (KanaUtils.Henkan.ContainsKey(chkStr))
                    {
                        from--;
                        continue;
                    }
                }

                var chunkStr = "";
                for (int j = from; j < 1; j++)
                {
                    chunkStr = chunkStr + strList[i + j];
                }
                ;

                ChunkList.Add(new Chunk(chunkStr, isSokuon));
                isSokuon = false;
                from     = 0;
            }
        }
Exemplo n.º 21
0
 public void Wagahai_Katakana_Test()
 {
     Bench(ExampleText.WAGAHAI, 10, new[]
     {
         new Pair <string, Func <string, string> >("StrConv", targetText =>
         {
             return(Strings.StrConv(targetText, VbStrConv.Katakana, 0x411));
         }),
         new Pair <string, Func <string, string> >("kanaxs", targetText =>
         {
             return(Kana.ToKatakana(targetText));
         }),
         new Pair <string, Func <string, string> >("Kanaria", targetText =>
         {
             return(UcsString.From(targetText).Katakana().ToString());
         }),
     });
 }
Exemplo n.º 22
0
 // 1行テキストの追加
 public float Append(PdfContentByte pdfContentByte, string text, float x, float y, float boxWidth, float boxHeight,
                     float fontSize, string font, int alignment = 0, int cyan = 0, int magenta = 0, int yellow = 0, int black = 255,
                     float rotation = 0, float scale = 100f, string orientation = HORIZONTAL)
 {
     if (orientation == HORIZONTAL)
     {
         float ScaledWidth = HorizontalText.SetFontH(pdfContentByte, font, fontSize, text, boxWidth, cyan, magenta, yellow, black, scale);
         HorizontalText.ShowTextH(pdfContentByte, x, y, text, alignment, rotation);
         return(ScaledWidth + x);
     }
     else
     {
         VerticalText.SetFontV(pdfContentByte, font, fontSize, text, cyan, magenta, yellow, black);
         pdfContentByte.SetHorizontalScaling(100f);
         float alignedY = VerticalText.ShowTextV(pdfContentByte, Kana.ToZenkaku(text), x, y, fontSize, boxHeight, alignment);
         return(alignedY);
     }
 }
Exemplo n.º 23
0
        public static IEnumerable <Kana> GetRandomKatakanaWithVoicedConsonants()
        {
            Random      ran   = new Random();
            List <Kana> res   = new List <Kana>(katakana.Concat(hiraganaVoiced));
            int         index = 0;
            Kana        temp  = null;

            for (int i = 0; i < res.Count; i++)
            {
                index = ran.Next(0, res.Count - 1);
                if (index != i)
                {
                    temp       = res[i];
                    res[i]     = res[index];
                    res[index] = temp;
                }
            }
            return(res);
        }
Exemplo n.º 24
0
        public static IEnumerable <Kana> GetRandomHiragana()
        {
            Random      ran   = new Random();
            List <Kana> res   = new List <Kana>(hiragana);
            int         index = 0;
            Kana        temp  = null;

            for (int i = 0; i < res.Count; i++)
            {
                index = ran.Next(0, res.Count - 1);
                if (index != i)
                {
                    temp       = res[i];
                    res[i]     = res[index];
                    res[index] = temp;
                }
            }
            return(res);
        }
Exemplo n.º 25
0
        public JapaneseCalendarLibrary(DateTime originalDate,
                                       bool treatFirstYearSpecially, bool makeNumbersFullWidth)
        {
            // originalDate is not null because it came from OutSystems as a Date Type value and it doesn't have null DateTime.
            // The minimum value of Date Type is #1900-01-01#
            var japaneseCalendar = new JapaneseCalendar();

            this.Era           = japaneseCalendar.GetEra(originalDate);
            this.EraText       = ERA_TEXTS[this.Era];
            this.YearInEra     = japaneseCalendar.GetYear(originalDate);
            this.YearInEraText = (this.YearInEra == 1 && treatFirstYearSpecially ? "元年" : this.YearInEra + "年");
            if (makeNumbersFullWidth)
            {
                this.YearInEraText = Kana.ToZenkaku(this.YearInEraText);
            }
            this.DateText = $"{this.EraText}{this.YearInEraText}{originalDate.Month}月{originalDate.Day}日";
            if (makeNumbersFullWidth)
            {
                this.DateText = Kana.ToZenkaku(this.DateText);
            }
        }
Exemplo n.º 26
0
        //------------------------------------------------------------------------
        // 辞書に見つからなかった語を自動変換する
        //   ハングル <---> カタカナ
        private WordTable ConvAutoConv(WordTable wt)
        {
            if (wt.IsTranslated())
            {
                return(wt);  // 変換済みなら何もしない
            }

            if (!this.sTrans.AutoConv)
            {
                return(wt);  // AutoConvをoffにしている場合は何もせず抜ける。
            }

            if (KJ_dict.inputIsHangul)
            {
                // K-->J方向
                if (CodeCheck.IsHangul(wt.word))
                {
                    wt.transWord = Hangul.Hangul2Kana(wt.word);
                }
            }
            else
            {
                // J-->方向
                if (wt.charCategory == CharCategory.Katakana)
                {
                    // カタカナの場合
                    wt.transWord = Kana.Kana2Hangul(wt.word);
                }
                else
                {
                    if (wt.charCategory == CharCategory.Hiragana)
                    {
                        // ひらがなの場合
                        wt.transWord = Kana.Hira2Hangul(wt.word);
                    }
                }
            }

            return(wt);
        }
Exemplo n.º 27
0
        private void ShowKana(Kana kana)
        {
            if (kana == null)
            {
                return;
            }

            if (StrokeOrder)
            {
                if (IsKatakana)
                {
                    SignPath     = kana.KatakanaPath;
                    SignPathIcon = kana.KatakanaOnlyPath;
                }
                else if (IsHiragana)
                {
                    SignPath     = kana.HiraganaPath;
                    SignPathIcon = kana.HiraganaOnlyPath;
                }
                else if (IsMixed)
                {
                    Random rand = new Random();
                    if (rand.Next(0, 2) == 1)
                    {
                        SignPath     = kana.KatakanaPath;
                        SignPathIcon = kana.KatakanaOnlyPath;
                    }
                    else
                    {
                        SignPath     = kana.HiraganaPath;
                        SignPathIcon = kana.HiraganaOnlyPath;
                    }
                }
            }
            else
            {
                if (IsKatakana)
                {
                    SignPath     = kana.KatakanaOnlyPath;
                    SignPathIcon = kana.KatakanaOnlyPath;
                }
                else if (IsHiragana)
                {
                    SignPath     = kana.HiraganaOnlyPath;
                    SignPathIcon = kana.HiraganaOnlyPath;
                }
                else if (IsMixed)
                {
                    Random rand = new Random();
                    if (rand.Next(0, 2) == 1)
                    {
                        SignPath     = kana.KatakanaOnlyPath;
                        SignPathIcon = kana.KatakanaOnlyPath;
                    }
                    else
                    {
                        SignPath     = kana.HiraganaOnlyPath;
                        SignPathIcon = kana.HiraganaOnlyPath;
                    }
                }
            }

            DakutenPath = kana.DakutenPath;
        }
Exemplo n.º 28
0
 bool NoFurigana(string text, string furigana) =>
 string.IsNullOrEmpty(furigana) ||
 text == furigana ||
 Kana.IsHiragana(text) ||
 Kana.IsKatakana(text);
Exemplo n.º 29
0
 public override int GetHashCode()
 {
     return(5 * Kana.GetHashCode() + 7 * Ego.GetHashCode());
 }
Exemplo n.º 30
0
        // 一行分の縦書きテキストを出力する
        public static float MakeVerticalLine(PdfContentByte pdfContentByte, string text, float x, float y, float fontSize, int alignment, float vScale,
                                             bool tatechuyoko = false, bool isShugo = false)
        {
            // index番目の文字を取得
            char GetChar(string str, int index)
            {
                try
                {
                    return(str[index]);
                }
                catch (IndexOutOfRangeException)
                {
                    return('_');
                }
            }

            string zenNum     = "0123456789";
            string kakkoStart = "(「【『<[〈《〔{";
            string kakkoEnd   = ")」】』>]〉》〕}";
            string rotate     = "ー~-:;〜";
            string touten     = "、。.,.,";
            bool   asHankaku  = false;

            for (var i = 0; text.Length > i; i++)
            {
                char c = text[i];
                char prev, next, nextnext;

                if ((kakkoStart.IndexOf(c) >= 0 || kakkoEnd.IndexOf(c) >= 0 || rotate.IndexOf(c) >= 0) && !isShugo)  // 括弧は90度回転させて移動(非集合チラシ)
                {
                    pdfContentByte.ShowTextAligned(alignment, c.ToString(), 0, -1 * vScale, 1, 0, x + (fontSize / 2), y - (fontSize * vScale / 2), 0);
                }
                else if ((kakkoStart.IndexOf(c) >= 0 || kakkoEnd.IndexOf(c) >= 0 || rotate.IndexOf(c) >= 0) && isShugo)  // 括弧は90度回転させて移動(集合チラシ)
                {
                    pdfContentByte.ShowTextAligned(alignment, c.ToString(), 0, -1 * vScale, 1, 0, x + (fontSize / 8), y + (fontSize * vScale * 7 / 8), 0);
                }
                else if (touten.IndexOf(c) >= 0)  // 読点
                {
                    pdfContentByte.ShowTextAligned(alignment, c.ToString(), 1, 0, 0, vScale, x + (fontSize / 2), y + (fontSize * vScale / 2), 0);
                }
                else if (zenNum.IndexOf(c) >= 0 && tatechuyoko)   // 数字(縦中横の設定)
                {
                    prev     = GetChar(text, i - 1);
                    next     = GetChar(text, i + 1);
                    nextnext = GetChar(text, i + 2);

                    if (zenNum.IndexOf(prev) < 0 && zenNum.IndexOf(next) >= 0 && zenNum.IndexOf(nextnext) < 0)
                    {
                        pdfContentByte.ShowTextAligned(alignment, Kana.ToHankaku(c.ToString()), 1, 0, 0, vScale, x - (fontSize / 6), y, 0);
                        pdfContentByte.ShowTextAligned(alignment, Kana.ToHankaku(next.ToString()), 1, 0, 0, vScale, x + (fontSize / 2), y, 0);
                        i++;
                    }
                    else
                    {
                        pdfContentByte.ShowTextAligned(alignment, c.ToString(), 1, 0, 0, vScale, x, y, 0);
                    }
                }
                else
                {
                    pdfContentByte.ShowTextAligned(alignment, c.ToString(), 1, 0, 0, vScale, x, y, 0);
                }

                // 半角文字かどうかを判定する
                next = GetChar(text, i + 1);
                if (kakkoEnd.IndexOf(c) >= 0 || kakkoStart.IndexOf(next) >= 0 || touten.IndexOf(c) >= 0)
                {
                    asHankaku = true;
                }

                if (asHankaku)
                {
                    y -= (fontSize * vScale) / 2.0f;
                }
                else
                {
                    y -= fontSize * vScale;
                }

                asHankaku = false;
            }

            return(y);
        }
Exemplo n.º 31
0
        public override void LoadContent()
        {
            base.LoadContent();

            texture = mainGame.Content.Load<Texture2D>("IjinSelect/NameSelect/kana");

            tagWidth = width/12;

            selectedTag = Kana.あ;

            //描画領域を計算
            tagRect = new Rectangle[10];
            for (int i = 0; i < tagRect.Length; i++)
            {
                tagRect[i] = new Rectangle(tagWidth + tagWidth * i, 20, tagWidth, tagWidth);
            }
            backRect = new Rectangle(tagWidth,20+tagWidth, tagWidth * tagRect.Length , tagWidth*tagRect.Length/2);

            //偉人の一覧を作成
            personList = new ItemList<Person>[10];
            for (int i = 0; i < personList.Length; i++)
            {
                personList[i] = new ItemList<Person>(mainGame,
                    Person.NameSelectPersons(((Kana)i).ToString()[0]),
                    mainGame.Content.Load<SpriteFont>("Important/meirio_14"),
                    backRect);
                personList[i].LoadContent();

            }
            //フェードインを有効に
            fadeIn.isEnabled = true;
        }
Exemplo n.º 32
0
        public override void Update()
        {
            //タグを次にすすめる
            if (beforeKeyboardState.IsKeyUp(Microsoft.Xna.Framework.Input.Keys.Right) && nowKeyboardState.IsKeyDown(Microsoft.Xna.Framework.Input.Keys.Right))
            {
                selectedTag += 1;
                if ((int)selectedTag == 10)
                {
                    selectedTag = (Kana)0;

                }
            }

            //タグを前に戻す
            if (beforeKeyboardState.IsKeyUp(Microsoft.Xna.Framework.Input.Keys.Left) && nowKeyboardState.IsKeyDown(Microsoft.Xna.Framework.Input.Keys.Left))
            {
                selectedTag -= 1;
                if ((int)selectedTag == -1)
                {
                   selectedTag = (Kana)9;
                }
            }

            //リストを更新
            personList[(int)selectedTag].Update();

            //フェードアウトする
            if (beforeKeyboardState.IsKeyUp(Microsoft.Xna.Framework.Input.Keys.Enter) && nowKeyboardState.IsKeyDown(Microsoft.Xna.Framework.Input.Keys.Enter))
            {
                fadeOut.isEnabled = true;

            }

            //次の状態(Profile)に移る
            if (fadeOut.count >= 0.9f)          //ちょっとごまかしてみる(;^ω^)
            {
                //注目している偉人を変更する
                mainGame.person = personList[(int)selectedTag].items[personList[(int)selectedTag].selectedIndex];
                //人が切り替わるためもう一度コンテンツをロードする
                mainGame.statusMains[(int)Status.Profile].LoadContent();
                mainGame.status = Status.Profile;
            }

            base.Update();
        }