private void OnTriggerEnter2D(Collider2D collision)
    {
        if (collision.CompareTag("Enemy"))
        {
            //敵がダメージを受けたとき。
            PlayerControllerScript.AttackColliderMode = true;
            enemy_status = collision.gameObject.GetComponent <EnemyStatus>();
            boss_status_player_similar = collision.gameObject.GetComponent <BossStatusSimilarPlayer>();
            gun_boss_status            = collision.gameObject.GetComponent <GunBossStatusScript>();

            if (enemy_status != null)
            {
                enemy_status.Damage = true;
                collision.gameObject.GetComponent <AudioSource>().Play();
                collision.gameObject.GetComponent <ChaseToPlayer>().WalkMode = false;
                if (player_status.SpecialAttackMode)
                {
                    Instantiate(ExplosionObject, collision.gameObject.transform.position, Quaternion.identity);
                }
                enemy_status.Attacked(player_status.Attack);
            }
            if (gun_boss_status != null)
            {
                gun_boss_status.Damage = true;
                //gun_boss_status.gameObject.GetComponent<GunBossMoveScript>().MoveMode = false;
                if (player_status.SpecialAttackMode)
                {
                    Instantiate(ExplosionObject, collision.gameObject.transform.position, Quaternion.identity);
                }
                gun_boss_status.Attacked(player_status.Attack);
            }
            if (boss_status_player_similar != null)
            {
                boss_status_player_similar.Damage = true;
                boss_status_player_similar.gameObject.GetComponent <EnemyBossSimilarPlayerMoveScript>().MoveMode = false;
                if (player_status.SpecialAttackMode)
                {
                    Instantiate(ExplosionObject, collision.gameObject.transform.position, Quaternion.identity);
                }
                boss_status_player_similar.Attacked(player_status.Attack);
            }
        }
        if (collision.CompareTag("Player") && EnemyBossSimilarPlayerControllerScript != null)
        {
            // SimilarBossPlayerの攻撃
            EnemyBossSimilarPlayerControllerScript.AttackColliderMode = true;
            PlayerStatus player_status = collision.gameObject.GetComponent <PlayerStatus>();
            if (EnemyBossSimilarPlayerControllerScript.SpecialAttackMode)
            {
                Instantiate(ExplosionObject, collision.gameObject.transform.position, Quaternion.identity);
            }
            player_status.Attacked(EnemyBossSimilarPlayerControllerScript.gameObject.GetComponent <BossStatusSimilarPlayer>().Attack, boss_status_player_similar.KnockPower);
        }
    }
 // Start is called before the first frame update
 void Start()
 {
     boxCollider    = this.gameObject.GetComponent <BoxCollider2D>();
     ColliderOffSet = boxCollider.offset;
     ColliderSize   = boxCollider.size;
     if (AttackToPlayerOrEnemy.Enemy == attackToPlayerOrEnemy)
     {
         PlayerControllerScript = GameObject.FindWithTag("Player").GetComponent <PlayerControllerScript>();
         this.gameObject.SetActive(false);
         player_status = GameObject.FindWithTag("Player").GetComponent <PlayerStatus>();
     }
     else if (AttackToPlayerOrEnemy.Player == attackToPlayerOrEnemy)
     {
         EnemyBossSimilarPlayerControllerScript = EnemyBossSimilarPlayerControllerScript.enemy_boss_controller;
         boss_status_player_similar             = EnemyBossSimilarPlayerControllerScript.enemy_boss_controller.gameObject.GetComponent <BossStatusSimilarPlayer>();
     }
 }