Exemplo n.º 1
0
 private void ShowSecond()
 {
     First.IsVisible = false;
     MagicCircle.Show(this, 1000, async() =>
     {
         Flash.Show(this);
         Current.CountUpBattle();
         Enemy            = await _vm.GetOtherRandomAsync();
         Second.IsVisible = true;
         SecondButton.Refresh();
     });
 }
Exemplo n.º 2
0
        private void ShowNames()
        {
            Sound.Pray();
            MagicCircle.Show(this, 3000, () =>
            {
                Flash.Show(this, 1000, () =>
                {
                    Second.IsVisible = true;
                    var masters      = CodeMasterServce.GetMasters <JobMaster>();
                    var target1      = CodeMasterServce.GetNameRandom();
                    while (_vm.User.Names.Any(item => target1.Attribute == item.Attribute))
                    {
                        target1 = CodeMasterServce.GetNameRandom();
                    }
                    var target2 = masters[MyRandom.GetRandom(masters.Count)];
                    var gotName = new Name(target1, target2);
                    _vm.User.Names.Add(gotName);

                    var name               = new Chu2Name();
                    name.BindingContext    = gotName;
                    name.ShowAttribute     = true;
                    name.ShowAttributeType = true;
                    name.ShowParameter     = true;
                    GetResult.Children.Add(name);

                    var image               = new Charactor();
                    image.BindingContext    = gotName;
                    image.HorizontalOptions = LayoutOptions.End;
                    Second.Children.Insert(0, image);

                    Device.StartTimer(TimeSpan.FromSeconds(3), () =>
                    {
                        if (_vm.User.Names.Count == 2)
                        {
                            Second.IsVisible  = false;
                            Third.IsVisible   = true;
                            _vm.User.MainName = _vm.User.Names[0];
                            _vm.User.SubName  = _vm.User.Names[1];
                            Sound.Normal();
                            _steps.Next();
                        }
                        else
                        {
                            GetResult.Children.Clear();
                            Second.Children.Remove(image);
                            ShowNames();
                        }
                        return(false);
                    });
                });
            });
        }
Exemplo n.º 3
0
 void _battle_DamagedEvent(object sender, DamageEventArgs args)
 {
     if (args.Target == Current)
     {
         if (args.Damage == 0)
         {
             Damege.Show(CurrentDamage, "Miss");
             return;
         }
         Damege.Show(CurrentDamage, args.Damage.ToString());
         CurrentImage.Damaged();
         if (args.IsCritical)
         {
             Flash.Show(this);
             MagicCircle.Show(this, 500);
             CutInFace.Show(this, new NameModelViewModel().Hissatsu, Enemy.MainName, false, 2);
             DependencyService.Get <IDeviceService>().PlayVibrate();
         }
         else if (MyRandom.GetRandom(10) > 3)
         {
             BattleComment.Show(BattleCommentAreaForCurrent, Current.GetBattleComment());
         }
     }
     else
     {
         if (args.Damage == 0)
         {
             Damege.Show(EnemyDamage, "Miss");
             return;
         }
         Damege.Show(EnemyDamage, args.Damage.ToString());
         EnemyImage.Damaged();
         if (args.IsCritical)
         {
             Flash.Show(this);
             MagicCircle.Show(this, 500);
             CutInFace.Show(this, new NameModelViewModel().Hissatsu, Current.MainName, true, 2);
             DependencyService.Get <IDeviceService>().PlayVibrate();
         }
         else if (MyRandom.GetRandom(10) > 3)
         {
             BattleComment.Show(BattleCommentAreaForEnemy, Enemy.GetBattleComment());
         }
     }
 }
Exemplo n.º 4
0
        private void ShowSecond()
        {
            First.IsVisible = false;
            if (!string.IsNullOrEmpty(_achivementCode))
            {
                StartPrayText.Text = "実績解禁!!";
            }
            StartPray.IsVisible = true;
            Sound.Pray();
            Sound.PrayVoice();
            MagicCircle.Show(this, 3000, () =>
            {
                StartPray.IsVisible = false;
                Flash.Show(this, 1000, () =>
                {
                    Second.IsVisible = true;
                    var masters      = CodeMasterServce.GetMasters <JobMaster>();
                    var target1      = string.IsNullOrEmpty(_achivementCode) ? CodeMasterServce.GetNameRandom() : CodeMasterServce.GetNameRandomByAttribute(_achivementCode);
                    var target2      = masters[MyRandom.GetRandom(masters.Count)];
                    var gotName      = new Name(target1, target2);

                    var name               = new Chu2Name();
                    name.BindingContext    = gotName;
                    name.ShowAttribute     = true;
                    name.ShowAttributeType = true;
                    name.ShowParameter     = true;
                    GetResult.Children.Add(name);

                    var image               = new Charactor();
                    image.BindingContext    = gotName;
                    image.HorizontalOptions = LayoutOptions.End;
                    Second.Children.Insert(0, image);

                    _current.CountUpPray();

                    var hasName = _current.Names.FirstOrDefault(n => n.Attribute == gotName.Attribute);

                    if (hasName != null)
                    {
                        BackButton.IsVisible = false;
                        Device.StartTimer(TimeSpan.FromSeconds(3), () =>
                        {
                            SelectItem.Show(this, "同じ属性の二つ名を既に持っています。二つ名を入れ替えますか?",
                                            new List <SelectItem.Item>()
                            {
                                new SelectItem.Item()
                                {
                                    Label    = "二つ名を入れ替える",
                                    Selected = () => {
                                        _current.Names.Remove(hasName);
                                        AddNewName(gotName);
                                        Device.StartTimer(TimeSpan.FromSeconds(2), () => { Back(); return(false); });
                                    }
                                },
                                new SelectItem.Item()
                                {
                                    Label    = "キャンセル",
                                    Selected = () => {
                                        CutIn.Show(this, "二つ名の取得をキャンセルしました", 3, () => { Back(); });
                                    }
                                }
                            });
                            return(false);
                        });
                    }
                    else
                    {
                        AddNewName(gotName);
                    }
                });
            });
        }