Exemplo n.º 1
0
        public override IEnumerator OneTurnCoroutine(AbsCharacterManager otherManager)
        {
            yield return(base.OneTurnCoroutine(otherManager));

            // Save data for Boss Battle
            if (BattleDataManager.Instance.BattleType == ConstCollections.PJEnums.Battle.BATTLE_TYPE.BOSS_BATTLE)
            {
                List <EnemySaveDataFormat> _enemySaveDataList = new List <EnemySaveDataFormat> ();
                this.ControllerList.ForEach(col => {
                    EnemyController _enemyController = col as EnemyController;
                    var _savedata = new EnemySaveDataFormat(_enemyController.EnemyDataCache.Attributes, _enemyController.FightData.AttributesAggregateBuff);
                    _enemySaveDataList.Add(_savedata);
                });

                BattleSaveDataManager.Instance.SaveEnemyData(_enemySaveDataList);
            }
        }
Exemplo n.º 2
0
        public EnemyDataFormat(int slotID, BossTable dbData, EnemySaveDataFormat enemySaveData = null)
        {
            this.Attributes = new EnemyAttributeFormat(slotID, dbData);

            if (enemySaveData != null)
            {
                this.AttributesAggregateBuff = enemySaveData.AttributesAggregateBuff.CloneEx();
            }

            this.AnimationInfo = new EnemyAnimationFormat(dbData);

            var _skillDataList = BossSkillTableReader.Instance.FindDefaultByMonsterID(dbData.ID);

            if (_skillDataList != null)
            {
                this.SkillList = new List <EnemySkillFormat> ();
                _skillDataList.ForEach(_skillData => {
                    this.SkillList.Add(new EnemySkillFormat(_skillData));
                });
            }

            this.EquipmentList = new List <EnemyEquipmentFormat> ();
        }
Exemplo n.º 3
0
        public List <EnemyDataFormat> LoadBossBattleEnemyData()
        {
            var _battleSaveData = BattleDataManager.Instance.BattleDataCache;

            var _bossBattleTableList = BossBattleTableReader.Instance.FindDefault(_battleSaveData.Area, _battleSaveData.Level);

            var _enemyList = new List <EnemyDataFormat> ();

            _bossBattleTableList.ForEach(enemyInfo => {
                EnemyDataFormat _enemy = null;
                EnemySaveDataFormat _savedEnemyData = null;

                if (_battleSaveData.BossBattleEnemyList != null && _battleSaveData.BossBattleEnemyList.Count > 0)
                {
                    _savedEnemyData = _battleSaveData.BossBattleEnemyList.Find(data => {
                        return(data.EnemyID == enemyInfo.EnemyID && data.Type == enemyInfo.Type);
                    });
                }

                if (enemyInfo.Type == ENEMY_TYPE.MONSTER)
                {
                    _enemy = new EnemyDataFormat(enemyInfo.SlotID, MonsterTableReader.Instance.FindDefaultUnique(enemyInfo.EnemyID), _savedEnemyData);
                }
                else if (enemyInfo.Type == ENEMY_TYPE.BOSS)
                {
                    _enemy = new EnemyDataFormat(enemyInfo.SlotID, BossTableReader.Instance.FindDefaultUnique(enemyInfo.EnemyID), _savedEnemyData);
                }
                _enemyList.Add(_enemy);
            });

            if (_enemyList.Count == 0)
            {
                return(null);
            }

            return(_enemyList);
        }