IEnumerator SendIntensity(SendPosition position)
    {
        //送信するインテンシティオブジェクトに変換
        sendIntensityData = intensityManager.MicPosReceived(position);
        yield return(null);

        if (sendIntensityData.sendType == SendType.Intensity)
        {
            tServer.SendAllClient(transferData.SerializeJson <IntensityPackage>(sendIntensityData));
            logPanelManager.WriteConsole(sendIntensityData.num, sendIntensityData.sendPos, sendIntensityData.intensity);
        }
        yield return(null);
    }
    public IntensityPackage MicPosReceived(SendPosition sendPosition)
    {
        if (CheckPlotDistance(sendPosition.sendPos))
        {
            GameObject micPoint = new GameObject("measurementPoint" + Num);
            micPoint.transform.parent        = copyStandard.transform;
            micPoint.transform.localPosition = sendPosition.sendPos;
            micPoint.transform.localRotation = sendPosition.sendRot;
            // 音声取得
            var soundSignals = asiocsharpdll.GetAsioSoundSignals(MeasurementParameter.SampleNum, MeasurementParameter.CalibValue);
            //intensity計算
            var intensityDir = AcousticMathNew.CrossSpectrumMethod(soundSignals, MeasurementParameter.Fs, length_bit,
                                                                   MeasurementParameter.FreqMin, MeasurementParameter.FreqMax, MeasurementParameter.AtmDensity, MeasurementParameter.MInterval);
            float intensityLv_dB = AcousticMathNew.CalcuIntensityLevel(intensityDir);

            //オブジェクト作成
            var vectorObj = Instantiate(Cone) as GameObject;
            vectorObj.transform.localScale    = new Vector3(MeasurementParameter.objSize, MeasurementParameter.objSize, MeasurementParameter.objSize * 4);
            vectorObj.transform.parent        = micPoint.transform;
            vectorObj.transform.localPosition = Vector3.zero;
            vectorObj.transform.localRotation = Quaternion.LookRotation(10000000000 * intensityDir);
            var vecColor = ColorBar.DefineColor(MeasurementParameter.colormapID, intensityLv_dB, MeasurementParameter.MinIntensity, MeasurementParameter.MaxIntensity);
            vectorObj.transform.GetComponent <Renderer>().material.color = vecColor;
            vectorObj.name = "IntensityObj";
            intensities.Add(Num, vectorObj);

            //データそのものを保管
            DataStorage data = new DataStorage(Num, sendPosition.sendPos, sendPosition.sendRot, soundSignals, intensityDir);
            dataStorages.Add(Num, data);

            //送信データを作成
            var sendData = new IntensityPackage(sendPosition, intensityDir, Num);
            Num++;
            return(sendData);
        }
        else
        {
            return(new IntensityPackage());
        }
    }