Esempio n. 1
0
        private void SkillToSubscribe()
        {
            _container.Add(_battlerSpriteModel.SelectedSubject.Subscribe(_ =>
            {
                var skill   = SkillsDicionary.GetSkillById(_skillModel.SkillId);
                var battler = BattlerDictionary.GetBattlerByUniqId(_battleModel.ActiveUniqId);
                switch (skill.target)
                {
                case SkillConsts.ENEMY:
                case SkillConsts.MEMBER:
                    var uniqId    = _battlerSpriteModel.SelectUniqId;
                    var toBattler = BattlerDictionary.GetBattlerByUniqId(uniqId);
                    BattleLogic.SkillToSingle(skill.skillId, battler, toBattler)
                    .Subscribe(
                        __ => { _battleModel.NextTurn.OnNext(Unit.Default); });
                    break;

                case SkillConsts.ALL_ENEMY:
                    BattleLogic.SkillToAll(skill.skillId, battler,
                                           BattleDictionary.GetRivalBattlers(battler.battlerType)).Subscribe(__ =>
                    {
                        _battleModel.NextTurn.OnNext(Unit.Default);
                    });
                    break;

                case SkillConsts.ALL_MEMBER:
                    BattleLogic.SkillToAll(skill.skillId, battler,
                                           BattleDictionary.GetMemberBattlers(battler.battlerType)).Subscribe(__ =>
                    {
                        _battleModel.NextTurn.OnNext(Unit.Default);
                    });
                    break;

                case SkillConsts.RANDOM_ENEMY:
                    BattleLogic.SkillToRandom(skill.skillId, battler,
                                              BattleDictionary.GetRivalUniqIds(BattlerEnum.BattlerType.Actor)).Subscribe(
                        __ =>
                    {
                        _battleModel.NextTurn.OnNext(Unit.Default);
                    });
                    break;

                case SkillConsts.RANDOM_MEMBER:
                    BattleLogic.SkillToRandom(skill.skillId, battler,
                                              BattleDictionary.GetMemberUniqIds(BattlerEnum.BattlerType.Actor)).Subscribe(
                        __ =>
                    {
                        _battleModel.NextTurn.OnNext(Unit.Default);
                    });
                    break;
                }
            }));
        }
Esempio n. 2
0
        public static bool AllEnemyDeadCheck()
        {
            var battlers = BattleDictionary.GetRivalBattlers(BattlerEnum.BattlerType.Actor);

            foreach (var battler in battlers)
            {
                if (DeadCheck(battler) == false)
                {
                    return(false);
                }
            }
            return(true);
        }