Exemple #1
0
    private void initEnemy(int enemy_id)
    {
        if (m_BattleDispEnemy != null && m_MasterDataParamEnemys != null)
        {
            //MasterDataParamEnemy enemy_master = searchEnemy(enemy_id);
            int index = searchEnemyIndex(enemy_id);
            MasterDataParamEnemy enemy_master = m_MasterDataParamEnemys[index];

            if (enemy_master != null)
            {
                MasterDataParamChara chara_master = MasterFinder <MasterDataParamChara> .Instance.Find((int)enemy_master.chara_id);

                if (chara_master != null)
                {
                    MasterDataParamEnemy wrk_enemy_master = new MasterDataParamEnemy();
                    wrk_enemy_master.Copy(enemy_master); //元のマスターデータに影響が出ないようにコピーを作成
                    BattleEnemy battle_enemy = null;
                    {
                        battle_enemy = new BattleEnemy();
                        battle_enemy.setMasterData(wrk_enemy_master, chara_master);
                        battle_enemy.m_EnemyAttack        = enemy_master.status_pow;
                        battle_enemy.m_EnemyDefense       = enemy_master.status_def;
                        battle_enemy.m_EnemyHP            = enemy_master.status_hp;
                        battle_enemy.m_EnemyHPMax         = enemy_master.status_hp;
                        battle_enemy.m_EnemyDrop          = 0;
                        battle_enemy.m_StatusAilmentChara = new StatusAilmentChara(StatusAilmentChara.OwnerType.ENEMY);
                        battle_enemy.setAcquireDropUnit(false);
                    }
                    m_CurrentBattleEnemy   = battle_enemy;
                    m_CurrentEnemyDispInfo = m_EnemyDispInfos[index];

                    setInfoToInteface();
                    setInfoToWorkMaster();

                    m_BattleEnemys    = new BattleEnemy[1];
                    m_BattleEnemys[0] = battle_enemy;

                    m_BattleDispEnemy.instanceObject(m_BattleEnemys);

                    m_BattleDispEnemy.gameObject.SetLayerRecursively(LayerMask.NameToLayer("BATTLE")); // レイヤーを設定し直し

                    m_BattleDispEnemy.showTargetCursor(0);                                             // ターゲットカーソルを表示
                }
            }
            else
            {
                m_BattleDispEnemy.instanceObject(null);
            }
        }
    }
Exemple #2
0
    private void initMasterData()
    {
        // sort
        if (m_MasterDataParamEnemys != null)
        {
            List <MasterDataParamEnemy> aaa = new List <MasterDataParamEnemy>(m_MasterDataParamEnemys);
            aaa.Sort((a, b) => (int)a.fix_id - (int)b.fix_id);
            m_MasterDataParamEnemys = aaa.ToArray();
        }

        // 位置補正情報を初期化
        if (m_MasterDataParamEnemys != null)
        {
            m_EnemyDispInfos = new EnemyDispInfo[m_MasterDataParamEnemys.Length];
            for (int idx = 0; idx < m_EnemyDispInfos.Length; idx++)
            {
                MasterDataParamEnemy enemy_master = m_MasterDataParamEnemys[idx];
                if (enemy_master != null)
                {
                    EnemyDispInfo disp_info = new EnemyDispInfo();
                    disp_info.m_OriginalMasterData = enemy_master;

                    disp_info.m_IsUsePosition = (enemy_master.pos_absolute == MasterDataDefineLabel.BoolType.ENABLE);
                    disp_info.m_PositionX     = enemy_master.posx_offset;
                    disp_info.m_PositionY     = enemy_master.posy_offset;

                    disp_info.m_HpGaugeType = enemy_master.hp_gauge_type;
                    disp_info.m_HpGaugeX    = enemy_master.hp_posx_offset;
                    disp_info.m_HpGaugeY    = enemy_master.hp_posy_offset;

                    disp_info.m_IsUseTargetPosition = (enemy_master.target_pos_absolute == (int)MasterDataDefineLabel.BoolType.ENABLE);
                    disp_info.m_TargetX             = enemy_master.target_posx_offset;
                    disp_info.m_TargetY             = enemy_master.target_posy_offset;

                    m_EnemyDispInfos[idx] = disp_info;
                }
            }
        }
    }