/// <summary>
        /// 範囲ボム弾発射時
        /// </summary>
        public override void OnShoot(BombBullet bullet)
        {
            //自分しかいないのでイベント送信の必要なし
            if (PhotonNetwork.CurrentRoom.PlayerCount == 1)
            {
                return;
            }

            var dto = new BombBulletDto();

            dto.timeStamp              = bullet.timeStamp;
            dto.dropPosition           = BattleGlobal.instance.viewRotation * bullet.dropPosition;
            dto.barrelLocalEulerAngles = this.turretBase.rotationParts.localEulerAngles;

            PhotonNetwork.RaiseEvent(
                (byte)MultiEventCode.ShootBomb,
                dto.GetBinary(),
                RaiseEventOptions.Default,
                SendOptions.SendReliable
                );
        }
        /// <summary>
        /// ボム発射イベント受信時
        /// </summary>
        public void OnShootBomb(object value)
        {
            var dto = new BombBulletDto();

            dto.SetBinary((byte[])value);

            //弾丸生成
            var bulletPrefab = this.fvaBulletAsset.handle.asset as BulletBase;
            var bulletBase   = this.turretBase.CreateBullet(bulletPrefab, BattleGlobal.instance.bulletArea);

            bulletBase.transform.up = this.cachedTransform.localRotation * Vector2.up;
            bulletBase.SetParticleLayer(BattleGlobal.instance.bulletCanvas);

            //砲身回転
            this.StartBarrelRotation(dto.barrelLocalEulerAngles);

            //制御開始
            var controller = new BombBullet.Controller();

            this.fvaControllers.Add(controller);
            controller.Start(this, bulletBase, BattleGlobal.instance.viewRotation * dto.dropPosition, null, null);
        }