Beispiel #1
0
 /// <summary>
 /// スキル選択時
 /// </summary>
 private void SkillSelectSubscribe()
 {
     foreach (var(icon, index) in _skillsView.Icons.Select((icon, index) => (icon, index)))
     {
         var image = icon.Find("Image").GetComponent <Image>();
         //マウスホバー時
         _container.Add(image.OnMouseEnterAsObservable().Subscribe(_ =>
         {
             var battler = BattlerDictionary.GetBattlerByUniqId(_battleModel.ActiveUniqId);
             var skill   = SkillsDicionary.GetEquippedSkillByIndex(battler, index);
             if (skill != null)
             {
                 _skillModel.HoverIndex = index;
                 _skillsView.Refresh(_skillModel);
                 _skillsView.ViewSkillDescription(skill.skillId, _battleModel.ActiveUniqId);
             }
         }));
         //マウスホバーアウト時
         _container.Add(image.OnMouseExitAsObservable().Subscribe(_ =>
         {
             _skillModel.HoverIndex = -1;
             _skillsView.Refresh(_skillModel);
             //_skillsView.CleanSkillDescription();
         }));
         //クリック
         _container.Add(image.OnMouseUpAsButtonAsObservable().Subscribe(_ =>
         {
             var battler = BattlerDictionary.GetBattlerByUniqId(_battleModel.ActiveUniqId);
             var skill   = SkillsDicionary.GetEquippedSkillByIndex(battler, index);
             if (skill != null)
             {
                 _skillModel.SkillId     = skill.skillId;
                 _skillModel.ActiveIndex = index;
                 BattlerSpriteModel.SkillSelectSubject.OnNext(Unit.Default);
                 if (SkillsDicionary.IsAll(skill) || SkillsDicionary.IsRandom(skill))
                 {
                     BattlerSpriteModel.AllSelectSubject.OnNext(Unit.Default);
                 }
             }
         }));
     }
     ;
 }