Пример #1
0
    /// <summary>
    /// 魔法が当たった時のダメージ処理
    /// </summary>
    public void Damage(BulletDataSO.BulletData bulletData)
    {
        int itemDrop = Random.Range(0, 100);

        //敵のHPを減算、HP量にHPバーを同期
        //attackLevelが1上がる毎に魔法の攻撃力が5ずつ上昇
        hp -= bulletData.power + GameLevel.instance.attackLevel * 5;
        BGMmanager.instance.PlaySE();
        UpdateHpBarValue(hp, maxHp);

        //HPが0になったら魂を生成して敵を破壊
        if (hp <= 0)
        {
            hp = 0;
            enemyGenerator.DecreaseEnemyCount();

            //ボスモンスターの場合
            if (isBoss == true)
            {
                //ボス撃破フラグの切り替え
                gameMaster.ChengeBossClear();
                enemyGenerator.isBossBattle = false;
            }

            //サーチ用エネミーリストからデータ削除、対応するインジケータの非表示

            //enemySearch.enemyList.Remove(enemyList[enemyNo]);

            // インジケーター表示対象をオフ
            if (targetIndicator != null)
            {
                targetIndicator.ResetTarget();
            }
            //searchArrow.GetComponent<Image>().enabled = false;

            //倒した敵の魂の生成、設定
            GameObject soul = Instantiate(downEffect, gameObject.transform.position + soulPos, Quaternion.identity);
            soul.GetComponent <DefeatEffect>().SetUpSoul(target);

            //アイテムを落とすかの判定
            if (itemDrop < 10)
            {
                EnemyDropItem();
            }

            gameMaster.CheckStageClear();

            Destroy(gameObject);
        }
    }