diff --git a/TestVelGameServer/Assets/DFVoice.meta b/TestVelGameServer/Assets/DFVoice.meta deleted file mode 100644 index 13f07c5..0000000 --- a/TestVelGameServer/Assets/DFVoice.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 4f3856b9b63a94ba09a5d20d88932b7a -folderAsset: yes -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/TestVelGameServer/Assets/DFVoice/Badge.meta b/TestVelGameServer/Assets/DFVoice/Badge.meta deleted file mode 100644 index 7b8c33a..0000000 --- a/TestVelGameServer/Assets/DFVoice/Badge.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 98cf225cd82a54f9c804fb2760b38ead -folderAsset: yes -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/TestVelGameServer/Assets/DFVoice/Badge/DaikonForgeLogoBlack.png b/TestVelGameServer/Assets/DFVoice/Badge/DaikonForgeLogoBlack.png deleted file mode 100644 index db73483..0000000 Binary files a/TestVelGameServer/Assets/DFVoice/Badge/DaikonForgeLogoBlack.png and /dev/null differ diff --git a/TestVelGameServer/Assets/DFVoice/Badge/DaikonForgeLogoBlack.png.meta b/TestVelGameServer/Assets/DFVoice/Badge/DaikonForgeLogoBlack.png.meta deleted file mode 100644 index be0f116..0000000 --- a/TestVelGameServer/Assets/DFVoice/Badge/DaikonForgeLogoBlack.png.meta +++ /dev/null @@ -1,46 +0,0 @@ -fileFormatVersion: 2 -guid: 8282081fda0f8c748be6b2bac3dd784a -TextureImporter: - serializedVersion: 2 - mipmaps: - mipMapMode: 0 - enableMipMap: 1 - linearTexture: 0 - correctGamma: 0 - fadeOut: 0 - borderMipMap: 0 - mipMapFadeDistanceStart: 1 - mipMapFadeDistanceEnd: 3 - bumpmap: - convertToNormalMap: 0 - externalNormalMap: 0 - heightScale: .25 - normalMapFilter: 0 - isReadable: 0 - grayScaleToAlpha: 0 - generateCubemap: 0 - seamlessCubemap: 0 - textureFormat: -1 - maxTextureSize: 1024 - textureSettings: - filterMode: -1 - aniso: -1 - mipBias: -1 - wrapMode: -1 - nPOTScale: 1 - lightmap: 0 - compressionQuality: 50 - spriteMode: 0 - spriteExtrude: 1 - spriteMeshType: 1 - alignment: 0 - spritePivot: {x: .5, y: .5} - spriteBorder: {x: 0, y: 0, z: 0, w: 0} - spritePixelsToUnits: 100 - alphaIsTransparency: 1 - textureType: -1 - buildTargetSettings: [] - spriteSheet: - sprites: [] - spritePackingTag: - userData: diff --git a/TestVelGameServer/Assets/DFVoice/Badge/DaikonForgeLogoDark.png b/TestVelGameServer/Assets/DFVoice/Badge/DaikonForgeLogoDark.png deleted file mode 100644 index 0581a8a..0000000 Binary files a/TestVelGameServer/Assets/DFVoice/Badge/DaikonForgeLogoDark.png and /dev/null differ diff --git a/TestVelGameServer/Assets/DFVoice/Badge/DaikonForgeLogoDark.png.meta b/TestVelGameServer/Assets/DFVoice/Badge/DaikonForgeLogoDark.png.meta deleted file mode 100644 index c3e0958..0000000 --- a/TestVelGameServer/Assets/DFVoice/Badge/DaikonForgeLogoDark.png.meta +++ /dev/null @@ -1,46 +0,0 @@ -fileFormatVersion: 2 -guid: 3d4fab423328fda40a2f401406dadb76 -TextureImporter: - serializedVersion: 2 - mipmaps: - mipMapMode: 0 - enableMipMap: 1 - linearTexture: 0 - correctGamma: 0 - fadeOut: 0 - borderMipMap: 0 - mipMapFadeDistanceStart: 1 - mipMapFadeDistanceEnd: 3 - bumpmap: - convertToNormalMap: 0 - externalNormalMap: 0 - heightScale: .25 - normalMapFilter: 0 - isReadable: 0 - grayScaleToAlpha: 0 - generateCubemap: 0 - seamlessCubemap: 0 - textureFormat: -1 - maxTextureSize: 1024 - textureSettings: - filterMode: -1 - aniso: -1 - mipBias: -1 - wrapMode: -1 - nPOTScale: 1 - lightmap: 0 - compressionQuality: 50 - spriteMode: 0 - spriteExtrude: 1 - spriteMeshType: 1 - alignment: 0 - spritePivot: {x: .5, y: .5} - spriteBorder: {x: 0, y: 0, z: 0, w: 0} - spritePixelsToUnits: 100 - alphaIsTransparency: 1 - textureType: -1 - buildTargetSettings: [] - spriteSheet: - sprites: [] - spritePackingTag: - userData: diff --git a/TestVelGameServer/Assets/DFVoice/Badge/DaikonForgeLogoLight.png b/TestVelGameServer/Assets/DFVoice/Badge/DaikonForgeLogoLight.png deleted file mode 100644 index 66e576d..0000000 Binary files a/TestVelGameServer/Assets/DFVoice/Badge/DaikonForgeLogoLight.png and /dev/null differ diff --git a/TestVelGameServer/Assets/DFVoice/Badge/DaikonForgeLogoLight.png.meta b/TestVelGameServer/Assets/DFVoice/Badge/DaikonForgeLogoLight.png.meta deleted file mode 100644 index 1f913e1..0000000 --- a/TestVelGameServer/Assets/DFVoice/Badge/DaikonForgeLogoLight.png.meta +++ /dev/null @@ -1,46 +0,0 @@ -fileFormatVersion: 2 -guid: c3c921702b53fea4dae4b146aa818b2a -TextureImporter: - serializedVersion: 2 - mipmaps: - mipMapMode: 0 - enableMipMap: 1 - linearTexture: 0 - correctGamma: 0 - fadeOut: 0 - borderMipMap: 0 - mipMapFadeDistanceStart: 1 - mipMapFadeDistanceEnd: 3 - bumpmap: - convertToNormalMap: 0 - externalNormalMap: 0 - heightScale: .25 - normalMapFilter: 0 - isReadable: 0 - grayScaleToAlpha: 0 - generateCubemap: 0 - seamlessCubemap: 0 - textureFormat: -1 - maxTextureSize: 1024 - textureSettings: - filterMode: -1 - aniso: -1 - mipBias: -1 - wrapMode: -1 - nPOTScale: 1 - lightmap: 0 - compressionQuality: 50 - spriteMode: 0 - spriteExtrude: 1 - spriteMeshType: 1 - alignment: 0 - spritePivot: {x: .5, y: .5} - spriteBorder: {x: 0, y: 0, z: 0, w: 0} - spritePixelsToUnits: 100 - alphaIsTransparency: 1 - textureType: -1 - buildTargetSettings: [] - spriteSheet: - sprites: [] - spritePackingTag: - userData: diff --git a/TestVelGameServer/Assets/DFVoice/Badge/DaikonForgeLogoWhite.png b/TestVelGameServer/Assets/DFVoice/Badge/DaikonForgeLogoWhite.png deleted file mode 100644 index 8872bd3..0000000 Binary files a/TestVelGameServer/Assets/DFVoice/Badge/DaikonForgeLogoWhite.png and /dev/null differ diff --git a/TestVelGameServer/Assets/DFVoice/Badge/DaikonForgeLogoWhite.png.meta b/TestVelGameServer/Assets/DFVoice/Badge/DaikonForgeLogoWhite.png.meta deleted file mode 100644 index d643030..0000000 --- a/TestVelGameServer/Assets/DFVoice/Badge/DaikonForgeLogoWhite.png.meta +++ /dev/null @@ -1,46 +0,0 @@ -fileFormatVersion: 2 -guid: 24302d8a8ec9ad74fa081d8d8cb2909c -TextureImporter: - serializedVersion: 2 - mipmaps: - mipMapMode: 0 - enableMipMap: 1 - linearTexture: 0 - correctGamma: 0 - fadeOut: 0 - borderMipMap: 0 - mipMapFadeDistanceStart: 1 - mipMapFadeDistanceEnd: 3 - bumpmap: - convertToNormalMap: 0 - externalNormalMap: 0 - heightScale: .25 - normalMapFilter: 0 - isReadable: 0 - grayScaleToAlpha: 0 - generateCubemap: 0 - seamlessCubemap: 0 - textureFormat: -1 - maxTextureSize: 1024 - textureSettings: - filterMode: -1 - aniso: -1 - mipBias: -1 - wrapMode: -1 - nPOTScale: 1 - lightmap: 0 - compressionQuality: 50 - spriteMode: 0 - spriteExtrude: 1 - spriteMeshType: 1 - alignment: 0 - spritePivot: {x: .5, y: .5} - spriteBorder: {x: 0, y: 0, z: 0, w: 0} - spritePixelsToUnits: 100 - alphaIsTransparency: 1 - textureType: -1 - buildTargetSettings: [] - spriteSheet: - sprites: [] - spritePackingTag: - userData: diff --git a/TestVelGameServer/Assets/DFVoice/Docs.pdf b/TestVelGameServer/Assets/DFVoice/Docs.pdf deleted file mode 100644 index 32ef7dc..0000000 Binary files a/TestVelGameServer/Assets/DFVoice/Docs.pdf and /dev/null differ diff --git a/TestVelGameServer/Assets/DFVoice/Docs.pdf.meta b/TestVelGameServer/Assets/DFVoice/Docs.pdf.meta deleted file mode 100644 index 0675085..0000000 --- a/TestVelGameServer/Assets/DFVoice/Docs.pdf.meta +++ /dev/null @@ -1,4 +0,0 @@ -fileFormatVersion: 2 -guid: 4d700a7065bf7964d84cc7de62dbeb91 -DefaultImporter: - userData: diff --git a/TestVelGameServer/Assets/DFVoice/Example.meta b/TestVelGameServer/Assets/DFVoice/Example.meta deleted file mode 100644 index c2e2692..0000000 --- a/TestVelGameServer/Assets/DFVoice/Example.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 296dd3f5940c8400caf27b6479a8f2c7 -folderAsset: yes -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/TestVelGameServer/Assets/DFVoice/Example/LocalDemo.unity b/TestVelGameServer/Assets/DFVoice/Example/LocalDemo.unity deleted file mode 100644 index e3cb6c6..0000000 --- a/TestVelGameServer/Assets/DFVoice/Example/LocalDemo.unity +++ /dev/null @@ -1,395 +0,0 @@ -%YAML 1.1 -%TAG !u! tag:unity3d.com,2011: ---- !u!29 &1 -OcclusionCullingSettings: - m_ObjectHideFlags: 0 - serializedVersion: 2 - m_OcclusionBakeSettings: - smallestOccluder: 5 - smallestHole: 0.25 - backfaceThreshold: 100 - m_SceneGUID: 00000000000000000000000000000000 - m_OcclusionCullingData: {fileID: 0} ---- !u!104 &2 -RenderSettings: - m_ObjectHideFlags: 0 - serializedVersion: 9 - m_Fog: 0 - m_FogColor: {r: 0.5, g: 0.5, b: 0.5, a: 1} - m_FogMode: 3 - m_FogDensity: 0.01 - m_LinearFogStart: 0 - m_LinearFogEnd: 300 - m_AmbientSkyColor: {r: 0.2, g: 0.2, b: 0.2, a: 1} - m_AmbientEquatorColor: {r: 0.2, g: 0.2, b: 0.2, a: 1} - m_AmbientGroundColor: {r: 0.2, g: 0.2, b: 0.2, a: 1} - m_AmbientIntensity: 1 - m_AmbientMode: 3 - m_SubtractiveShadowColor: {r: 0.42, g: 0.478, b: 0.627, a: 1} - m_SkyboxMaterial: {fileID: 0} - m_HaloStrength: 0.5 - m_FlareStrength: 1 - m_FlareFadeSpeed: 3 - m_HaloTexture: {fileID: 0} - m_SpotCookie: {fileID: 10001, guid: 0000000000000000e000000000000000, type: 0} - m_DefaultReflectionMode: 0 - m_DefaultReflectionResolution: 128 - m_ReflectionBounces: 1 - m_ReflectionIntensity: 1 - m_CustomReflection: {fileID: 0} - m_Sun: {fileID: 0} - m_IndirectSpecularColor: {r: 0, g: 0, b: 0, a: 1} - m_UseRadianceAmbientProbe: 0 ---- !u!157 &4 -LightmapSettings: - m_ObjectHideFlags: 0 - serializedVersion: 12 - m_GIWorkflowMode: 1 - m_GISettings: - serializedVersion: 2 - m_BounceScale: 1 - m_IndirectOutputScale: 1 - m_AlbedoBoost: 1 - m_EnvironmentLightingMode: 0 - m_EnableBakedLightmaps: 1 - m_EnableRealtimeLightmaps: 0 - m_LightmapEditorSettings: - serializedVersion: 12 - m_Resolution: 1 - m_BakeResolution: 50 - m_AtlasSize: 1024 - m_AO: 0 - m_AOMaxDistance: 1 - m_CompAOExponent: 0 - m_CompAOExponentDirect: 0 - m_ExtractAmbientOcclusion: 0 - m_Padding: 2 - m_LightmapParameters: {fileID: 0} - m_LightmapsBakeMode: 1 - m_TextureCompression: 0 - m_FinalGather: 0 - m_FinalGatherFiltering: 1 - m_FinalGatherRayCount: 1024 - m_ReflectionCompression: 2 - m_MixedBakeMode: 1 - m_BakeBackend: 0 - m_PVRSampling: 1 - m_PVRDirectSampleCount: 32 - m_PVRSampleCount: 512 - m_PVRBounces: 2 - m_PVREnvironmentSampleCount: 512 - m_PVREnvironmentReferencePointCount: 2048 - m_PVRFilteringMode: 0 - m_PVRDenoiserTypeDirect: 0 - m_PVRDenoiserTypeIndirect: 0 - m_PVRDenoiserTypeAO: 0 - m_PVRFilterTypeDirect: 0 - m_PVRFilterTypeIndirect: 0 - m_PVRFilterTypeAO: 0 - m_PVREnvironmentMIS: 0 - m_PVRCulling: 1 - m_PVRFilteringGaussRadiusDirect: 1 - m_PVRFilteringGaussRadiusIndirect: 5 - m_PVRFilteringGaussRadiusAO: 2 - m_PVRFilteringAtrousPositionSigmaDirect: 0.5 - m_PVRFilteringAtrousPositionSigmaIndirect: 2 - m_PVRFilteringAtrousPositionSigmaAO: 1 - m_ExportTrainingData: 0 - m_TrainingDataDestination: TrainingData - m_LightProbeSampleCountMultiplier: 4 - m_LightingDataAsset: {fileID: 0} - m_LightingSettings: {fileID: 4890085278179872738, guid: 6e3468f00aa6f45e99790aaefd8d4a76, type: 2} ---- !u!196 &5 -NavMeshSettings: - serializedVersion: 2 - m_ObjectHideFlags: 0 - m_BuildSettings: - serializedVersion: 2 - agentTypeID: 0 - agentRadius: 0.5 - agentHeight: 2 - agentSlope: 45 - agentClimb: 0.4 - ledgeDropHeight: 0 - maxJumpAcrossDistance: 0 - minRegionArea: 2 - manualCellSize: 0 - cellSize: 0.16666666 - manualTileSize: 0 - tileSize: 256 - accuratePlacement: 0 - maxJobWorkers: 0 - preserveTilesOutsideBounds: 0 - debug: - m_Flags: 0 - m_NavMeshData: {fileID: 0} ---- !u!1 &732922925 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 732922930} - - component: {fileID: 732922929} - - component: {fileID: 732922927} - - component: {fileID: 732922926} - m_Layer: 0 - m_Name: Main Camera - m_TagString: MainCamera - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!81 &732922926 -AudioListener: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 732922925} - m_Enabled: 1 ---- !u!124 &732922927 -Behaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 732922925} - m_Enabled: 1 ---- !u!20 &732922929 -Camera: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 732922925} - m_Enabled: 1 - serializedVersion: 2 - m_ClearFlags: 1 - m_BackGroundColor: {r: 0.19215687, g: 0.3019608, b: 0.4745098, a: 0.019607844} - m_projectionMatrixMode: 1 - m_GateFitMode: 2 - m_FOVAxisMode: 0 - m_SensorSize: {x: 36, y: 24} - m_LensShift: {x: 0, y: 0} - m_FocalLength: 50 - m_NormalizedViewPortRect: - serializedVersion: 2 - x: 0 - y: 0 - width: 1 - height: 1 - near clip plane: 0.3 - far clip plane: 1000 - field of view: 60 - orthographic: 0 - orthographic size: 5 - m_Depth: -1 - m_CullingMask: - serializedVersion: 2 - m_Bits: 4294967295 - m_RenderingPath: -1 - m_TargetTexture: {fileID: 0} - m_TargetDisplay: 0 - m_TargetEye: 3 - m_HDR: 0 - m_AllowMSAA: 1 - m_AllowDynamicResolution: 0 - m_ForceIntoRT: 0 - m_OcclusionCulling: 1 - m_StereoConvergence: 10 - m_StereoSeparation: 0.022 ---- !u!4 &732922930 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 732922925} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 1, z: -10} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 0} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &939624742 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 939624746} - - component: {fileID: 939624745} - - component: {fileID: 939624743} - - component: {fileID: 939624747} - - component: {fileID: 939624744} - m_Layer: 0 - m_Name: VoiceController - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!114 &939624743 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 939624742} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 6e00d42098a712e4bb865682007cfe50, type: 3} - m_Name: - m_EditorClassIdentifier: - IsThreeDimensional: 0 - Equalize: 0 - EqualizeSpeed: 1 - TargetEqualizeVolume: 0.75 - MaxEqualization: 5 ---- !u!114 &939624744 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 939624742} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: ca697a6f27a261442a2c082beee1b411, type: 3} - m_Name: - m_EditorClassIdentifier: - ChunkSize: 640 - Mode: 1 - PushToTalk: 0 - AmplitudeThreshold: 0 ---- !u!114 &939624745 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 939624742} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 1bb25d2ec38162e44bc48af2fd16b223, type: 3} - m_Name: - m_EditorClassIdentifier: - DebugAudio: 1 - Mute: 0 - PacketLoss: 0 ---- !u!4 &939624746 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 939624742} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 0} - m_RootOrder: 1 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!82 &939624747 -AudioSource: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 939624742} - m_Enabled: 1 - serializedVersion: 4 - OutputAudioMixerGroup: {fileID: 0} - m_audioClip: {fileID: 0} - m_PlayOnAwake: 1 - m_Volume: 1 - m_Pitch: 1 - Loop: 0 - Mute: 0 - Spatialize: 0 - SpatializePostEffects: 0 - Priority: 128 - DopplerLevel: 1 - MinDistance: 1 - MaxDistance: 500 - Pan2D: 0 - rolloffMode: 0 - BypassEffects: 0 - BypassListenerEffects: 0 - BypassReverbZones: 0 - rolloffCustomCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 3 - time: 0 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - weightedMode: 0 - inWeight: 0.33333334 - outWeight: 0.33333334 - - serializedVersion: 3 - time: 1 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - weightedMode: 0 - inWeight: 0.33333334 - outWeight: 0.33333334 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - panLevelCustomCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 3 - time: 0 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - weightedMode: 0 - inWeight: 0.33333334 - outWeight: 0.33333334 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - spreadCustomCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 3 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - weightedMode: 0 - inWeight: 0.33333334 - outWeight: 0.33333334 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - reverbZoneMixCustomCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 3 - time: 0 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - weightedMode: 0 - inWeight: 0.33333334 - outWeight: 0.33333334 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 diff --git a/TestVelGameServer/Assets/DFVoice/Example/LocalDemo.unity.meta b/TestVelGameServer/Assets/DFVoice/Example/LocalDemo.unity.meta deleted file mode 100644 index f5be217..0000000 --- a/TestVelGameServer/Assets/DFVoice/Example/LocalDemo.unity.meta +++ /dev/null @@ -1,4 +0,0 @@ -fileFormatVersion: 2 -guid: ec045c7ca1fe6804db8a47b3e5d727c2 -DefaultImporter: - userData: diff --git a/TestVelGameServer/Assets/DFVoice/Example/LocalDemoSettings.lighting b/TestVelGameServer/Assets/DFVoice/Example/LocalDemoSettings.lighting deleted file mode 100644 index 5b06606..0000000 --- a/TestVelGameServer/Assets/DFVoice/Example/LocalDemoSettings.lighting +++ /dev/null @@ -1,63 +0,0 @@ -%YAML 1.1 -%TAG !u! tag:unity3d.com,2011: ---- !u!850595691 &4890085278179872738 -LightingSettings: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_Name: LocalDemoSettings - serializedVersion: 3 - m_GIWorkflowMode: 1 - m_EnableBakedLightmaps: 1 - m_EnableRealtimeLightmaps: 0 - m_RealtimeEnvironmentLighting: 1 - m_BounceScale: 1 - m_AlbedoBoost: 1 - m_IndirectOutputScale: 1 - m_UsingShadowmask: 0 - m_BakeBackend: 0 - m_LightmapMaxSize: 1024 - m_BakeResolution: 50 - m_Padding: 2 - m_TextureCompression: 0 - m_AO: 0 - m_AOMaxDistance: 1 - m_CompAOExponent: 0 - m_CompAOExponentDirect: 0 - m_ExtractAO: 0 - m_MixedBakeMode: 1 - m_LightmapsBakeMode: 1 - m_FilterMode: 1 - m_LightmapParameters: {fileID: 15204, guid: 0000000000000000f000000000000000, type: 0} - m_ExportTrainingData: 0 - m_TrainingDataDestination: TrainingData - m_RealtimeResolution: 1 - m_ForceWhiteAlbedo: 0 - m_ForceUpdates: 0 - m_FinalGather: 0 - m_FinalGatherRayCount: 1024 - m_FinalGatherFiltering: 1 - m_PVRCulling: 1 - m_PVRSampling: 1 - m_PVRDirectSampleCount: 32 - m_PVRSampleCount: 512 - m_PVREnvironmentSampleCount: 512 - m_PVREnvironmentReferencePointCount: 2048 - m_LightProbeSampleCountMultiplier: 4 - m_PVRBounces: 2 - m_PVRMinBounces: 2 - m_PVREnvironmentMIS: 0 - m_PVRFilteringMode: 0 - m_PVRDenoiserTypeDirect: 0 - m_PVRDenoiserTypeIndirect: 0 - m_PVRDenoiserTypeAO: 0 - m_PVRFilterTypeDirect: 0 - m_PVRFilterTypeIndirect: 0 - m_PVRFilterTypeAO: 0 - m_PVRFilteringGaussRadiusDirect: 1 - m_PVRFilteringGaussRadiusIndirect: 5 - m_PVRFilteringGaussRadiusAO: 2 - m_PVRFilteringAtrousPositionSigmaDirect: 0.5 - m_PVRFilteringAtrousPositionSigmaIndirect: 2 - m_PVRFilteringAtrousPositionSigmaAO: 1 diff --git a/TestVelGameServer/Assets/DFVoice/Example/LocalDemoSettings.lighting.meta b/TestVelGameServer/Assets/DFVoice/Example/LocalDemoSettings.lighting.meta deleted file mode 100644 index 05cf9e2..0000000 --- a/TestVelGameServer/Assets/DFVoice/Example/LocalDemoSettings.lighting.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 6e3468f00aa6f45e99790aaefd8d4a76 -NativeFormatImporter: - externalObjects: {} - mainObjectFileID: 4890085278179872738 - userData: - assetBundleName: - assetBundleVariant: diff --git a/TestVelGameServer/Assets/DFVoice/OpusSupport.unitypackage.meta b/TestVelGameServer/Assets/DFVoice/OpusSupport.unitypackage.meta deleted file mode 100644 index 244ba36..0000000 --- a/TestVelGameServer/Assets/DFVoice/OpusSupport.unitypackage.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 609ba2406c6dd544e82c4888b22e9f80 -timeCreated: 1431819782 -licenseType: Store -DefaultImporter: - userData: - assetBundleName: - assetBundleVariant: diff --git a/TestVelGameServer/Assets/DFVoice/Plugins/NSpeex.dll b/TestVelGameServer/Assets/DFVoice/Plugins/NSpeex.dll deleted file mode 100644 index 8e4b8f4..0000000 Binary files a/TestVelGameServer/Assets/DFVoice/Plugins/NSpeex.dll and /dev/null differ diff --git a/TestVelGameServer/Assets/DFVoice/Plugins/NSpeex.dll.meta b/TestVelGameServer/Assets/DFVoice/Plugins/NSpeex.dll.meta deleted file mode 100644 index abc30fb..0000000 --- a/TestVelGameServer/Assets/DFVoice/Plugins/NSpeex.dll.meta +++ /dev/null @@ -1,7 +0,0 @@ -fileFormatVersion: 2 -guid: 8e1a495990ca2b94f9935416b28ae866 -MonoAssemblyImporter: - serializedVersion: 1 - iconMap: {} - executionOrder: {} - userData: diff --git a/TestVelGameServer/Assets/DFVoice/Plugins/NSpeexLicense.txt b/TestVelGameServer/Assets/DFVoice/Plugins/NSpeexLicense.txt deleted file mode 100644 index a849b9e..0000000 --- a/TestVelGameServer/Assets/DFVoice/Plugins/NSpeexLicense.txt +++ /dev/null @@ -1,12 +0,0 @@ -Copyright (c) 2010, Christoph Fröschl -All rights reserved. - -Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: - -* Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. - -* Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. - -* Neither the name of Christoph Fröschl nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. \ No newline at end of file diff --git a/TestVelGameServer/Assets/DFVoice/Plugins/NSpeexLicense.txt.meta b/TestVelGameServer/Assets/DFVoice/Plugins/NSpeexLicense.txt.meta deleted file mode 100644 index f9db5c4..0000000 --- a/TestVelGameServer/Assets/DFVoice/Plugins/NSpeexLicense.txt.meta +++ /dev/null @@ -1,4 +0,0 @@ -fileFormatVersion: 2 -guid: 8b324bf9acc257d4e99d29e94a94afcc -TextScriptImporter: - userData: diff --git a/TestVelGameServer/Assets/DFVoice/Plugins/Opus.meta b/TestVelGameServer/Assets/DFVoice/Plugins/Opus.meta deleted file mode 100644 index d6ed610..0000000 --- a/TestVelGameServer/Assets/DFVoice/Plugins/Opus.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 065997cf0ef074461aff052861709a58 -folderAsset: yes -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/TestVelGameServer/Assets/DFVoice/Plugins/Opus/x86_64.meta b/TestVelGameServer/Assets/DFVoice/Plugins/Opus/x86_64.meta deleted file mode 100644 index 4df7c13..0000000 --- a/TestVelGameServer/Assets/DFVoice/Plugins/Opus/x86_64.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 9cf55d88c91364a4b9d95d4c4687f65d -folderAsset: yes -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/TestVelGameServer/Assets/DFVoice/Plugins/Opus/x86_64/opus.dll b/TestVelGameServer/Assets/DFVoice/Plugins/Opus/x86_64/opus.dll deleted file mode 100644 index aae9266..0000000 Binary files a/TestVelGameServer/Assets/DFVoice/Plugins/Opus/x86_64/opus.dll and /dev/null differ diff --git a/TestVelGameServer/Assets/DFVoice/Plugins/Opus/x86_64/opus.dll.meta b/TestVelGameServer/Assets/DFVoice/Plugins/Opus/x86_64/opus.dll.meta deleted file mode 100644 index 14d5cf9..0000000 --- a/TestVelGameServer/Assets/DFVoice/Plugins/Opus/x86_64/opus.dll.meta +++ /dev/null @@ -1,76 +0,0 @@ -fileFormatVersion: 2 -guid: 66b2b536e42b51c4f8ca3828abe1aa4f -timeCreated: 1431804546 -licenseType: Store -PluginImporter: - serializedVersion: 1 - iconMap: {} - executionOrder: {} - isPreloaded: 0 - platformData: - Android: - enabled: 0 - settings: - CPU: AnyCPU - Any: - enabled: 0 - settings: {} - Editor: - enabled: 1 - settings: - CPU: x86_64 - DefaultValueInitialized: true - OS: Windows - Linux: - enabled: 1 - settings: - CPU: x86 - Linux64: - enabled: 1 - settings: - CPU: x86_64 - LinuxUniversal: - enabled: 1 - settings: - CPU: AnyCPU - OSXIntel: - enabled: 1 - settings: - CPU: AnyCPU - OSXIntel64: - enabled: 1 - settings: - CPU: AnyCPU - OSXUniversal: - enabled: 1 - settings: - CPU: AnyCPU - WP8: - enabled: 0 - settings: - CPU: AnyCPU - DontProcess: False - PlaceholderPath: - Win: - enabled: 1 - settings: - CPU: None - Win64: - enabled: 1 - settings: - CPU: AnyCPU - WindowsStoreApps: - enabled: 0 - settings: - CPU: AnyCPU - DontProcess: False - PlaceholderPath: - SDK: AnySDK - iOS: - enabled: 0 - settings: - CompileFlags: - FrameworkDependencies: - userData: - assetBundleName: - assetBundleVariant: diff --git a/TestVelGameServer/Assets/DFVoice/Plugins/OpusLicense.txt b/TestVelGameServer/Assets/DFVoice/Plugins/OpusLicense.txt deleted file mode 100644 index 32406f1..0000000 --- a/TestVelGameServer/Assets/DFVoice/Plugins/OpusLicense.txt +++ /dev/null @@ -1,27 +0,0 @@ -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions -are met: - -- Redistributions of source code must retain the above copyright -notice, this list of conditions and the following disclaimer. - -- Redistributions in binary form must reproduce the above copyright -notice, this list of conditions and the following disclaimer in the -documentation and/or other materials provided with the distribution. - -- Neither the name of Internet Society, IETF or IETF Trust, nor the -names of specific contributors, may be used to endorse or promote -products derived from this software without specific prior written -permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER -OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. \ No newline at end of file diff --git a/TestVelGameServer/Assets/DFVoice/Plugins/OpusLicense.txt.meta b/TestVelGameServer/Assets/DFVoice/Plugins/OpusLicense.txt.meta deleted file mode 100644 index 58eec02..0000000 --- a/TestVelGameServer/Assets/DFVoice/Plugins/OpusLicense.txt.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 8a0f3e963c6a7b04cb254f46050e85b9 -timeCreated: 1431821079 -licenseType: Store -TextScriptImporter: - userData: - assetBundleName: - assetBundleVariant: diff --git a/TestVelGameServer/Assets/DFVoice/README.txt b/TestVelGameServer/Assets/DFVoice/README.txt deleted file mode 100644 index 9549171..0000000 --- a/TestVelGameServer/Assets/DFVoice/README.txt +++ /dev/null @@ -1,47 +0,0 @@ -Thank you for choosing DaikonForge technology to power your game. -When using DaikonForge middleware in a game or application, we allow you to: - 1.) Display one of the included splash screens on game startup. - 2.) Display a small logo badge somewhere in your game - 3.) Add a section on DaikonForge products to your credits - -However, these are all totally optional - if you don't want to, it's entirely up to you. - -SPLASH SCREEN -Two such splash screens are included - one with a white background, and one with a black background. -The splash screen displays a “Powered By DaikonForge” logo. In addition to this, it includes placeholder copyright text at the bottom of the screen. -This placeholder should be replaced with text of the following form: - - This software application includes [used products here] - Copyright © 2014 DaikonForge All Rights Reserved - -Where products are separated as such: “X, Y, and Z” - -LOGO BADGE -A selection of DaikonForge logo badges can be found in the Badge subfolder of the DFVoice folder. This can be placed anywhere of your choosing in the game. - -END CREDITS -When mentioning DaikonForge products in your credits, it should take the following form: - - POWERED BY DAIKONFORGE TECHNOLOGY - -Followed by a list of plugins used. For instance, if your game used DFVoice, it would appear as follows: - - POWERED BY DAIKONFORGE TECHNOLOGY - - DFVoice - -EXPERIMENTAL OPUS SUPPORT -While the default codec is a managed port of Speex called NSpeex, DFVoice includes experimental support for the successor to Speex, called Opus. -To enable this support, import the included "OpusSupport.unitypackage", and reboot Unity in order to enable unsafe compilation. -Then, override GetCodec() to the following: - -public override IAudioCodec GetCodec() -{ - AudioUtils.FrequencyProvider = new OpusCodec.FrequencyProvider(); - return new OpusCodec( 64000 ); -} - -You'll also probably want to change the chunk size of the Microphone component for best results - I recommend a chunk size of 960 (this is the frame size of the Opus codec internally). - -The Opus codec wrapper takes the desired bitrate as a parameter. 64 kb/s is a good starting point - you can adjust it up if you need more quality, or adjust it down for lower bandwidth. -Included are two DLLs - one is a 32-bit version of the native Opus DLL, the other is a 64-bit version. These are Windows only. If you would like to get Opus working on other platforms, -you will need to download the Opus source code and compile it for your platform of choice. \ No newline at end of file diff --git a/TestVelGameServer/Assets/DFVoice/README.txt.meta b/TestVelGameServer/Assets/DFVoice/README.txt.meta deleted file mode 100644 index 5a1a4e9..0000000 --- a/TestVelGameServer/Assets/DFVoice/README.txt.meta +++ /dev/null @@ -1,4 +0,0 @@ -fileFormatVersion: 2 -guid: de27eaa9120bcac4c8d8289d0223b9bd -TextScriptImporter: - userData: diff --git a/TestVelGameServer/Assets/DFVoice/Scripts.meta b/TestVelGameServer/Assets/DFVoice/Scripts.meta deleted file mode 100644 index a60e130..0000000 --- a/TestVelGameServer/Assets/DFVoice/Scripts.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: ecd54f10f7b29489da5d976b4f8cc4b6 -folderAsset: yes -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/TestVelGameServer/Assets/DFVoice/Scripts/Codec.meta b/TestVelGameServer/Assets/DFVoice/Scripts/Codec.meta deleted file mode 100644 index de6183a..0000000 --- a/TestVelGameServer/Assets/DFVoice/Scripts/Codec.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 39b94daba09dc44fb8c758ab2d29b39c -folderAsset: yes -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/TestVelGameServer/Assets/DFVoice/Scripts/Codec/IAudioCodec.cs b/TestVelGameServer/Assets/DFVoice/Scripts/Codec/IAudioCodec.cs deleted file mode 100644 index 0e72d59..0000000 --- a/TestVelGameServer/Assets/DFVoice/Scripts/Codec/IAudioCodec.cs +++ /dev/null @@ -1,30 +0,0 @@ -/* Copyright (C) 2014 DaikonForge */ - -namespace DaikonForge.VoIP -{ - /// - /// Represents an audio codec - /// - public interface IAudioCodec - { - /// - /// Called when new audio data is received from the microphone - /// - void OnAudioAvailable( BigArray rawPCM ); - - /// - /// Returns the next encoded frame, or NULL if there isn't one - /// - VoicePacketWrapper? GetNextEncodedFrame( int frequency ); - - /// - /// Decode the raw encoded frame into 32-bit float PCM - /// - BigArray DecodeFrame( VoicePacketWrapper data ); - - /// - /// Generate filler data for a missing frame - /// - BigArray GenerateMissingFrame( int frequency ); - } -} \ No newline at end of file diff --git a/TestVelGameServer/Assets/DFVoice/Scripts/Codec/SpeexCodec.cs b/TestVelGameServer/Assets/DFVoice/Scripts/Codec/SpeexCodec.cs deleted file mode 100644 index 68652c1..0000000 --- a/TestVelGameServer/Assets/DFVoice/Scripts/Codec/SpeexCodec.cs +++ /dev/null @@ -1,157 +0,0 @@ -/* Copyright (C) 2014 DaikonForge */ - -namespace DaikonForge.VoIP -{ - using System.Collections.Generic; - - public class SpeexCodec : IAudioCodec - { - public class FrequencyProvider : IFrequencyProvider - { - public int GetFrequency( FrequencyMode mode ) - { - switch( mode ) - { - case FrequencyMode.Narrow: - return 8000; - case FrequencyMode.Wide: - return 16000; - case FrequencyMode.UltraWide: - return 32000; - default: - return 16000; - } - } - } - - private class codecWrapper - { - public NSpeex.SpeexEncoder encoder; - public NSpeex.SpeexDecoder decoder; - - public codecWrapper( NSpeex.BandMode mode, bool vbr ) - { - encoder = new NSpeex.SpeexEncoder( mode ); - decoder = new NSpeex.SpeexDecoder( mode, false ); - - encoder.VBR = vbr; - encoder.Quality = 5; - } - } - - private Dictionary encoders; - - private Dictionary frameSizes = new Dictionary() - { - { 8000, 160 }, - { 16000, 320 }, - { 32000, 640 }, - }; - - private ChunkBuffer chunkBuffer; - private BigArray tempOutputArray; - private VoicePacketWrapper tempPacketWrapper; - - public SpeexCodec( bool VBR ) - { - encoders = new Dictionary() - { - { 8000, new codecWrapper( NSpeex.BandMode.Narrow, VBR ) }, - { 16000, new codecWrapper( NSpeex.BandMode.Wide, VBR ) }, - { 32000, new codecWrapper( NSpeex.BandMode.UltraWide, VBR ) }, - }; - - chunkBuffer = new ChunkBuffer(); - tempOutputArray = new BigArray( 1024, 0 ); - tempPacketWrapper = new VoicePacketWrapper( 0, 16, new byte[ 0 ] ); - } - - public void OnAudioAvailable( BigArray rawPCM ) - { - chunkBuffer.AddSamples( rawPCM ); - } - - public VoicePacketWrapper? GetNextEncodedFrame( int frequency ) - { - int frameSize = frameSizes[ frequency ]; - codecWrapper codec = encoders[ frequency ]; - - float[] chunk = TempArray.Obtain( frameSize ); - bool chunkAvailable = chunkBuffer.RetrieveChunk( chunk ); - if( !chunkAvailable ) - { - TempArray.Release( chunk ); - return null; - } - - tempPacketWrapper = new VoicePacketWrapper(); - tempPacketWrapper.Frequency = (byte)( frequency / 1000 ); - - short[] audio16bit = TempArray.Obtain( frameSize ); - for( int i = 0; i < frameSize; i++ ) - { - float val = chunk[ i ] * short.MaxValue; - audio16bit[ i ] = (short)val; - } - TempArray.Release( chunk ); - - byte[] buffer = TempArray.Obtain( audio16bit.Length * 2 ); - - int encoded = codec.encoder.Encode( audio16bit, 0, frameSize, buffer, 0, buffer.Length ); - - TempArray.Release( audio16bit ); - - tempPacketWrapper.RawData = new byte[ encoded ]; - - System.Buffer.BlockCopy( buffer, 0, tempPacketWrapper.RawData, 0, encoded ); - - TempArray.Release( buffer ); - - return tempPacketWrapper; - } - - public BigArray DecodeFrame( VoicePacketWrapper data ) - { - int frameSize = frameSizes[ data.Frequency * 1000 ]; - codecWrapper codec = encoders[ data.Frequency * 1000 ]; - - short[] decodedFrame16Bit = TempArray.Obtain( frameSize * 4 ); - int decoded = codec.decoder.Decode( data.RawData, 0, data.RawData.Length, decodedFrame16Bit, 0, false ); - - if( tempOutputArray.Length != decoded ) tempOutputArray.Resize( decoded ); - - for( int i = 0; i < decoded; i++ ) - { - float val = (float)decodedFrame16Bit[ i ]; - val /= short.MaxValue; - tempOutputArray[ i ] = val; - } - - TempArray.Release( decodedFrame16Bit ); - - return tempOutputArray; - } - - public BigArray GenerateMissingFrame( int frequency ) - { - int frameSize = frameSizes[ frequency * 1000 ]; - codecWrapper codec = encoders[ frequency * 1000 ]; - - short[] decodedFrame16Bit = TempArray.Obtain( frameSize * 4 ); - int decoded = codec.decoder.Decode( null, 0, 0, decodedFrame16Bit, 0, true ); - - if( tempOutputArray.Length != decoded ) tempOutputArray.Resize( decoded ); - - for( int i = 0; i < decoded; i++ ) - { - float val = (float)decodedFrame16Bit[ i ]; - val /= short.MaxValue; - tempOutputArray[ i ] = val; - } - - TempArray.Release( decodedFrame16Bit ); - - return tempOutputArray; - } - } -} \ No newline at end of file diff --git a/TestVelGameServer/Assets/DFVoice/Scripts/Components.meta b/TestVelGameServer/Assets/DFVoice/Scripts/Components.meta deleted file mode 100644 index 977529a..0000000 --- a/TestVelGameServer/Assets/DFVoice/Scripts/Components.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 09cb945d5f87945dfa3044a5357a0c5e -folderAsset: yes -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/TestVelGameServer/Assets/DFVoice/Scripts/Components/TestLocalVoiceController.cs b/TestVelGameServer/Assets/DFVoice/Scripts/Components/TestLocalVoiceController.cs deleted file mode 100644 index 1aa3d3e..0000000 --- a/TestVelGameServer/Assets/DFVoice/Scripts/Components/TestLocalVoiceController.cs +++ /dev/null @@ -1,26 +0,0 @@ -/* Copyright (C) 2014 DaikonForge */ - -namespace DaikonForge.VoIP -{ - using UnityEngine; - - public class TestLocalVoiceController : VoiceControllerBase - { - public float PacketLoss = 0.1f; - - protected override void OnAudioDataEncoded( VoicePacketWrapper encodedFrame ) - { - if( Random.Range( 0f, 1f ) <= PacketLoss ) - { - return; - } - - ReceiveAudioData( encodedFrame ); - } - - public override bool IsLocal - { - get { return true; } - } - } -} \ No newline at end of file diff --git a/TestVelGameServer/Assets/DFVoice/Scripts/Components/TestLocalVoiceController.cs.meta b/TestVelGameServer/Assets/DFVoice/Scripts/Components/TestLocalVoiceController.cs.meta deleted file mode 100644 index c61b078..0000000 --- a/TestVelGameServer/Assets/DFVoice/Scripts/Components/TestLocalVoiceController.cs.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 1bb25d2ec38162e44bc48af2fd16b223 -MonoImporter: - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: diff --git a/TestVelGameServer/Assets/DFVoice/Scripts/Components/VelVoiceController.cs b/TestVelGameServer/Assets/DFVoice/Scripts/Components/VelVoiceController.cs deleted file mode 100644 index 9eff133..0000000 --- a/TestVelGameServer/Assets/DFVoice/Scripts/Components/VelVoiceController.cs +++ /dev/null @@ -1,56 +0,0 @@ -using System.Collections; -using System.Collections.Generic; -using UnityEngine; -using DaikonForge.VoIP; -[RequireComponent(typeof(NetworkPlayer))] -public class VelVoiceController : VoiceControllerBase -{ - NetworkPlayer player; - public override bool IsLocal - { - get - { - - if(player == null) - { - return true; - } - else - { - return player.isLocal; - } - } - } - - // Start is called before the first frame update - void Start() - { - player = GetComponent(); - init(); - } - - // Update is called once per frame - void Update() - { - - } - - protected override void OnAudioDataEncoded(VoicePacketWrapper encodedFrame) - { - byte[] headers = encodedFrame.ObtainHeaders(); - byte[] data = encodedFrame.RawData; - player.sendAudioData(headers, data); - //send the headers and data separately - encodedFrame.ReleaseHeaders(); - - } - - public void receiveAudioFrame(byte[] headers, byte[] data) - { - VoicePacketWrapper packet = new VoicePacketWrapper(headers, data); - ReceiveAudioData(packet); - } - - - -} diff --git a/TestVelGameServer/Assets/DFVoice/Scripts/Components/VoiceControllerBase.cs b/TestVelGameServer/Assets/DFVoice/Scripts/Components/VoiceControllerBase.cs deleted file mode 100644 index 69f7638..0000000 --- a/TestVelGameServer/Assets/DFVoice/Scripts/Components/VoiceControllerBase.cs +++ /dev/null @@ -1,179 +0,0 @@ -/* Copyright (C) 2014 DaikonForge */ - -namespace DaikonForge.VoIP -{ - using UnityEngine; - using System.Collections.Generic; - - public abstract class VoiceControllerBase : MonoBehaviour - { - /// - /// Gets whether this voice controller belongs to the local client or not - /// - public abstract bool IsLocal - { - get; - } - - /// - /// Gets the audio input device attached to this voice controller - /// - public AudioInputDeviceBase AudioInputDevice - { - get - { - return this.microphone; - } - } - - /// - /// Gets the audio output device attached to this voice controller - /// - public IAudioPlayer AudioOutputDevice - { - get - { - return this.speaker; - } - } - - /// - /// If true, play back received audio even if this belongs to the local client - /// - public bool DebugAudio = false; - - /// - /// If true, voice controller won't decode and play back received frames - /// - public bool Mute = false; - - protected AudioInputDeviceBase microphone; - protected IAudioPlayer speaker; - protected IAudioCodec codec; - - protected ulong nextFrameIndex = 0; - protected ulong nextExpectedIndex = 0; - - protected virtual void init() - { - codec = GetCodec(); - - microphone = GetComponent(); - speaker = GetComponent( typeof( IAudioPlayer ) ) as IAudioPlayer; - - if( microphone == null ) - { - Debug.LogError( "No audio input component attached to speaker", this ); - return; - } - - if( speaker == null ) - { - Debug.LogError( "No audio output component attached to speaker", this ); - return; - } - - if( IsLocal ) - { - microphone.OnAudioBufferReady += this.OnMicrophoneDataReady; - microphone.StartRecording(); - } - } - - protected virtual void OnDestroy() - { - if( IsLocal && microphone != null ) - { - microphone.OnAudioBufferReady -= this.OnMicrophoneDataReady; - microphone.StopRecording(); - } - } - - /// - /// Called when a frame of audio is encoded and ready to send - /// - protected virtual void OnAudioDataEncoded( VoicePacketWrapper encodedFrame ) - { - // TODO: send audio over network - } - - /// - /// Create a new codec - /// - protected virtual IAudioCodec GetCodec() - { - AudioUtils.FrequencyProvider = new SpeexCodec.FrequencyProvider(); - return new SpeexCodec( true ); - } - - /// - /// If you need to skip receiving a frame, you should call this function so it can advance the next expected index counter - /// - protected void SkipFrame() - { - nextExpectedIndex++; - } - - /// - /// Decode and play back received audio data - /// - protected virtual void ReceiveAudioData( VoicePacketWrapper encodedFrame ) - { - if( !IsLocal || DebugAudio ) - { - // discard old samples - if( encodedFrame.Index < nextExpectedIndex ) return; - - // voice controller is muted - don't bother decoding or buffering audio data - if( Mute ) - { - nextExpectedIndex = encodedFrame.Index + 1; - return; - } - - speaker.SetSampleRate( encodedFrame.Frequency * 1000 ); - - // some frames were lost, generate filler data for them - // unless the speaker isn't playing any sound, in which case filler data will only delay the stream further - // OR unless nextExpectedIndex is zero, implying that we haven't received any frames yet - if( nextExpectedIndex != 0 && encodedFrame.Index != nextExpectedIndex && speaker.PlayingSound ) - { - int numMissingFrames = (int)( encodedFrame.Index - nextExpectedIndex ); - - for( int i = 0; i < numMissingFrames; i++ ) - { - BigArray filler = codec.GenerateMissingFrame( encodedFrame.Frequency ); - speaker.BufferAudio( filler ); - } - } - - BigArray decoded = codec.DecodeFrame( encodedFrame ); - speaker.BufferAudio( decoded ); - - nextExpectedIndex = encodedFrame.Index + 1; - } - } - - /// - /// Called when new audio is available from the microphone - /// - protected virtual void OnMicrophoneDataReady( BigArray newData, int frequency ) - { - if( !IsLocal ) return; - - codec.OnAudioAvailable( newData ); - - VoicePacketWrapper? enc = codec.GetNextEncodedFrame( frequency ); - while( enc.HasValue ) - { - // assign index - VoicePacketWrapper packet = enc.Value; - packet.Index = nextFrameIndex++; - enc = packet; - - OnAudioDataEncoded( enc.Value ); - enc = codec.GetNextEncodedFrame( frequency ); - } - } - } -} \ No newline at end of file diff --git a/TestVelGameServer/Assets/DFVoice/Scripts/Components/VoiceControllerBase.cs.meta b/TestVelGameServer/Assets/DFVoice/Scripts/Components/VoiceControllerBase.cs.meta deleted file mode 100644 index d441508..0000000 --- a/TestVelGameServer/Assets/DFVoice/Scripts/Components/VoiceControllerBase.cs.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: d417da3dc9eadb24793f13fbb74b7e09 -MonoImporter: - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: diff --git a/TestVelGameServer/Assets/DFVoice/Scripts/IO.meta b/TestVelGameServer/Assets/DFVoice/Scripts/IO.meta deleted file mode 100644 index 1db0c3e..0000000 --- a/TestVelGameServer/Assets/DFVoice/Scripts/IO.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 866c4f5eb18f24923bac66b4807ab6b3 -folderAsset: yes -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/TestVelGameServer/Assets/DFVoice/Scripts/IO/AudioClipInputDevice.cs b/TestVelGameServer/Assets/DFVoice/Scripts/IO/AudioClipInputDevice.cs deleted file mode 100644 index d98880c..0000000 --- a/TestVelGameServer/Assets/DFVoice/Scripts/IO/AudioClipInputDevice.cs +++ /dev/null @@ -1,57 +0,0 @@ -/* Copyright (C) 2014 DaikonForge */ - -namespace DaikonForge.VoIP -{ - using UnityEngine; - using System.Collections; - - public class AudioClipInputDevice : AudioInputDeviceBase - { - public AudioClip testClip; - public FrequencyMode ResampleFrequency = FrequencyMode.Wide; - - public override void StartRecording() - { - float[] data = new float[ testClip.samples * testClip.channels ]; - testClip.GetData( data, 0 ); - - BigArray d = new BigArray( data.Length, 0 ); - d.Resize( data.Length ); - d.CopyFrom( data, 0, 0, data.Length * 4 ); - - //AudioUtils.Resample( d, testClip.frequency, AudioUtils.GetFrequency( ResampleFrequency ) ); - - //bufferReady( d, AudioUtils.GetFrequency( ResampleFrequency ) ); - StartCoroutine( yieldChunks( d, testClip.frequency, 1f ) ); - } - - private IEnumerator yieldChunks( BigArray data, int chunkSize, float chunkDuration ) - { - int readHead = 0; - - while( readHead < data.Length ) - { - int remainder = chunkSize; - if( readHead + chunkSize >= data.Length ) - { - remainder = data.Length - readHead; - } - - BigArray temp = new BigArray( remainder, 0 ); - temp.Resize( remainder ); - temp.CopyFrom( data.Items, readHead * 4, 0, remainder * 4 ); - AudioUtils.Resample( temp, testClip.frequency, AudioUtils.GetFrequency( ResampleFrequency ) ); - - bufferReady( temp, AudioUtils.GetFrequency( ResampleFrequency ) ); - - readHead += remainder; - - yield return new WaitForSeconds( chunkDuration ); - } - } - - public override void StopRecording() - { - } - } -} \ No newline at end of file diff --git a/TestVelGameServer/Assets/DFVoice/Scripts/IO/AudioClipInputDevice.cs.meta b/TestVelGameServer/Assets/DFVoice/Scripts/IO/AudioClipInputDevice.cs.meta deleted file mode 100644 index ea5b427..0000000 --- a/TestVelGameServer/Assets/DFVoice/Scripts/IO/AudioClipInputDevice.cs.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 9967234445f1b0f4189095bb0ac74468 -MonoImporter: - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: diff --git a/TestVelGameServer/Assets/DFVoice/Scripts/IO/AudioInputDeviceBase.cs b/TestVelGameServer/Assets/DFVoice/Scripts/IO/AudioInputDeviceBase.cs deleted file mode 100644 index 2de5a95..0000000 --- a/TestVelGameServer/Assets/DFVoice/Scripts/IO/AudioInputDeviceBase.cs +++ /dev/null @@ -1,38 +0,0 @@ -/* Copyright (C) 2014 DaikonForge */ - -namespace DaikonForge.VoIP -{ - using UnityEngine; - - /// - /// Event handler for when new audio data becomes available - /// - public delegate void AudioBufferReadyHandler( BigArray newData, int frequency ); - - /// - /// Base class for audio input devices - /// - public abstract class AudioInputDeviceBase : MonoBehaviour - { - /// - /// Called when new audio data becomes available - /// - public event AudioBufferReadyHandler OnAudioBufferReady; - - /// - /// Start recording audio data - /// - public abstract void StartRecording(); - - /// - /// Stop recording audio data - /// - public abstract void StopRecording(); - - protected void bufferReady( BigArray newData, int frequency ) - { - if( OnAudioBufferReady != null ) - OnAudioBufferReady( newData, frequency ); - } - } -} \ No newline at end of file diff --git a/TestVelGameServer/Assets/DFVoice/Scripts/IO/AudioInputDeviceBase.cs.meta b/TestVelGameServer/Assets/DFVoice/Scripts/IO/AudioInputDeviceBase.cs.meta deleted file mode 100644 index 074ff58..0000000 --- a/TestVelGameServer/Assets/DFVoice/Scripts/IO/AudioInputDeviceBase.cs.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 51a1dfa85ff93f340aaff134a7a5cb88 -MonoImporter: - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: diff --git a/TestVelGameServer/Assets/DFVoice/Scripts/IO/IAudioPlayer.cs b/TestVelGameServer/Assets/DFVoice/Scripts/IO/IAudioPlayer.cs deleted file mode 100644 index ad85242..0000000 --- a/TestVelGameServer/Assets/DFVoice/Scripts/IO/IAudioPlayer.cs +++ /dev/null @@ -1,14 +0,0 @@ -/* Copyright (C) 2014 DaikonForge */ - -namespace DaikonForge.VoIP -{ - /// - /// Interface for classes which can play received audio - /// - public interface IAudioPlayer - { - bool PlayingSound { get; } - void SetSampleRate( int sampleRate ); - void BufferAudio( BigArray audioData ); - } -} \ No newline at end of file diff --git a/TestVelGameServer/Assets/DFVoice/Scripts/IO/IAudioPlayer.cs.meta b/TestVelGameServer/Assets/DFVoice/Scripts/IO/IAudioPlayer.cs.meta deleted file mode 100644 index bb559f6..0000000 --- a/TestVelGameServer/Assets/DFVoice/Scripts/IO/IAudioPlayer.cs.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 02df04439ff9f7444bc43a4154e5af15 -MonoImporter: - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: diff --git a/TestVelGameServer/Assets/DFVoice/Scripts/IO/MicrophoneInputDevice.cs b/TestVelGameServer/Assets/DFVoice/Scripts/IO/MicrophoneInputDevice.cs deleted file mode 100644 index a1cc0e6..0000000 --- a/TestVelGameServer/Assets/DFVoice/Scripts/IO/MicrophoneInputDevice.cs +++ /dev/null @@ -1,174 +0,0 @@ -/* Copyright (C) 2014 DaikonForge */ - -namespace DaikonForge.VoIP -{ - using UnityEngine; - - [AddComponentMenu( "DFVoice/Microphone Input Device" )] - public class MicrophoneInputDevice : AudioInputDeviceBase - { - public static string DefaultMicrophone = null; - - /// - /// Gets the device that is actively being used to record audio - /// - public string ActiveDevice - { - get - { - return device; - } - } - - public int ChunkSize = 640; - public FrequencyMode Mode = FrequencyMode.Wide; - - public KeyCode PushToTalk = KeyCode.None; - - public float AmplitudeThreshold = 0f; - - private AudioClip recordedAudio; - private int prevReadPosition = 0; - private BigArray resampleBuffer; - - private string device = null; - private int recordingFrequency; - - private float pushToTalkTimer = 0f; - - public override void StartRecording() - { - if( !Application.HasUserAuthorization( UserAuthorization.Microphone ) ) - { - Debug.LogWarning( "StartRecording(): Webplayer microphone access denied" ); - return; - } - - device = DefaultMicrophone; - - prevReadPosition = 0; - - this.recordingFrequency = AudioUtils.GetFrequency( Mode ); - - int min, max; - Microphone.GetDeviceCaps( device, out min, out max ); - - if( max == 0 ) max = 48000; - //if( max == 0 ) max = 16000; - - int frequency = Mathf.Clamp( this.recordingFrequency, min, max ); - - resampleBuffer = new BigArray( ChunkSize, 0 ); - recordedAudio = Microphone.Start( device, true, 5, frequency ); - } - - public override void StopRecording() - { - Microphone.End( device ); - } - - /// - /// Switch over to a new device - /// - public void ChangeMicrophoneDevice( string newDevice ) - { - StopRecording(); - - DefaultMicrophone = newDevice; - - StartRecording(); - } - - void Update() - { - if( !Microphone.IsRecording( device ) || recordedAudio == null ) - { - return; - } - - float[] tempArray = TempArray.Obtain( ChunkSize ); - - // in case of recompile - if( resampleBuffer == null ) - { - resampleBuffer = new BigArray( ChunkSize, 0 ); - } - - int readPosition = Microphone.GetPosition( device ); - - if( readPosition >= ( prevReadPosition + ChunkSize ) ) - { - while( readPosition >= ( prevReadPosition + ChunkSize ) ) - { - if( canTalk() ) - { - recordedAudio.GetData( tempArray, prevReadPosition ); - if( exceedsVolumeThreshold( tempArray ) ) - { - resample( tempArray ); - bufferReady( resampleBuffer, this.recordingFrequency ); - } - } - - prevReadPosition += ChunkSize; - } - } - else if( prevReadPosition > readPosition ) - { - var endReadPos = readPosition + recordedAudio.samples; - var diff = endReadPos - prevReadPosition; - while( diff >= ChunkSize ) - { - if( canTalk() ) - { - recordedAudio.GetData( tempArray, prevReadPosition ); - if( exceedsVolumeThreshold( tempArray ) ) - { - resample( tempArray ); - bufferReady( resampleBuffer, this.recordingFrequency ); - } - } - - prevReadPosition += ChunkSize; - if( prevReadPosition >= recordedAudio.samples ) - { - prevReadPosition -= recordedAudio.samples; - break; - } - - endReadPos = readPosition + recordedAudio.samples; - diff = endReadPos - prevReadPosition; - } - } - - TempArray.Release( tempArray ); - } - - bool exceedsVolumeThreshold( float[] data ) - { - if( AmplitudeThreshold == 0f ) - return true; - - var max = Mathf.Max( data ); - return max >= AmplitudeThreshold; - } - - void resample( float[] tempArray ) - { - //resampleBuffer = new BigArray( tempArray.Length, tempArray.Length ); - resampleBuffer.Resize( tempArray.Length ); - resampleBuffer.CopyFrom( tempArray, 0, 0, tempArray.Length * 4 ); - //Debug.Log( "Resampling from: " + recordedAudio.frequency + ", to: " + this.recordingFrequency ); - AudioUtils.Resample( resampleBuffer, recordedAudio.frequency, this.recordingFrequency ); - } - - bool canTalk() - { - if( PushToTalk == KeyCode.None ) return true; - if( Input.GetKey( PushToTalk ) ) pushToTalkTimer = 0.2f; - - pushToTalkTimer -= Time.deltaTime; - return pushToTalkTimer > 0f; - } - } -} \ No newline at end of file diff --git a/TestVelGameServer/Assets/DFVoice/Scripts/IO/MicrophoneInputDevice.cs.meta b/TestVelGameServer/Assets/DFVoice/Scripts/IO/MicrophoneInputDevice.cs.meta deleted file mode 100644 index 6dc80f3..0000000 --- a/TestVelGameServer/Assets/DFVoice/Scripts/IO/MicrophoneInputDevice.cs.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: ca697a6f27a261442a2c082beee1b411 -MonoImporter: - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: diff --git a/TestVelGameServer/Assets/DFVoice/Scripts/IO/UnityAudioPlayer.cs b/TestVelGameServer/Assets/DFVoice/Scripts/IO/UnityAudioPlayer.cs deleted file mode 100644 index a522e8f..0000000 --- a/TestVelGameServer/Assets/DFVoice/Scripts/IO/UnityAudioPlayer.cs +++ /dev/null @@ -1,145 +0,0 @@ -/* Copyright (C) 2014 DaikonForge */ - -namespace DaikonForge.VoIP -{ - using UnityEngine; - - /// - /// Implements an audio player which writes to a streaming audio clip - /// - [AddComponentMenu( "DFVoice/Unity Audio Player" )] - [RequireComponent( typeof( AudioSource ) )] - public class UnityAudioPlayer : MonoBehaviour, IAudioPlayer - { - public bool PlayingSound - { - get - { - return GetComponent().isPlaying; - } - } - - public bool IsThreeDimensional = false; - - public bool Equalize = false; - public float EqualizeSpeed = 1f; - public float TargetEqualizeVolume = 0.75f; - public float MaxEqualization = 5f; - - private int frequency = 16000; - - private int writeHead = 0; - private int totalWritten = 0; - private AudioClip playClip; - - private int delayForFrames = 0; - private int lastTime = 0; - private int played = 0; - - private float currentGain = 1f; - private float targetGain = 1f; - - void Start() - { - playClip = AudioClip.Create( "vc", frequency * 10, 1, frequency, false ); - - // backwards compatibility - if( GetComponent() == null ) - gameObject.AddComponent(); - - GetComponent().clip = playClip; - GetComponent().Stop(); - GetComponent().loop = true; - GetComponent().spatialBlend = IsThreeDimensional ? 1f : 0f; - } - - void Update() - { - if( GetComponent().isPlaying ) - { - if( lastTime > GetComponent().timeSamples ) - { - played += GetComponent().clip.samples; - } - - lastTime = GetComponent().timeSamples; - - currentGain = Mathf.MoveTowards( currentGain, targetGain, Time.deltaTime * EqualizeSpeed ); - - if( played + GetComponent().timeSamples >= totalWritten ) - { - GetComponent().Pause(); - delayForFrames = 2; - } - } - } - - void OnDestroy() - { - Destroy( GetComponent().clip ); - } - - public void SetSampleRate( int sampleRate ) - { - if( GetComponent() == null ) return; - - if( GetComponent().clip != null && GetComponent().clip.frequency == sampleRate ) return; - - this.frequency = sampleRate; - - if( GetComponent().clip != null ) - Destroy( GetComponent().clip ); - - playClip = AudioClip.Create( "vc", frequency * 10, 1, frequency, false ); - GetComponent().clip = playClip; - GetComponent().Stop(); - GetComponent().loop = true; - - writeHead = 0; - totalWritten = 0; - delayForFrames = 0; - lastTime = 0; - played = 0; - } - - public void BufferAudio( BigArray audioData ) - { - if( GetComponent() == null ) return; - - float[] temp = TempArray.Obtain( audioData.Length ); - audioData.CopyTo( 0, temp, 0, audioData.Length * 4 ); - - if( Equalize ) - { - float maxAmp = AudioUtils.GetMaxAmplitude( temp ); - targetGain = TargetEqualizeVolume / maxAmp; - - if( targetGain > MaxEqualization ) - targetGain = MaxEqualization; - - if( targetGain < currentGain ) - { - currentGain = targetGain; - } - - AudioUtils.ApplyGain( temp, currentGain ); - } - - playClip.SetData( temp, writeHead ); - TempArray.Release( temp ); - - writeHead += audioData.Length; - totalWritten += audioData.Length; - writeHead %= playClip.samples; - - if( !GetComponent().isPlaying ) - { - delayForFrames--; - if( delayForFrames <= 0 ) - { - GetComponent().Play(); - } - } - } - } -} \ No newline at end of file diff --git a/TestVelGameServer/Assets/DFVoice/Scripts/IO/UnityAudioPlayer.cs.meta b/TestVelGameServer/Assets/DFVoice/Scripts/IO/UnityAudioPlayer.cs.meta deleted file mode 100644 index dfc87cd..0000000 --- a/TestVelGameServer/Assets/DFVoice/Scripts/IO/UnityAudioPlayer.cs.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 6e00d42098a712e4bb865682007cfe50 -MonoImporter: - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: diff --git a/TestVelGameServer/Assets/DFVoice/Scripts/Misc.meta b/TestVelGameServer/Assets/DFVoice/Scripts/Misc.meta deleted file mode 100644 index 186f5f0..0000000 --- a/TestVelGameServer/Assets/DFVoice/Scripts/Misc.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 076de0d8431e648998dd44e88ea74a9b -folderAsset: yes -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/TestVelGameServer/Assets/DFVoice/Scripts/Misc/VoicePacketWrapper.cs b/TestVelGameServer/Assets/DFVoice/Scripts/Misc/VoicePacketWrapper.cs deleted file mode 100644 index 7271ec0..0000000 --- a/TestVelGameServer/Assets/DFVoice/Scripts/Misc/VoicePacketWrapper.cs +++ /dev/null @@ -1,84 +0,0 @@ -/* Copyright (C) 2014 DaikonForge */ - -namespace DaikonForge.VoIP -{ - public struct VoicePacketWrapper - { - /// - /// The index of this voice packet (used to detect lost frames) - /// - public ulong Index; - - /// - /// The frequency (audio frequency = freqID * 1000) - /// - public byte Frequency; - - /// - /// The raw data which was sent - /// - public byte[] RawData; - - private byte[] tempHeaderData; - - public VoicePacketWrapper( ulong Index, int Frequency, byte[] RawData ) - { - tempHeaderData = null; - - this.Index = Index; - this.Frequency = (byte)( Frequency / 1000 ); - this.RawData = RawData; - } - - public VoicePacketWrapper( ulong Index, byte Frequency, byte[] RawData ) - { - tempHeaderData = null; - - this.Index = Index; - this.Frequency = Frequency; - this.RawData = RawData; - } - - public VoicePacketWrapper( byte[] headers, byte[] rawData ) - { - tempHeaderData = null; - - this.Index = System.BitConverter.ToUInt64( headers, 0 ); - this.Frequency = headers[ 8 ]; - this.RawData = rawData; - } - - public byte[] ObtainHeaders() - { - tempHeaderData = TempArray.Obtain( 9 ); // 8 bytes for ulong + 1 byte - - // extract bytes from ulong - byte b0 = (byte)( Index & 0x00000000000000ff ); - byte b1 = (byte)( ( Index & 0x000000000000ff00 ) >> 8 ); - byte b2 = (byte)( ( Index & 0x0000000000ff0000 ) >> 16 ); - byte b3 = (byte)( ( Index & 0x00000000ff000000 ) >> 24 ); - byte b4 = (byte)( ( Index & 0x000000ff00000000 ) >> 32 ); - byte b5 = (byte)( ( Index & 0x0000ff0000000000 ) >> 40 ); - byte b6 = (byte)( ( Index & 0x00ff000000000000 ) >> 48 ); - byte b7 = (byte)( ( Index & 0xff00000000000000 ) >> 56 ); - - tempHeaderData[ 0 ] = b0; - tempHeaderData[ 1 ] = b1; - tempHeaderData[ 2 ] = b2; - tempHeaderData[ 3 ] = b3; - tempHeaderData[ 4 ] = b4; - tempHeaderData[ 5 ] = b5; - tempHeaderData[ 6 ] = b6; - tempHeaderData[ 7 ] = b7; - - tempHeaderData[ 8 ] = Frequency; - - return tempHeaderData; - } - - public void ReleaseHeaders() - { - TempArray.Release( tempHeaderData ); - } - } -} \ No newline at end of file diff --git a/TestVelGameServer/Assets/DFVoice/Scripts/Misc/VoicePacketWrapper.cs.meta b/TestVelGameServer/Assets/DFVoice/Scripts/Misc/VoicePacketWrapper.cs.meta deleted file mode 100644 index 234dd08..0000000 --- a/TestVelGameServer/Assets/DFVoice/Scripts/Misc/VoicePacketWrapper.cs.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 1309269c62ff78d4b9929415ee7f18ac -MonoImporter: - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: diff --git a/TestVelGameServer/Assets/DFVoice/Scripts/Utils.meta b/TestVelGameServer/Assets/DFVoice/Scripts/Utils.meta deleted file mode 100644 index 471a217..0000000 --- a/TestVelGameServer/Assets/DFVoice/Scripts/Utils.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: e2149cce48a874a54bad45ecb828158a -folderAsset: yes -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/TestVelGameServer/Assets/DFVoice/Scripts/Utils/AudioUtils.cs b/TestVelGameServer/Assets/DFVoice/Scripts/Utils/AudioUtils.cs deleted file mode 100644 index b6d1684..0000000 --- a/TestVelGameServer/Assets/DFVoice/Scripts/Utils/AudioUtils.cs +++ /dev/null @@ -1,63 +0,0 @@ -/* Copyright (C) 2014 DaikonForge */ - -namespace DaikonForge.VoIP -{ - using UnityEngine; - - public enum FrequencyMode - { - Narrow, - Wide, - UltraWide - } - - public interface IFrequencyProvider - { - int GetFrequency( FrequencyMode mode ); - } - - public class AudioUtils - { - public static IFrequencyProvider FrequencyProvider = new SpeexCodec.FrequencyProvider(); - private static FastList temp = new FastList(); - - public static int GetFrequency( FrequencyMode mode ) - { - return FrequencyProvider.GetFrequency( mode ); - } - - public static void Resample( BigArray samples, int oldFrequency, int newFrequency ) - { - if( oldFrequency == newFrequency ) return; - - temp.Clear(); - float ratio = (float)oldFrequency / (float)newFrequency; - int outSample = 0; - while( true ) - { - int inBufferIndex = (int)( outSample++ * ratio ); - if( inBufferIndex < samples.Length ) - temp.Add( samples[ inBufferIndex ] ); - else - break; - } - - samples.Resize( temp.Count ); - samples.CopyFrom( temp.Items, 0, 0, temp.Count * 4 ); - } - - public static void ApplyGain( float[] samples, float gain ) - { - for( int i = 0; i < samples.Length; i++ ) - samples[ i ] *= gain; - } - - public static float GetMaxAmplitude( float[] samples ) - { - float max = 0f; - for( int i = 0; i < samples.Length; i++ ) - max = Mathf.Max( max, Mathf.Abs( samples[ i ] ) ); - return max; - } - } -} \ No newline at end of file diff --git a/TestVelGameServer/Assets/DFVoice/Scripts/Utils/AudioUtils.cs.meta b/TestVelGameServer/Assets/DFVoice/Scripts/Utils/AudioUtils.cs.meta deleted file mode 100644 index 30ea0d1..0000000 --- a/TestVelGameServer/Assets/DFVoice/Scripts/Utils/AudioUtils.cs.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 3c02370e0d553ba4abc46b1410180db4 -MonoImporter: - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: diff --git a/TestVelGameServer/Assets/DFVoice/Scripts/Utils/BigArray.cs b/TestVelGameServer/Assets/DFVoice/Scripts/Utils/BigArray.cs deleted file mode 100644 index c7d8c97..0000000 --- a/TestVelGameServer/Assets/DFVoice/Scripts/Utils/BigArray.cs +++ /dev/null @@ -1,74 +0,0 @@ -/* Copyright (C) 2014 DaikonForge */ - -namespace DaikonForge.VoIP -{ - public class BigArray - { - private T[] items; - private int count; - - public BigArray( int capacity, int count ) - { - items = new T[ capacity ]; - this.count = count; - } - - public T this[ int index ] - { - get - { - if( index >= count ) - throw new System.IndexOutOfRangeException(); - - return items[ index ]; - } - set - { - if( index >= count ) - throw new System.IndexOutOfRangeException(); - - items[ index ] = value; - } - } - - public int Length - { - get - { - return count; - } - } - - public T[] Items - { - get - { - return items; - } - } - - public void Resize( int newSize ) - { - this.count = newSize; - if( this.items.Length < newSize ) - { - System.Array.Resize( ref this.items, newSize * 2 ); - } - } - - public void CopyTo( int startIndex, BigArray destination, int destIndex, int count ) - { - System.Buffer.BlockCopy( items, startIndex, destination.items, destIndex, count ); - } - - public void CopyTo( int startIndex, T[] destination, int destIndex, int count ) - { - System.Buffer.BlockCopy( items, startIndex, destination, destIndex, count ); - } - - public void CopyFrom( T[] source, int sourceIndex, int destIndex, int count ) - { - System.Buffer.BlockCopy( source, sourceIndex, this.items, destIndex, count ); - } - } -} \ No newline at end of file diff --git a/TestVelGameServer/Assets/DFVoice/Scripts/Utils/BigArray.cs.meta b/TestVelGameServer/Assets/DFVoice/Scripts/Utils/BigArray.cs.meta deleted file mode 100644 index 8eb239a..0000000 --- a/TestVelGameServer/Assets/DFVoice/Scripts/Utils/BigArray.cs.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: ba3ab656ee82c4f43884683c0e1c7cf5 -MonoImporter: - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: diff --git a/TestVelGameServer/Assets/DFVoice/Scripts/Utils/ChunkBuffer.cs b/TestVelGameServer/Assets/DFVoice/Scripts/Utils/ChunkBuffer.cs deleted file mode 100644 index f45eaa2..0000000 --- a/TestVelGameServer/Assets/DFVoice/Scripts/Utils/ChunkBuffer.cs +++ /dev/null @@ -1,46 +0,0 @@ -/* Copyright (C) 2014 DaikonForge */ - -namespace DaikonForge.VoIP -{ - /// - /// Helper class for separating input microphone data into chunks of a certain number of samples - /// - public class ChunkBuffer - { - //private List samples = new List(); - private FastList samples = new FastList(); - - /// - /// Add incoming samples to the buffer - /// - public void AddSamples( BigArray incomingSamples ) - { - int writeIndex = samples.Count * 4; - int newLength = samples.Count + incomingSamples.Length; - int writeBytes = incomingSamples.Length * 4; - samples.EnsureCapacity( newLength ); - samples.ForceCount( newLength ); - incomingSamples.CopyTo( 0, samples.Items, writeIndex, writeBytes ); - - //for( int i = 0; i < incomingSamples.Length; i++ ) - //{ - // samples[ writeIndex + i ] = incomingSamples[ i ]; - //} - } - - /// - /// Retrieve a chunk of the given size and fill destination array with samples - /// - /// True if a chunk is available, false otherwise - public bool RetrieveChunk( float[] destination ) - { - if( samples.Count < destination.Length ) return false; - for( int i = 0; i < destination.Length; i++ ) - { - destination[ i ] = samples[ i ]; - } - samples.RemoveRange( 0, destination.Length ); - return true; - } - } -} \ No newline at end of file diff --git a/TestVelGameServer/Assets/DFVoice/Scripts/Utils/ChunkBuffer.cs.meta b/TestVelGameServer/Assets/DFVoice/Scripts/Utils/ChunkBuffer.cs.meta deleted file mode 100644 index 38a8c10..0000000 --- a/TestVelGameServer/Assets/DFVoice/Scripts/Utils/ChunkBuffer.cs.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: f9a6d1b38ea00c44d93f1b0d1dc2ab83 -MonoImporter: - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: diff --git a/TestVelGameServer/Assets/DFVoice/Scripts/Utils/FastList.cs b/TestVelGameServer/Assets/DFVoice/Scripts/Utils/FastList.cs deleted file mode 100644 index 9879c60..0000000 --- a/TestVelGameServer/Assets/DFVoice/Scripts/Utils/FastList.cs +++ /dev/null @@ -1,1144 +0,0 @@ -/* Copyright 2013-2014 Daikon Forge */ - -namespace DaikonForge.VoIP -{ - using System; - using System.Collections; - using System.Collections.Generic; - - /// - /// Defines a simplified Generic List customized specifically for - /// game development - Implements object pooling, minimizes memory - /// allocations during common operations, replaces common extension - /// methods with bespoke implementations that do not allocate - /// iterators, etc. - /// - public class FastList : IList, IDisposable - { - #region Object pooling - - #region Static variables - - // NOTE: Switched to Queue in an attempt to work around - // a bug in the version of Mono used by Unity on iOS - http://stackoverflow.com/q/16542915 - private static Queue pool = new Queue( 1024 ); - - #endregion - - /// - /// Releases all instances in the object pool. - /// - public static void ClearPool() - { - lock( pool ) - { - pool.Clear(); - pool.TrimExcess(); - } - } - - /// - /// Returns a reference to a instance. If there are - /// available instances in the object pool, the first available instance will - /// be returned. If there are no instances available, then a new instance - /// will be created. Use the function to return the instance - /// to the object pool. - /// - public static FastList Obtain() - { - lock( pool ) - { - if( pool.Count == 0 ) - return new FastList(); - - return (FastList)pool.Dequeue(); - } - } - - /// - /// Returns a reference to a instance. If there are - /// available instances in the object pool, the first available instance will - /// be returned. If there are no instances available, then a new instance - /// will be created. Use the function to return the instance - /// to the object pool. - /// - public static FastList Obtain( int capacity ) - { - var list = Obtain(); - - list.EnsureCapacity( capacity ); - - return list; - } - - /// - /// Releases the back to the object pool - /// - public void Release() - { - Clear(); - - lock( pool ) - { - pool.Enqueue( this ); - } - } - - #endregion - - #region Private instance fields - - private const int DEFAULT_CAPACITY = 128; - - private T[] items = new T[ DEFAULT_CAPACITY ]; - private int count = 0; - - private bool isElementTypeValueType = false; - //private bool isElementTypePoolable = false; - - #endregion - - #region Constructor - - internal FastList() - { -#if !UNITY_EDITOR && UNITY_METRO - isElementTypeValueType = typeof( T ).GetTypeInfo().IsValueType; - isElementTypePoolable = typeof( IPoolable ).GetTypeInfo().IsAssignableFrom( typeof( T ).GetTypeInfo() ); -#else - isElementTypeValueType = typeof( T ).IsValueType; - //isElementTypePoolable = typeof( IPoolable ).IsAssignableFrom( typeof( T ) ); -#endif - } - - internal FastList( IList listToClone ) - : this() - { - AddRange( listToClone ); - } - - internal FastList( int capacity ) - : this() - { - EnsureCapacity( capacity ); - } - - #endregion - - #region Public properties - - /// - /// Returns the number of items in the list - /// - public int Count - { - get { return this.count; } - } - - /// - /// Returns the number of items this list can hold without needing to - /// resize the internal array (for internal use only) - /// - internal int Capacity - { - get { return this.items.Length; } - } - - /// - /// Gets a value indicating whether the list is read-only. Inherited from IList<> - /// - public bool IsReadOnly - { - get { return false; } - } - - /// - /// Gets/Sets the item at the specified index - /// - public T this[ int index ] - { - get - { - if( index < 0 || index > this.count - 1 ) - throw new IndexOutOfRangeException(); - return this.items[ index ]; - } - set - { - if( index < 0 || index > this.count - 1 ) - throw new IndexOutOfRangeException(); - this.items[ index ] = value; - } - } - - /// - /// Allows direct access to the underlying - /// containing this list's data. This array will most likely contain more - /// elements than the list reports via the property. - /// This property is intended for internal use by the UI library and should - /// not be accessed by other code. - /// - internal T[] Items - { - get { return this.items; } - } - - #endregion - - #region Public methods - - /// - /// Adds a new item to the end of the list. Provided only for call-level - /// compatability with code that treats this collection as a Queue. - /// - public void Enqueue( T item ) - { - lock( items ) - { - this.Add( item ); - } - } - - /// - /// Returns the first item in the collection and removes it from the list. - /// Provided only for call-level compatability with code that treats this - /// collection as a Queue. - /// - public T Dequeue() - { - lock( items ) - { - if( this.count == 0 ) - throw new IndexOutOfRangeException(); - - var item = this.items[ 0 ]; - - this.RemoveAt( 0 ); - - return item; - } - } - - /// - /// Returns the last item in the collection and removes it frm the list. - /// Provided only for call-level compatibility with code that treats this - /// collection as a Stack. - /// - /// - public T Pop() - { - lock( items ) - { - if( this.count == 0 ) - throw new IndexOutOfRangeException(); - - var item = this.items[ this.count - 1 ]; - - this.count -= 1; - - return item; - } - } - - /// - /// Returns a shallow copy of this instance - /// - /// - public FastList Clone() - { - var clone = Obtain( this.count ); - - Array.Copy( this.items, 0, clone.items, 0, this.count ); - - clone.count = this.count; - - return clone; - } - - /// - /// Reverses the order of the elements in the list - /// - public void Reverse() - { - Array.Reverse( this.items, 0, this.count ); - } - - /// - /// Sorts the elements in the entire using the default comparer. - /// - public void Sort() - { - Array.Sort( this.items, 0, this.count, null ); - } - - /// - /// Sorts the elements in the entire using the specified comparer. - /// - public void Sort( IComparer comparer ) - { - Array.Sort( this.items, 0, this.count, comparer ); - } - - /// - /// Sorts the elements in the entire using the specified . - /// - /// The to use when comparing elements. - public void Sort( Comparison comparison ) - { - if( comparison == null ) - { - throw new ArgumentNullException( "comparison" ); - } - if( this.count > 0 ) - { - using( var comparer = FunctorComparer.Obtain( comparison ) ) - { - Array.Sort( this.items, 0, this.count, comparer ); - } - } - } - - /// - /// Ensures that the has enough capacity to store elements - /// - /// - public void EnsureCapacity( int Size ) - { - if( items.Length < Size ) - { - var newSize = ( Size / DEFAULT_CAPACITY ) * DEFAULT_CAPACITY + DEFAULT_CAPACITY; - Array.Resize( ref this.items, newSize ); - } - } - - public void ForceCount( int count ) - { - this.count = count; - } - - /// - /// Adds the elements of the specified collection to the end of the - /// - public void AddRange( FastList list ) - { - var listCount = list.count; - - EnsureCapacity( this.count + listCount ); - Array.Copy( list.items, 0, this.items, this.count, listCount ); - this.count += listCount; - } - - /// - /// Adds the elements of the specified collection to the end of the - /// - public void AddRange( IList list ) - { - var listCount = list.Count; - - EnsureCapacity( this.count + listCount ); - - for( int i = 0; i < listCount; i++ ) - { - this.items[ count++ ] = list[ i ]; - } - } - - /// - /// Adds the elements of the specified collection to the end of the - /// - public void AddRange( T[] list ) - { - var listLength = list.Length; - - EnsureCapacity( this.count + listLength ); - Array.Copy( list, 0, this.items, this.count, listLength ); - this.count += listLength; - } - - /// - /// Determines the index of a specific item in the collection - /// - public int IndexOf( T item ) - { - return Array.IndexOf( this.items, item, 0, this.count ); - } - - /// - /// Inserts an item to the collection at the specified index - /// - /// - /// - public void Insert( int index, T item ) - { - EnsureCapacity( this.count + 1 ); - - if( index < this.count ) - { - Array.Copy( this.items, index, this.items, index + 1, this.count - index ); - } - - this.items[ index ] = item; - this.count += 1; - } - - /// - /// Inserts an array of items at the specified index - /// - public void InsertRange( int index, T[] array ) - { - if( array == null ) - throw new ArgumentNullException( "items" ); - - if( index < 0 || index > this.count ) - throw new ArgumentOutOfRangeException( "index" ); - - EnsureCapacity( this.count + array.Length ); - - if( index < this.count ) - { - Array.Copy( this.items, index, this.items, index + array.Length, this.count - index ); - } - - array.CopyTo( this.items, index ); - - this.count += array.Length; - } - - /// - /// Inserts a collection of items at the specified index - /// - public void InsertRange( int index, FastList list ) - { - if( list == null ) - throw new ArgumentNullException( "items" ); - - if( index < 0 || index > this.count ) - throw new ArgumentOutOfRangeException( "index" ); - - EnsureCapacity( this.count + list.count ); - - if( index < this.count ) - { - Array.Copy( this.items, index, this.items, index + list.count, this.count - index ); - } - - Array.Copy( list.items, 0, this.items, index, list.count ); - - this.count += list.count; - } - - /// - /// Removes all items matching the predicate condition from the list - /// - public void RemoveAll( Predicate predicate ) - { - var index = 0; - while( index < this.count ) - { - if( predicate( items[ index ] ) ) - { - RemoveAt( index ); - } - else - { - index += 1; - } - } - } - - /// - /// Removes the item at the specified index - /// - public void RemoveAt( int index ) - { - if( index >= this.count ) - { - throw new ArgumentOutOfRangeException(); - } - - this.count -= 1; - - if( index < this.count ) - { - Array.Copy( this.items, index + 1, this.items, index, this.count - index ); - } - - this.items[ this.count ] = default( T ); - } - - /// - /// Removes items from the collection at the specified index - /// - public void RemoveRange( int index, int length ) - { - if( index < 0 || length < 0 || this.count - index < length ) - { - throw new ArgumentOutOfRangeException(); - } - - if( count > 0 ) - { - this.count -= length; - if( index < this.count ) - { - Array.Copy( this.items, index + length, this.items, index, this.count - index ); - } - - Array.Clear( this.items, this.count, length ); - } - } - - /// - /// Adds an item to the collection - /// - public void Add( T item ) - { - EnsureCapacity( this.count + 1 ); - this.items[ this.count++ ] = item; - } - - /// - /// Adds two items to the collection - /// - public void Add( T item0, T item1 ) - { - EnsureCapacity( this.count + 2 ); - this.items[ this.count++ ] = item0; - this.items[ this.count++ ] = item1; - } - - /// - /// Adds three items to the collection - /// - public void Add( T item0, T item1, T item2 ) - { - EnsureCapacity( this.count + 3 ); - this.items[ this.count++ ] = item0; - this.items[ this.count++ ] = item1; - this.items[ this.count++ ] = item2; - } - - /// - /// Adds four items to the collection - /// - public void Add( T item0, T item1, T item2, T item3 ) - { - EnsureCapacity( this.count + 3 ); - this.items[ this.count++ ] = item0; - this.items[ this.count++ ] = item1; - this.items[ this.count++ ] = item2; - this.items[ this.count++ ] = item3; - } - - /// - /// Removes all items from the collection - /// - public void Clear() - { - if( !isElementTypeValueType ) - { - Array.Clear( this.items, 0, this.items.Length ); - } - - this.count = 0; - } - - /// - /// Resizes the internal buffer to exactly match the number of elements in the collection - /// - public void TrimExcess() - { - Array.Resize( ref this.items, this.count ); - } - - /// - /// Determines whether the collection contains the specified value - /// - public bool Contains( T item ) - { - if( item == null ) - { - for( int i = 0; i < this.count; i++ ) - { - if( this.items[ i ] == null ) - { - return true; - } - } - return false; - } - - EqualityComparer comparer = EqualityComparer.Default; - - for( int j = 0; j < this.count; j++ ) - { - if( comparer.Equals( this.items[ j ], item ) ) - { - return true; - } - } - - return false; - } - - /// - /// Copies the elements of the collection to a instance - /// - /// - public void CopyTo( T[] array ) - { - CopyTo( array, 0 ); - } - - /// - /// Copies the elements of the collection to an starting at the specified index - /// - public void CopyTo( T[] array, int arrayIndex ) - { - Array.Copy( this.items, 0, array, arrayIndex, this.count ); - } - - /// - /// Copies the elements of the collection to an - /// - /// The starting position in the collection - /// The destination array - /// The position in the array to start copying to - /// How many elements to copy - public void CopyTo( int sourceIndex, T[] dest, int destIndex, int length ) - { - if( sourceIndex + length > this.count ) - throw new IndexOutOfRangeException( "sourceIndex" ); - - if( dest == null ) - throw new ArgumentNullException( "dest" ); - - if( destIndex + length > dest.Length ) - throw new IndexOutOfRangeException( "destIndex" ); - - Array.Copy( this.items, sourceIndex, dest, destIndex, length ); - } - - /// - /// Removes the first occurrence of a specific object from the collection - /// - public bool Remove( T item ) - { - var index = IndexOf( item ); - if( index == -1 ) - return false; - - RemoveAt( index ); - - return true; - } - - /// - /// Returns a List<T> collection containing all elements of this collection - /// - /// - public List ToList() - { - var list = new List( this.count ); - list.AddRange( this.ToArray() ); - return list; - } - - /// - /// For internal use only. - /// - // @private - internal T[] ToTempArray() - { - var result = TempArray.Obtain( this.count ); - Array.Copy( items, 0, result, 0, this.count ); - return result; - } - - /// - /// Returns an array containing all elements of this collection - /// - public T[] ToArray() - { - var array = new T[ this.count ]; - - Array.Copy( this.items, 0, array, 0, this.count ); - - return array; - } - - /// - /// Returns a subset of the collection's items as an array - /// - public T[] ToArray( int index, int length ) - { - var array = new T[ this.count ]; - - if( this.count > 0 ) - { - CopyTo( index, array, 0, length ); - } - - return array; - } - - /// - /// Returns a subset of the collection's items as another dfList - /// - public FastList GetRange( int index, int length ) - { - var range = Obtain( length ); - CopyTo( 0, range.items, index, length ); - return range; - } - - #endregion - - #region LINQ replacement methods (avoids allocating enumerators) - - /// - /// Returns whether any items in the collection match the condition - /// defined by the predicate. - /// - /// A function to test each element for a condition. - /// true if any elements in the source sequence pass the test in the specified - /// predicate; otherwise, false. - public bool Any( Func predicate ) - { - for( int i = 0; i < this.count; i++ ) - { - if( predicate( this.items[ i ] ) ) - return true; - } - - return false; - } - - /// - /// Returns the first element in the list. Throws an exception if the list is empty. - /// - /// - public T First() - { - if( this.count == 0 ) - { - throw new IndexOutOfRangeException(); - } - - return this.items[ 0 ]; - } - - /// - /// Returns the first element of the collection, or a default value - /// if the collection contains no elements. - /// - public T FirstOrDefault() - { - if( this.count > 0 ) - return this.items[ 0 ]; - - return default( T ); - } - - /// - /// Returns the first element of the collection matching the condition defined by - /// , or the default value for the element type if the - /// collection contains no elements. - /// - public T FirstOrDefault( Func predicate ) - { - for( int i = 0; i < this.count; i++ ) - { - if( predicate( items[ i ] ) ) - return items[ i ]; - } - - return default( T ); - } - - /// - /// Returns the last element in the list. Throws an exception if the list is empty. - /// - public T Last() - { - if( this.count == 0 ) - { - throw new IndexOutOfRangeException(); - } - - return this.items[ this.count - 1 ]; - } - - /// - /// Returns the last element of the collection, or a default value - /// if the collection contains no elements. - /// - public T LastOrDefault() - { - if( this.count == 0 ) - { - return default( T ); - } - - return this.items[ this.count - 1 ]; - } - - /// - /// Returns the last element of the collection matching the condition defined by - /// , or the default value for the element type if the - /// collection contains no elements. - /// - public T LastOrDefault( Func predicate ) - { - var result = default( T ); - - for( int i = 0; i < this.count; i++ ) - { - if( predicate( items[ i ] ) ) - { - result = items[ i ]; - } - } - - return result; - } - - /// - /// Returns a list containing all elements - /// of the collection matching the condition specified by - /// - public FastList Where( Func predicate ) - { - var result = FastList.Obtain( this.count ); - - for( int i = 0; i < this.count; i++ ) - { - if( predicate( items[ i ] ) ) - { - result.Add( items[ i ] ); - } - } - - return result; - } - - /// - /// Returns the count of elements in the list that satisfy the - /// condition defined by - /// - public int Matching( Func predicate ) - { - var matching = 0; - - for( int i = 0; i < this.count; i++ ) - { - if( predicate( items[ i ] ) ) - matching += 1; - } - - return matching; - } - - /// - /// Projects each element of a sequence into a new form defined by - /// - public FastList Select( Func selector ) - { - var result = FastList.Obtain( this.count ); - - for( int i = 0; i < this.count; i++ ) - { - result.Add( selector( items[ i ] ) ); - } - - return result; - } - - /// - /// Returns a concatenated list containing all elements both lists - /// - public FastList Concat( FastList list ) - { - var result = FastList.Obtain( this.count + list.count ); - - result.AddRange( this ); - result.AddRange( list ); - - return result; - } - - /// - /// Converts all elements of the list to the specified target type - /// - public FastList Convert() - { - var result = FastList.Obtain( this.count ); - - for( int i = 0; i < this.count; i++ ) - { - result.Add( (TResult)System.Convert.ChangeType( this.items[ i ], typeof( TResult ) ) ); - } - - return result; - } - - /// - /// Performs an action on each element of the list - /// - /// The action to be performed on each element - public void ForEach( Action action ) - { - var index = 0; - while( index < this.Count ) - { - action( items[ index++ ] ); - } - } - - #endregion - - #region IEnumerable implementation - - // NOTE: The IEnumerable implementation here is horribly broken on iOS, and until - // I can figure out a way to implement typed enumerators that do work on iOS, please - // use a for(;;) loop instead of foreach(). Note that this may also apply to using - // LINQ queries, which may use foreach() or an GetEnumerator() internally. - - /// - /// Returns an IEnumerator instance that can be used to iterate through - /// the elements in this list. - /// - public IEnumerator GetEnumerator() - { - return PooledEnumerator.Obtain( this, null ); - } - - /// - /// Returns an IEnumerator instance that can be used to iterate through - /// the elements in this list. - /// - IEnumerator IEnumerable.GetEnumerator() - { - return PooledEnumerator.Obtain( this, null ); - } - - #endregion - - #region IDisposable implementation - - /// - /// Releases the memory used by this object and returns it to the object pool - /// - public void Dispose() - { - Release(); - } - - #endregion - - #region Nested classes - - /// - /// This custom enumerator class implements object pooling in order - /// to reduce the number and frequency of memory allocations. It is - /// primarily expected to be used by framework and library code which - /// treats the associated collection as an IEnumerable<T> rather - /// than as a . For instance, LINQ contains - /// several extension methods which will treat the collection as - /// an IEnumerable<T> and will create, use, and Dispose() of - /// the enumerator while performing the query. Similarly, many - /// third-party libraries will use a foreach() loop over a collection - /// rather than using for() with numeric indices, and the object pooling - /// implemented by this class will help to mitigate the number of - /// allocations typically caused by using such code. - /// - private class PooledEnumerator : IEnumerator, IEnumerable - { - - #region Static variables - - private static Queue pool = new Queue(); - - #endregion - - #region Private variables - - private FastList list; - private Func predicate; - private int currentIndex; - private T currentValue; - private bool isValid = false; - - #endregion - - #region Pooling - - public static PooledEnumerator Obtain( FastList list, Func predicate ) - { - var enumerator = ( pool.Count > 0 ) ? pool.Dequeue() : new PooledEnumerator(); - enumerator.ResetInternal( list, predicate ); - - return enumerator; - } - - public void Release() - { - if( this.isValid ) - { - this.isValid = false; - pool.Enqueue( this ); - } - } - - #endregion - - #region IEnumerator Members - - public T Current - { - get - { - if( !this.isValid ) - throw new InvalidOperationException( "The enumerator is no longer valid" ); - - return this.currentValue; - } - } - - #endregion - - #region Private utility methods - - private void ResetInternal( FastList list, Func predicate ) - { - this.isValid = true; - this.list = list; - this.predicate = predicate; - this.currentIndex = 0; - this.currentValue = default( T ); - } - - #endregion - - #region IDisposable Members - - public void Dispose() - { - Release(); - } - - #endregion - - #region IEnumerator Members - - object IEnumerator.Current - { - get - { - return this.Current; - } - } - - public bool MoveNext() - { - if( !this.isValid ) - throw new InvalidOperationException( "The enumerator is no longer valid" ); - - while( this.currentIndex < this.list.Count ) - { - var valueAtIndex = this.list[ currentIndex++ ]; - if( predicate != null ) - { - if( !predicate( valueAtIndex ) ) - continue; - } - - this.currentValue = valueAtIndex; - return true; - } - - Release(); - - this.currentValue = default( T ); - return false; - } - - public void Reset() - { - throw new NotImplementedException(); - } - - #endregion - - #region IEnumerable Members - - public IEnumerator GetEnumerator() - { - return this; - } - - IEnumerator IEnumerable.GetEnumerator() - { - return this; - } - - #endregion - } - - private class FunctorComparer : IComparer, IDisposable - { - #region Static variables - - private static Queue pool = new Queue(); - - #endregion - - #region Private instance variables - - private Comparison comparison; - - #endregion - - #region Object pooling - - public static FunctorComparer Obtain( Comparison comparison ) - { - var comparer = ( pool.Count > 0 ) ? pool.Dequeue() : new FunctorComparer(); - comparer.comparison = comparison; - return comparer; - } - - public void Release() - { - this.comparison = null; - - if( !pool.Contains( this ) ) - { - pool.Enqueue( this ); - } - } - - #endregion - - #region IComparer implementation - - public int Compare( T x, T y ) - { - return this.comparison( x, y ); - } - - #endregion - - #region IDisposable implementation - - public void Dispose() - { - this.Release(); - } - - #endregion - } - - #endregion - } -} \ No newline at end of file diff --git a/TestVelGameServer/Assets/DFVoice/Scripts/Utils/FastList.cs.meta b/TestVelGameServer/Assets/DFVoice/Scripts/Utils/FastList.cs.meta deleted file mode 100644 index 799d50b..0000000 --- a/TestVelGameServer/Assets/DFVoice/Scripts/Utils/FastList.cs.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 502cfd4e9701ec9468330d30344ded39 -MonoImporter: - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: diff --git a/TestVelGameServer/Assets/DFVoice/Scripts/Utils/TempArray.cs b/TestVelGameServer/Assets/DFVoice/Scripts/Utils/TempArray.cs deleted file mode 100644 index 9c570ba..0000000 --- a/TestVelGameServer/Assets/DFVoice/Scripts/Utils/TempArray.cs +++ /dev/null @@ -1,44 +0,0 @@ -/* Copyright (C) 2014 DaikonForge */ - -namespace DaikonForge.VoIP -{ - using System.Collections.Generic; - - /// - /// Helper class for working with pooled arrays - /// - public class TempArray - { - private static Dictionary> pool = new Dictionary>(); - - /// - /// Obtain an array of the given length - /// - public static T[] Obtain( int length ) - { - Queue pool = getPool( length ); - if( pool.Count > 0 ) - { - return pool.Dequeue(); - } - return new T[ length ]; - } - - /// - /// Release an array back to the pool - /// - public static void Release( T[] array ) - { - pool[ array.Length ].Enqueue( array ); - } - - private static Queue getPool( int length ) - { - if( !pool.ContainsKey( length ) ) - { - pool[ length ] = new Queue(); - } - return pool[ length ]; - } - } -} \ No newline at end of file diff --git a/TestVelGameServer/Assets/DFVoice/Scripts/Utils/TempArray.cs.meta b/TestVelGameServer/Assets/DFVoice/Scripts/Utils/TempArray.cs.meta deleted file mode 100644 index e7e3d1f..0000000 --- a/TestVelGameServer/Assets/DFVoice/Scripts/Utils/TempArray.cs.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 5da0784531b4e9a43b5dccfe281696a9 -MonoImporter: - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: diff --git a/TestVelGameServer/Assets/DFVoice/Scripts/Utils/VoiceControllerCollection.cs b/TestVelGameServer/Assets/DFVoice/Scripts/Utils/VoiceControllerCollection.cs deleted file mode 100644 index 71f2e3b..0000000 --- a/TestVelGameServer/Assets/DFVoice/Scripts/Utils/VoiceControllerCollection.cs +++ /dev/null @@ -1,24 +0,0 @@ -/* Copyright (C) 2014 DaikonForge */ - -namespace DaikonForge.VoIP -{ - using System.Collections.Generic; - - /// - /// Helper class for when you need a fast way to iterate voice controllers in the scene - /// - public class VoiceControllerCollection where T : VoiceControllerBase - { - public static List VoiceControllers = new List(); - - public static void RegisterVoiceController( T controller ) - { - VoiceControllers.Add( controller ); - } - - public static void UnregisterVoiceController( T controller ) - { - VoiceControllers.Remove( controller ); - } - } -} \ No newline at end of file diff --git a/TestVelGameServer/Assets/DFVoice/Scripts/Utils/VoiceControllerCollection.cs.meta b/TestVelGameServer/Assets/DFVoice/Scripts/Utils/VoiceControllerCollection.cs.meta deleted file mode 100644 index 5325651..0000000 --- a/TestVelGameServer/Assets/DFVoice/Scripts/Utils/VoiceControllerCollection.cs.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: fc9c446086ab0d940ba525da4590eb6a -MonoImporter: - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: diff --git a/TestVelGameServer/Assets/DFVoice/Scripts/Utils/VoiceControllerKeyedCollection.cs b/TestVelGameServer/Assets/DFVoice/Scripts/Utils/VoiceControllerKeyedCollection.cs deleted file mode 100644 index d72b639..0000000 --- a/TestVelGameServer/Assets/DFVoice/Scripts/Utils/VoiceControllerKeyedCollection.cs +++ /dev/null @@ -1,33 +0,0 @@ -/* Copyright (C) 2014 DaikonForge */ - -namespace DaikonForge.VoIP -{ - using System.Collections.Generic; - - /// - /// Helper class for when you need a way to index voice controllers by some key - /// - public class VoiceControllerKeyedCollection where T : VoiceControllerBase - { - protected static Dictionary voiceControllers = new Dictionary(); - - public static void RegisterVoiceController( K key, T controller ) - { - voiceControllers.Add( key, controller ); - } - - public static void UnregisterVoiceController( K key ) - { - voiceControllers.Remove( key ); - } - - public static T GetVoiceController( K key ) - { - if( !voiceControllers.ContainsKey( key ) ) - { - return null; - } - return voiceControllers[ key ]; - } - } -} \ No newline at end of file diff --git a/TestVelGameServer/Assets/DFVoice/Scripts/Utils/VoiceControllerKeyedCollection.cs.meta b/TestVelGameServer/Assets/DFVoice/Scripts/Utils/VoiceControllerKeyedCollection.cs.meta deleted file mode 100644 index 5d054a2..0000000 --- a/TestVelGameServer/Assets/DFVoice/Scripts/Utils/VoiceControllerKeyedCollection.cs.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 81d7f79eb5e8efe48ab96ea5fa969640 -MonoImporter: - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: diff --git a/TestVelGameServer/Assets/DFVoice/Splash.meta b/TestVelGameServer/Assets/DFVoice/Splash.meta deleted file mode 100644 index 850b240..0000000 --- a/TestVelGameServer/Assets/DFVoice/Splash.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 0d2777c77749140b4b09dee8aab0afce -folderAsset: yes -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/TestVelGameServer/Assets/DFVoice/Splash/Animation.meta b/TestVelGameServer/Assets/DFVoice/Splash/Animation.meta deleted file mode 100644 index 1bddc95..0000000 --- a/TestVelGameServer/Assets/DFVoice/Splash/Animation.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 7ea8801e741bc4a41a6b010771fb9a39 -folderAsset: yes -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/TestVelGameServer/Assets/DFVoice/Splash/Animation/Fader.controller b/TestVelGameServer/Assets/DFVoice/Splash/Animation/Fader.controller deleted file mode 100644 index 21023c3..0000000 --- a/TestVelGameServer/Assets/DFVoice/Splash/Animation/Fader.controller +++ /dev/null @@ -1,72 +0,0 @@ -%YAML 1.1 -%TAG !u! tag:unity3d.com,2011: ---- !u!91 &9100000 -AnimatorController: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_Name: Fader - serializedVersion: 5 - m_AnimatorParameters: [] - m_AnimatorLayers: - - serializedVersion: 5 - m_Name: Base Layer - m_StateMachine: {fileID: 110700000} - m_Mask: {fileID: 0} - m_Motions: [] - m_Behaviours: [] - m_BlendingMode: 0 - m_SyncedLayerIndex: -1 - m_DefaultWeight: 0 - m_IKPass: 0 - m_SyncedLayerAffectsTiming: 0 - m_Controller: {fileID: 9100000} ---- !u!1102 &110200000 -AnimatorState: - serializedVersion: 6 - m_ObjectHideFlags: 1 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_Name: SplashFader - m_Speed: 1 - m_CycleOffset: 0 - m_Transitions: [] - m_StateMachineBehaviours: [] - m_Position: {x: 50, y: 50, z: 0} - m_IKOnFeet: 0 - m_WriteDefaultValues: 1 - m_Mirror: 0 - m_SpeedParameterActive: 0 - m_MirrorParameterActive: 0 - m_CycleOffsetParameterActive: 0 - m_TimeParameterActive: 0 - m_Motion: {fileID: 7400000, guid: f366061147b28d3408ad5877385e8da9, type: 2} - m_Tag: - m_SpeedParameter: - m_MirrorParameter: - m_CycleOffsetParameter: - m_TimeParameter: ---- !u!1107 &110700000 -AnimatorStateMachine: - serializedVersion: 6 - m_ObjectHideFlags: 1 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_Name: Base Layer - m_ChildStates: - - serializedVersion: 1 - m_State: {fileID: 110200000} - m_Position: {x: 50, y: 50, z: 0} - m_ChildStateMachines: [] - m_AnyStateTransitions: [] - m_EntryTransitions: [] - m_StateMachineTransitions: {} - m_StateMachineBehaviours: [] - m_AnyStatePosition: {x: 50, y: 20, z: 0} - m_EntryPosition: {x: 50, y: 120, z: 0} - m_ExitPosition: {x: 800, y: 120, z: 0} - m_ParentStateMachinePosition: {x: 800, y: 20, z: 0} - m_DefaultState: {fileID: 110200000} diff --git a/TestVelGameServer/Assets/DFVoice/Splash/Animation/Fader.controller.meta b/TestVelGameServer/Assets/DFVoice/Splash/Animation/Fader.controller.meta deleted file mode 100644 index a99bf24..0000000 --- a/TestVelGameServer/Assets/DFVoice/Splash/Animation/Fader.controller.meta +++ /dev/null @@ -1,4 +0,0 @@ -fileFormatVersion: 2 -guid: a06ead484ad59b74b902fcf8e7c3fae8 -NativeFormatImporter: - userData: diff --git a/TestVelGameServer/Assets/DFVoice/Splash/Animation/SplashFader.anim b/TestVelGameServer/Assets/DFVoice/Splash/Animation/SplashFader.anim deleted file mode 100644 index 9d23dcf..0000000 --- a/TestVelGameServer/Assets/DFVoice/Splash/Animation/SplashFader.anim +++ /dev/null @@ -1,152 +0,0 @@ -%YAML 1.1 -%TAG !u! tag:unity3d.com,2011: ---- !u!74 &7400000 -AnimationClip: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_Name: SplashFader - serializedVersion: 6 - m_Legacy: 0 - m_Compressed: 0 - m_UseHighQualityCurve: 1 - m_RotationCurves: [] - m_CompressedRotationCurves: [] - m_EulerCurves: [] - m_PositionCurves: [] - m_ScaleCurves: [] - m_FloatCurves: - - curve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 3 - time: 0 - value: 0.5 - inSlope: -1 - outSlope: -1 - tangentMode: 34 - weightedMode: 0 - inWeight: 0.33333334 - outWeight: 0.33333334 - - serializedVersion: 3 - time: 0.5 - value: 0 - inSlope: -0.5 - outSlope: -0.5 - tangentMode: 34 - weightedMode: 0 - inWeight: 0.33333334 - outWeight: 0.33333334 - - serializedVersion: 3 - time: 3 - value: 0 - inSlope: 0.5 - outSlope: 0.5 - tangentMode: 34 - weightedMode: 0 - inWeight: 0.33333334 - outWeight: 0.33333334 - - serializedVersion: 3 - time: 3.5 - value: 0.5 - inSlope: 1 - outSlope: 1 - tangentMode: 34 - weightedMode: 0 - inWeight: 0.33333334 - outWeight: 0.33333334 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - attribute: m_Color.a - path: - classID: 131 - script: {fileID: 0} - m_PPtrCurves: [] - m_SampleRate: 60 - m_WrapMode: 0 - m_Bounds: - m_Center: {x: 0, y: 0, z: 0} - m_Extent: {x: 0, y: 0, z: 0} - m_ClipBindingConstant: - genericBindings: - - serializedVersion: 2 - path: 0 - attribute: 304273561 - script: {fileID: 0} - typeID: 131 - customType: 0 - isPPtrCurve: 0 - pptrCurveMapping: [] - m_AnimationClipSettings: - serializedVersion: 2 - m_AdditiveReferencePoseClip: {fileID: 0} - m_AdditiveReferencePoseTime: 0 - m_StartTime: 0 - m_StopTime: 3.5 - m_OrientationOffsetY: 0 - m_Level: 0 - m_CycleOffset: 0 - m_HasAdditiveReferencePose: 0 - m_LoopTime: 0 - m_LoopBlend: 0 - m_LoopBlendOrientation: 0 - m_LoopBlendPositionY: 0 - m_LoopBlendPositionXZ: 0 - m_KeepOriginalOrientation: 0 - m_KeepOriginalPositionY: 1 - m_KeepOriginalPositionXZ: 0 - m_HeightFromFeet: 0 - m_Mirror: 0 - m_EditorCurves: - - curve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 3 - time: 0 - value: 0.5 - inSlope: -1 - outSlope: -1 - tangentMode: 34 - weightedMode: 0 - inWeight: 0.33333334 - outWeight: 0.33333334 - - serializedVersion: 3 - time: 0.5 - value: 0 - inSlope: -0.5 - outSlope: -0.5 - tangentMode: 34 - weightedMode: 0 - inWeight: 0.33333334 - outWeight: 0.33333334 - - serializedVersion: 3 - time: 3 - value: 0 - inSlope: 0.5 - outSlope: 0.5 - tangentMode: 34 - weightedMode: 0 - inWeight: 0.33333334 - outWeight: 0.33333334 - - serializedVersion: 3 - time: 3.5 - value: 0.5 - inSlope: 1 - outSlope: 1 - tangentMode: 34 - weightedMode: 0 - inWeight: 0.33333334 - outWeight: 0.33333334 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - attribute: m_Color.a - path: - classID: 131 - script: {fileID: 0} - m_EulerEditorCurves: [] - m_HasGenericRootTransform: 0 - m_HasMotionFloatCurves: 0 - m_Events: [] diff --git a/TestVelGameServer/Assets/DFVoice/Splash/Animation/SplashFader.anim.meta b/TestVelGameServer/Assets/DFVoice/Splash/Animation/SplashFader.anim.meta deleted file mode 100644 index 861b1ca..0000000 --- a/TestVelGameServer/Assets/DFVoice/Splash/Animation/SplashFader.anim.meta +++ /dev/null @@ -1,4 +0,0 @@ -fileFormatVersion: 2 -guid: f366061147b28d3408ad5877385e8da9 -NativeFormatImporter: - userData: diff --git a/TestVelGameServer/Assets/DFVoice/Splash/DFSplashDark.unity b/TestVelGameServer/Assets/DFVoice/Splash/DFSplashDark.unity deleted file mode 100644 index 529305b..0000000 --- a/TestVelGameServer/Assets/DFVoice/Splash/DFSplashDark.unity +++ /dev/null @@ -1,472 +0,0 @@ -%YAML 1.1 -%TAG !u! tag:unity3d.com,2011: ---- !u!29 &1 -OcclusionCullingSettings: - m_ObjectHideFlags: 0 - serializedVersion: 2 - m_OcclusionBakeSettings: - smallestOccluder: 5 - smallestHole: 0.25 - backfaceThreshold: 100 - m_SceneGUID: 00000000000000000000000000000000 - m_OcclusionCullingData: {fileID: 0} ---- !u!104 &2 -RenderSettings: - m_ObjectHideFlags: 0 - serializedVersion: 9 - m_Fog: 0 - m_FogColor: {r: 0.5, g: 0.5, b: 0.5, a: 1} - m_FogMode: 3 - m_FogDensity: 0.01 - m_LinearFogStart: 0 - m_LinearFogEnd: 300 - m_AmbientSkyColor: {r: 0.2, g: 0.2, b: 0.2, a: 1} - m_AmbientEquatorColor: {r: 0.2, g: 0.2, b: 0.2, a: 1} - m_AmbientGroundColor: {r: 0.2, g: 0.2, b: 0.2, a: 1} - m_AmbientIntensity: 1 - m_AmbientMode: 3 - m_SubtractiveShadowColor: {r: 0.42, g: 0.478, b: 0.627, a: 1} - m_SkyboxMaterial: {fileID: 0} - m_HaloStrength: 0.5 - m_FlareStrength: 1 - m_FlareFadeSpeed: 3 - m_HaloTexture: {fileID: 0} - m_SpotCookie: {fileID: 10001, guid: 0000000000000000e000000000000000, type: 0} - m_DefaultReflectionMode: 0 - m_DefaultReflectionResolution: 128 - m_ReflectionBounces: 1 - m_ReflectionIntensity: 1 - m_CustomReflection: {fileID: 0} - m_Sun: {fileID: 0} - m_IndirectSpecularColor: {r: 0, g: 0, b: 0, a: 1} - m_UseRadianceAmbientProbe: 0 ---- !u!157 &4 -LightmapSettings: - m_ObjectHideFlags: 0 - serializedVersion: 12 - m_GIWorkflowMode: 1 - m_GISettings: - serializedVersion: 2 - m_BounceScale: 1 - m_IndirectOutputScale: 1 - m_AlbedoBoost: 1 - m_EnvironmentLightingMode: 0 - m_EnableBakedLightmaps: 1 - m_EnableRealtimeLightmaps: 0 - m_LightmapEditorSettings: - serializedVersion: 12 - m_Resolution: 1 - m_BakeResolution: 50 - m_AtlasSize: 1024 - m_AO: 1 - m_AOMaxDistance: 1 - m_CompAOExponent: 1 - m_CompAOExponentDirect: 0 - m_ExtractAmbientOcclusion: 0 - m_Padding: 2 - m_LightmapParameters: {fileID: 0} - m_LightmapsBakeMode: 1 - m_TextureCompression: 0 - m_FinalGather: 0 - m_FinalGatherFiltering: 1 - m_FinalGatherRayCount: 256 - m_ReflectionCompression: 2 - m_MixedBakeMode: 1 - m_BakeBackend: 0 - m_PVRSampling: 1 - m_PVRDirectSampleCount: 32 - m_PVRSampleCount: 512 - m_PVRBounces: 2 - m_PVREnvironmentSampleCount: 512 - m_PVREnvironmentReferencePointCount: 2048 - m_PVRFilteringMode: 0 - m_PVRDenoiserTypeDirect: 0 - m_PVRDenoiserTypeIndirect: 0 - m_PVRDenoiserTypeAO: 0 - m_PVRFilterTypeDirect: 0 - m_PVRFilterTypeIndirect: 0 - m_PVRFilterTypeAO: 0 - m_PVREnvironmentMIS: 0 - m_PVRCulling: 1 - m_PVRFilteringGaussRadiusDirect: 1 - m_PVRFilteringGaussRadiusIndirect: 5 - m_PVRFilteringGaussRadiusAO: 2 - m_PVRFilteringAtrousPositionSigmaDirect: 0.5 - m_PVRFilteringAtrousPositionSigmaIndirect: 2 - m_PVRFilteringAtrousPositionSigmaAO: 1 - m_ExportTrainingData: 0 - m_TrainingDataDestination: TrainingData - m_LightProbeSampleCountMultiplier: 4 - m_LightingDataAsset: {fileID: 0} - m_LightingSettings: {fileID: 4890085278179872738, guid: ad1b9dd66372b4442b5578f789961f98, type: 2} ---- !u!196 &5 -NavMeshSettings: - serializedVersion: 2 - m_ObjectHideFlags: 0 - m_BuildSettings: - serializedVersion: 2 - agentTypeID: 0 - agentRadius: 0.5 - agentHeight: 2 - agentSlope: 45 - agentClimb: 0.4 - ledgeDropHeight: 0 - maxJumpAcrossDistance: 0 - minRegionArea: 2 - manualCellSize: 0 - cellSize: 0.16666666 - manualTileSize: 0 - tileSize: 256 - accuratePlacement: 0 - maxJobWorkers: 0 - preserveTilesOutsideBounds: 0 - debug: - m_Flags: 0 - m_NavMeshData: {fileID: 0} ---- !u!1 &4596545 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 4596546} - - component: {fileID: 4596547} - m_Layer: 0 - m_Name: splash - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &4596546 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 4596545} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 14510493} - - {fileID: 648983241} - - {fileID: 1182347998} - - {fileID: 609945526} - m_Father: {fileID: 0} - m_RootOrder: 1 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!114 &4596547 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 4596545} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 4d03e230922d32a4085e4e8f8ff663b7, type: 3} - m_Name: - m_EditorClassIdentifier: - SplashDuration: 3.5 - LoadScene: ---- !u!1 &14510491 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 14510493} - m_Layer: 0 - m_Name: copyright - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &14510493 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 14510491} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0.5, y: 0.05, z: 1} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 4596546} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &609945522 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 609945526} - - component: {fileID: 609945525} - - component: {fileID: 609945524} - - component: {fileID: 609945523} - m_Layer: 0 - m_Name: splashImage - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!23 &609945523 -MeshRenderer: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 609945522} - m_Enabled: 1 - m_CastShadows: 1 - m_ReceiveShadows: 1 - m_DynamicOccludee: 1 - m_MotionVectors: 1 - m_LightProbeUsage: 0 - m_ReflectionProbeUsage: 1 - m_RayTracingMode: 2 - m_RayTraceProcedural: 0 - m_RenderingLayerMask: 1 - m_RendererPriority: 0 - m_Materials: - - {fileID: 2100000, guid: 8ad9f8ccfc7201d4daa411af2aa69af6, type: 2} - m_StaticBatchInfo: - firstSubMesh: 0 - subMeshCount: 0 - m_StaticBatchRoot: {fileID: 0} - m_ProbeAnchor: {fileID: 0} - m_LightProbeVolumeOverride: {fileID: 0} - m_ScaleInLightmap: 1 - m_ReceiveGI: 1 - m_PreserveUVs: 0 - m_IgnoreNormalsForChartDetection: 0 - m_ImportantGI: 0 - m_StitchLightmapSeams: 1 - m_SelectedEditorRenderState: 3 - m_MinimumChartSize: 4 - m_AutoUVMaxDistance: 0.5 - m_AutoUVMaxAngle: 89 - m_LightmapParameters: {fileID: 0} - m_SortingLayerID: 0 - m_SortingLayer: 0 - m_SortingOrder: 0 - m_AdditionalVertexStreams: {fileID: 0} ---- !u!64 &609945524 -MeshCollider: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 609945522} - m_Material: {fileID: 0} - m_IsTrigger: 0 - m_Enabled: 1 - serializedVersion: 4 - m_Convex: 0 - m_CookingOptions: 30 - m_Mesh: {fileID: 10210, guid: 0000000000000000e000000000000000, type: 0} ---- !u!33 &609945525 -MeshFilter: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 609945522} - m_Mesh: {fileID: 10210, guid: 0000000000000000e000000000000000, type: 0} ---- !u!4 &609945526 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 609945522} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1.778, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 4596546} - m_RootOrder: 3 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &648983238 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 648983241} - - component: {fileID: 648983239} - m_Layer: 0 - m_Name: Fader - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!95 &648983239 -Animator: - serializedVersion: 3 - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 648983238} - m_Enabled: 1 - m_Avatar: {fileID: 0} - m_Controller: {fileID: 9100000, guid: a06ead484ad59b74b902fcf8e7c3fae8, type: 2} - m_CullingMode: 0 - m_UpdateMode: 0 - m_ApplyRootMotion: 0 - m_LinearVelocityBlending: 0 - m_WarningMessage: - m_HasTransformHierarchy: 1 - m_AllowConstantClipSamplingOptimization: 1 - m_KeepAnimatorControllerStateOnDisable: 0 ---- !u!4 &648983241 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 648983238} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0.5, y: 0.5, z: 2} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 4596546} - m_RootOrder: 1 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &960060042 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 960060047} - - component: {fileID: 960060046} - - component: {fileID: 960060044} - - component: {fileID: 960060043} - m_Layer: 0 - m_Name: Main Camera - m_TagString: MainCamera - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!81 &960060043 -AudioListener: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 960060042} - m_Enabled: 1 ---- !u!124 &960060044 -Behaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 960060042} - m_Enabled: 1 ---- !u!20 &960060046 -Camera: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 960060042} - m_Enabled: 1 - serializedVersion: 2 - m_ClearFlags: 1 - m_BackGroundColor: {r: 0, g: 0, b: 0, a: 0.019607844} - m_projectionMatrixMode: 1 - m_GateFitMode: 2 - m_FOVAxisMode: 0 - m_SensorSize: {x: 36, y: 24} - m_LensShift: {x: 0, y: 0} - m_FocalLength: 50 - m_NormalizedViewPortRect: - serializedVersion: 2 - x: 0 - y: 0 - width: 1 - height: 1 - near clip plane: 0.3 - far clip plane: 1000 - field of view: 60 - orthographic: 1 - orthographic size: 0.5 - m_Depth: -1 - m_CullingMask: - serializedVersion: 2 - m_Bits: 4294967295 - m_RenderingPath: -1 - m_TargetTexture: {fileID: 0} - m_TargetDisplay: 0 - m_TargetEye: 3 - m_HDR: 0 - m_AllowMSAA: 1 - m_AllowDynamicResolution: 0 - m_ForceIntoRT: 0 - m_OcclusionCulling: 1 - m_StereoConvergence: 10 - m_StereoSeparation: 0.022 ---- !u!4 &960060047 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 960060042} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: -10} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 0} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &1182347996 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 1182347998} - m_Layer: 0 - m_Name: productList - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &1182347998 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1182347996} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0.5, y: 0.05, z: 1} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 4596546} - m_RootOrder: 2 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} diff --git a/TestVelGameServer/Assets/DFVoice/Splash/DFSplashDark.unity.meta b/TestVelGameServer/Assets/DFVoice/Splash/DFSplashDark.unity.meta deleted file mode 100644 index e297aff..0000000 --- a/TestVelGameServer/Assets/DFVoice/Splash/DFSplashDark.unity.meta +++ /dev/null @@ -1,4 +0,0 @@ -fileFormatVersion: 2 -guid: 50420d3b4e87ebf43b617739dbefc8ae -DefaultImporter: - userData: diff --git a/TestVelGameServer/Assets/DFVoice/Splash/DFSplashDarkSettings.lighting b/TestVelGameServer/Assets/DFVoice/Splash/DFSplashDarkSettings.lighting deleted file mode 100644 index a3f9a82..0000000 --- a/TestVelGameServer/Assets/DFVoice/Splash/DFSplashDarkSettings.lighting +++ /dev/null @@ -1,63 +0,0 @@ -%YAML 1.1 -%TAG !u! tag:unity3d.com,2011: ---- !u!850595691 &4890085278179872738 -LightingSettings: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_Name: DFSplashDarkSettings - serializedVersion: 3 - m_GIWorkflowMode: 1 - m_EnableBakedLightmaps: 1 - m_EnableRealtimeLightmaps: 0 - m_RealtimeEnvironmentLighting: 1 - m_BounceScale: 1 - m_AlbedoBoost: 1 - m_IndirectOutputScale: 1 - m_UsingShadowmask: 0 - m_BakeBackend: 0 - m_LightmapMaxSize: 1024 - m_BakeResolution: 50 - m_Padding: 2 - m_TextureCompression: 0 - m_AO: 1 - m_AOMaxDistance: 1 - m_CompAOExponent: 1 - m_CompAOExponentDirect: 0 - m_ExtractAO: 0 - m_MixedBakeMode: 1 - m_LightmapsBakeMode: 1 - m_FilterMode: 1 - m_LightmapParameters: {fileID: 15204, guid: 0000000000000000f000000000000000, type: 0} - m_ExportTrainingData: 0 - m_TrainingDataDestination: TrainingData - m_RealtimeResolution: 1 - m_ForceWhiteAlbedo: 0 - m_ForceUpdates: 0 - m_FinalGather: 0 - m_FinalGatherRayCount: 256 - m_FinalGatherFiltering: 1 - m_PVRCulling: 1 - m_PVRSampling: 1 - m_PVRDirectSampleCount: 32 - m_PVRSampleCount: 512 - m_PVREnvironmentSampleCount: 512 - m_PVREnvironmentReferencePointCount: 2048 - m_LightProbeSampleCountMultiplier: 4 - m_PVRBounces: 2 - m_PVRMinBounces: 2 - m_PVREnvironmentMIS: 0 - m_PVRFilteringMode: 0 - m_PVRDenoiserTypeDirect: 0 - m_PVRDenoiserTypeIndirect: 0 - m_PVRDenoiserTypeAO: 0 - m_PVRFilterTypeDirect: 0 - m_PVRFilterTypeIndirect: 0 - m_PVRFilterTypeAO: 0 - m_PVRFilteringGaussRadiusDirect: 1 - m_PVRFilteringGaussRadiusIndirect: 5 - m_PVRFilteringGaussRadiusAO: 2 - m_PVRFilteringAtrousPositionSigmaDirect: 0.5 - m_PVRFilteringAtrousPositionSigmaIndirect: 2 - m_PVRFilteringAtrousPositionSigmaAO: 1 diff --git a/TestVelGameServer/Assets/DFVoice/Splash/DFSplashDarkSettings.lighting.meta b/TestVelGameServer/Assets/DFVoice/Splash/DFSplashDarkSettings.lighting.meta deleted file mode 100644 index 5b0f22c..0000000 --- a/TestVelGameServer/Assets/DFVoice/Splash/DFSplashDarkSettings.lighting.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: ad1b9dd66372b4442b5578f789961f98 -NativeFormatImporter: - externalObjects: {} - mainObjectFileID: 4890085278179872738 - userData: - assetBundleName: - assetBundleVariant: diff --git a/TestVelGameServer/Assets/DFVoice/Splash/DFSplashLight.unity b/TestVelGameServer/Assets/DFVoice/Splash/DFSplashLight.unity deleted file mode 100644 index c802856..0000000 --- a/TestVelGameServer/Assets/DFVoice/Splash/DFSplashLight.unity +++ /dev/null @@ -1,472 +0,0 @@ -%YAML 1.1 -%TAG !u! tag:unity3d.com,2011: ---- !u!29 &1 -OcclusionCullingSettings: - m_ObjectHideFlags: 0 - serializedVersion: 2 - m_OcclusionBakeSettings: - smallestOccluder: 5 - smallestHole: 0.25 - backfaceThreshold: 100 - m_SceneGUID: 00000000000000000000000000000000 - m_OcclusionCullingData: {fileID: 0} ---- !u!104 &2 -RenderSettings: - m_ObjectHideFlags: 0 - serializedVersion: 9 - m_Fog: 0 - m_FogColor: {r: 0.5, g: 0.5, b: 0.5, a: 1} - m_FogMode: 3 - m_FogDensity: 0.01 - m_LinearFogStart: 0 - m_LinearFogEnd: 300 - m_AmbientSkyColor: {r: 0.2, g: 0.2, b: 0.2, a: 1} - m_AmbientEquatorColor: {r: 0.2, g: 0.2, b: 0.2, a: 1} - m_AmbientGroundColor: {r: 0.2, g: 0.2, b: 0.2, a: 1} - m_AmbientIntensity: 1 - m_AmbientMode: 3 - m_SubtractiveShadowColor: {r: 0.42, g: 0.478, b: 0.627, a: 1} - m_SkyboxMaterial: {fileID: 0} - m_HaloStrength: 0.5 - m_FlareStrength: 1 - m_FlareFadeSpeed: 3 - m_HaloTexture: {fileID: 0} - m_SpotCookie: {fileID: 10001, guid: 0000000000000000e000000000000000, type: 0} - m_DefaultReflectionMode: 0 - m_DefaultReflectionResolution: 128 - m_ReflectionBounces: 1 - m_ReflectionIntensity: 1 - m_CustomReflection: {fileID: 0} - m_Sun: {fileID: 0} - m_IndirectSpecularColor: {r: 0, g: 0, b: 0, a: 1} - m_UseRadianceAmbientProbe: 0 ---- !u!157 &4 -LightmapSettings: - m_ObjectHideFlags: 0 - serializedVersion: 12 - m_GIWorkflowMode: 1 - m_GISettings: - serializedVersion: 2 - m_BounceScale: 1 - m_IndirectOutputScale: 1 - m_AlbedoBoost: 1 - m_EnvironmentLightingMode: 0 - m_EnableBakedLightmaps: 1 - m_EnableRealtimeLightmaps: 0 - m_LightmapEditorSettings: - serializedVersion: 12 - m_Resolution: 1 - m_BakeResolution: 50 - m_AtlasSize: 1024 - m_AO: 1 - m_AOMaxDistance: 1 - m_CompAOExponent: 1 - m_CompAOExponentDirect: 0 - m_ExtractAmbientOcclusion: 0 - m_Padding: 2 - m_LightmapParameters: {fileID: 0} - m_LightmapsBakeMode: 1 - m_TextureCompression: 0 - m_FinalGather: 0 - m_FinalGatherFiltering: 1 - m_FinalGatherRayCount: 256 - m_ReflectionCompression: 2 - m_MixedBakeMode: 1 - m_BakeBackend: 0 - m_PVRSampling: 1 - m_PVRDirectSampleCount: 32 - m_PVRSampleCount: 512 - m_PVRBounces: 2 - m_PVREnvironmentSampleCount: 512 - m_PVREnvironmentReferencePointCount: 2048 - m_PVRFilteringMode: 0 - m_PVRDenoiserTypeDirect: 0 - m_PVRDenoiserTypeIndirect: 0 - m_PVRDenoiserTypeAO: 0 - m_PVRFilterTypeDirect: 0 - m_PVRFilterTypeIndirect: 0 - m_PVRFilterTypeAO: 0 - m_PVREnvironmentMIS: 0 - m_PVRCulling: 1 - m_PVRFilteringGaussRadiusDirect: 1 - m_PVRFilteringGaussRadiusIndirect: 5 - m_PVRFilteringGaussRadiusAO: 2 - m_PVRFilteringAtrousPositionSigmaDirect: 0.5 - m_PVRFilteringAtrousPositionSigmaIndirect: 2 - m_PVRFilteringAtrousPositionSigmaAO: 1 - m_ExportTrainingData: 0 - m_TrainingDataDestination: TrainingData - m_LightProbeSampleCountMultiplier: 4 - m_LightingDataAsset: {fileID: 0} - m_LightingSettings: {fileID: 4890085278179872738, guid: 2d3c86df094c441378837533d6b7dcb6, type: 2} ---- !u!196 &5 -NavMeshSettings: - serializedVersion: 2 - m_ObjectHideFlags: 0 - m_BuildSettings: - serializedVersion: 2 - agentTypeID: 0 - agentRadius: 0.5 - agentHeight: 2 - agentSlope: 45 - agentClimb: 0.4 - ledgeDropHeight: 0 - maxJumpAcrossDistance: 0 - minRegionArea: 2 - manualCellSize: 0 - cellSize: 0.16666666 - manualTileSize: 0 - tileSize: 256 - accuratePlacement: 0 - maxJobWorkers: 0 - preserveTilesOutsideBounds: 0 - debug: - m_Flags: 0 - m_NavMeshData: {fileID: 0} ---- !u!1 &4596545 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 4596546} - - component: {fileID: 4596547} - m_Layer: 0 - m_Name: splash - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &4596546 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 4596545} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 14510493} - - {fileID: 648983241} - - {fileID: 1182347998} - - {fileID: 609945526} - m_Father: {fileID: 0} - m_RootOrder: 1 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!114 &4596547 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 4596545} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 4d03e230922d32a4085e4e8f8ff663b7, type: 3} - m_Name: - m_EditorClassIdentifier: - SplashDuration: 3.5 - LoadScene: ---- !u!1 &14510491 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 14510493} - m_Layer: 0 - m_Name: copyright - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &14510493 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 14510491} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0.5, y: 0.05, z: 1} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 4596546} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &609945522 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 609945526} - - component: {fileID: 609945525} - - component: {fileID: 609945524} - - component: {fileID: 609945523} - m_Layer: 0 - m_Name: splashImage - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!23 &609945523 -MeshRenderer: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 609945522} - m_Enabled: 1 - m_CastShadows: 1 - m_ReceiveShadows: 1 - m_DynamicOccludee: 1 - m_MotionVectors: 1 - m_LightProbeUsage: 0 - m_ReflectionProbeUsage: 1 - m_RayTracingMode: 2 - m_RayTraceProcedural: 0 - m_RenderingLayerMask: 1 - m_RendererPriority: 0 - m_Materials: - - {fileID: 2100000, guid: 226e4c6d02e72d945bc9cccc8b6615c1, type: 2} - m_StaticBatchInfo: - firstSubMesh: 0 - subMeshCount: 0 - m_StaticBatchRoot: {fileID: 0} - m_ProbeAnchor: {fileID: 0} - m_LightProbeVolumeOverride: {fileID: 0} - m_ScaleInLightmap: 1 - m_ReceiveGI: 1 - m_PreserveUVs: 0 - m_IgnoreNormalsForChartDetection: 0 - m_ImportantGI: 0 - m_StitchLightmapSeams: 1 - m_SelectedEditorRenderState: 3 - m_MinimumChartSize: 4 - m_AutoUVMaxDistance: 0.5 - m_AutoUVMaxAngle: 89 - m_LightmapParameters: {fileID: 0} - m_SortingLayerID: 0 - m_SortingLayer: 0 - m_SortingOrder: 0 - m_AdditionalVertexStreams: {fileID: 0} ---- !u!64 &609945524 -MeshCollider: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 609945522} - m_Material: {fileID: 0} - m_IsTrigger: 0 - m_Enabled: 1 - serializedVersion: 4 - m_Convex: 0 - m_CookingOptions: 30 - m_Mesh: {fileID: 10210, guid: 0000000000000000e000000000000000, type: 0} ---- !u!33 &609945525 -MeshFilter: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 609945522} - m_Mesh: {fileID: 10210, guid: 0000000000000000e000000000000000, type: 0} ---- !u!4 &609945526 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 609945522} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1.778, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 4596546} - m_RootOrder: 3 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &648983238 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 648983241} - - component: {fileID: 648983239} - m_Layer: 0 - m_Name: Fader - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!95 &648983239 -Animator: - serializedVersion: 3 - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 648983238} - m_Enabled: 1 - m_Avatar: {fileID: 0} - m_Controller: {fileID: 9100000, guid: a06ead484ad59b74b902fcf8e7c3fae8, type: 2} - m_CullingMode: 0 - m_UpdateMode: 0 - m_ApplyRootMotion: 0 - m_LinearVelocityBlending: 0 - m_WarningMessage: - m_HasTransformHierarchy: 1 - m_AllowConstantClipSamplingOptimization: 1 - m_KeepAnimatorControllerStateOnDisable: 0 ---- !u!4 &648983241 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 648983238} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0.5, y: 0.5, z: 2} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 4596546} - m_RootOrder: 1 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &960060042 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 960060047} - - component: {fileID: 960060046} - - component: {fileID: 960060044} - - component: {fileID: 960060043} - m_Layer: 0 - m_Name: Main Camera - m_TagString: MainCamera - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!81 &960060043 -AudioListener: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 960060042} - m_Enabled: 1 ---- !u!124 &960060044 -Behaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 960060042} - m_Enabled: 1 ---- !u!20 &960060046 -Camera: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 960060042} - m_Enabled: 1 - serializedVersion: 2 - m_ClearFlags: 1 - m_BackGroundColor: {r: 1, g: 1, b: 1, a: 0.019607844} - m_projectionMatrixMode: 1 - m_GateFitMode: 2 - m_FOVAxisMode: 0 - m_SensorSize: {x: 36, y: 24} - m_LensShift: {x: 0, y: 0} - m_FocalLength: 50 - m_NormalizedViewPortRect: - serializedVersion: 2 - x: 0 - y: 0 - width: 1 - height: 1 - near clip plane: 0.3 - far clip plane: 1000 - field of view: 60 - orthographic: 1 - orthographic size: 0.5 - m_Depth: -1 - m_CullingMask: - serializedVersion: 2 - m_Bits: 4294967295 - m_RenderingPath: -1 - m_TargetTexture: {fileID: 0} - m_TargetDisplay: 0 - m_TargetEye: 3 - m_HDR: 0 - m_AllowMSAA: 1 - m_AllowDynamicResolution: 0 - m_ForceIntoRT: 0 - m_OcclusionCulling: 1 - m_StereoConvergence: 10 - m_StereoSeparation: 0.022 ---- !u!4 &960060047 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 960060042} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: -10} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 0} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &1182347996 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 1182347998} - m_Layer: 0 - m_Name: productList - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &1182347998 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1182347996} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0.5, y: 0.05, z: 1} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 4596546} - m_RootOrder: 2 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} diff --git a/TestVelGameServer/Assets/DFVoice/Splash/DFSplashLight.unity.meta b/TestVelGameServer/Assets/DFVoice/Splash/DFSplashLight.unity.meta deleted file mode 100644 index 8a94883..0000000 --- a/TestVelGameServer/Assets/DFVoice/Splash/DFSplashLight.unity.meta +++ /dev/null @@ -1,4 +0,0 @@ -fileFormatVersion: 2 -guid: c07532603a0e02149afb018e380d6bb6 -DefaultImporter: - userData: diff --git a/TestVelGameServer/Assets/DFVoice/Splash/DFSplashLightSettings.lighting b/TestVelGameServer/Assets/DFVoice/Splash/DFSplashLightSettings.lighting deleted file mode 100644 index 4b66dd6..0000000 --- a/TestVelGameServer/Assets/DFVoice/Splash/DFSplashLightSettings.lighting +++ /dev/null @@ -1,63 +0,0 @@ -%YAML 1.1 -%TAG !u! tag:unity3d.com,2011: ---- !u!850595691 &4890085278179872738 -LightingSettings: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_Name: DFSplashLightSettings - serializedVersion: 3 - m_GIWorkflowMode: 1 - m_EnableBakedLightmaps: 1 - m_EnableRealtimeLightmaps: 0 - m_RealtimeEnvironmentLighting: 1 - m_BounceScale: 1 - m_AlbedoBoost: 1 - m_IndirectOutputScale: 1 - m_UsingShadowmask: 0 - m_BakeBackend: 0 - m_LightmapMaxSize: 1024 - m_BakeResolution: 50 - m_Padding: 2 - m_TextureCompression: 0 - m_AO: 1 - m_AOMaxDistance: 1 - m_CompAOExponent: 1 - m_CompAOExponentDirect: 0 - m_ExtractAO: 0 - m_MixedBakeMode: 1 - m_LightmapsBakeMode: 1 - m_FilterMode: 1 - m_LightmapParameters: {fileID: 15204, guid: 0000000000000000f000000000000000, type: 0} - m_ExportTrainingData: 0 - m_TrainingDataDestination: TrainingData - m_RealtimeResolution: 1 - m_ForceWhiteAlbedo: 0 - m_ForceUpdates: 0 - m_FinalGather: 0 - m_FinalGatherRayCount: 256 - m_FinalGatherFiltering: 1 - m_PVRCulling: 1 - m_PVRSampling: 1 - m_PVRDirectSampleCount: 32 - m_PVRSampleCount: 512 - m_PVREnvironmentSampleCount: 512 - m_PVREnvironmentReferencePointCount: 2048 - m_LightProbeSampleCountMultiplier: 4 - m_PVRBounces: 2 - m_PVRMinBounces: 2 - m_PVREnvironmentMIS: 0 - m_PVRFilteringMode: 0 - m_PVRDenoiserTypeDirect: 0 - m_PVRDenoiserTypeIndirect: 0 - m_PVRDenoiserTypeAO: 0 - m_PVRFilterTypeDirect: 0 - m_PVRFilterTypeIndirect: 0 - m_PVRFilterTypeAO: 0 - m_PVRFilteringGaussRadiusDirect: 1 - m_PVRFilteringGaussRadiusIndirect: 5 - m_PVRFilteringGaussRadiusAO: 2 - m_PVRFilteringAtrousPositionSigmaDirect: 0.5 - m_PVRFilteringAtrousPositionSigmaIndirect: 2 - m_PVRFilteringAtrousPositionSigmaAO: 1 diff --git a/TestVelGameServer/Assets/DFVoice/Splash/DFSplashLightSettings.lighting.meta b/TestVelGameServer/Assets/DFVoice/Splash/DFSplashLightSettings.lighting.meta deleted file mode 100644 index 4a1b123..0000000 --- a/TestVelGameServer/Assets/DFVoice/Splash/DFSplashLightSettings.lighting.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 2d3c86df094c441378837533d6b7dcb6 -NativeFormatImporter: - externalObjects: {} - mainObjectFileID: 4890085278179872738 - userData: - assetBundleName: - assetBundleVariant: diff --git a/TestVelGameServer/Assets/DFVoice/Splash/Materials.meta b/TestVelGameServer/Assets/DFVoice/Splash/Materials.meta deleted file mode 100644 index 5e2062b..0000000 --- a/TestVelGameServer/Assets/DFVoice/Splash/Materials.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: b1316d48c2f8545edb5331a6428f277c -folderAsset: yes -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/TestVelGameServer/Assets/DFVoice/Splash/Materials/SplashDark.mat b/TestVelGameServer/Assets/DFVoice/Splash/Materials/SplashDark.mat deleted file mode 100644 index 5f537bb..0000000 --- a/TestVelGameServer/Assets/DFVoice/Splash/Materials/SplashDark.mat +++ /dev/null @@ -1,29 +0,0 @@ -%YAML 1.1 -%TAG !u! tag:unity3d.com,2011: ---- !u!21 &2100000 -Material: - serializedVersion: 6 - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_Name: SplashDark - m_Shader: {fileID: 10752, guid: 0000000000000000f000000000000000, type: 0} - m_ShaderKeywords: - m_LightmapFlags: 4 - m_EnableInstancingVariants: 0 - m_DoubleSidedGI: 0 - m_CustomRenderQueue: -1 - stringTagMap: {} - disabledShaderPasses: [] - m_SavedProperties: - serializedVersion: 3 - m_TexEnvs: - - _MainTex: - m_Texture: {fileID: 2800000, guid: b1f1de25cd92b234f9ac044291736bce, type: 3} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - m_Floats: [] - m_Colors: - - _Color: {r: 1, g: 1, b: 1, a: 1} - m_BuildTextureStacks: [] diff --git a/TestVelGameServer/Assets/DFVoice/Splash/Materials/SplashDark.mat.meta b/TestVelGameServer/Assets/DFVoice/Splash/Materials/SplashDark.mat.meta deleted file mode 100644 index 8b05745..0000000 --- a/TestVelGameServer/Assets/DFVoice/Splash/Materials/SplashDark.mat.meta +++ /dev/null @@ -1,4 +0,0 @@ -fileFormatVersion: 2 -guid: 8ad9f8ccfc7201d4daa411af2aa69af6 -NativeFormatImporter: - userData: diff --git a/TestVelGameServer/Assets/DFVoice/Splash/Materials/SplashLight.mat b/TestVelGameServer/Assets/DFVoice/Splash/Materials/SplashLight.mat deleted file mode 100644 index ed45a74..0000000 --- a/TestVelGameServer/Assets/DFVoice/Splash/Materials/SplashLight.mat +++ /dev/null @@ -1,29 +0,0 @@ -%YAML 1.1 -%TAG !u! tag:unity3d.com,2011: ---- !u!21 &2100000 -Material: - serializedVersion: 6 - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_Name: SplashLight - m_Shader: {fileID: 10752, guid: 0000000000000000f000000000000000, type: 0} - m_ShaderKeywords: - m_LightmapFlags: 4 - m_EnableInstancingVariants: 0 - m_DoubleSidedGI: 0 - m_CustomRenderQueue: -1 - stringTagMap: {} - disabledShaderPasses: [] - m_SavedProperties: - serializedVersion: 3 - m_TexEnvs: - - _MainTex: - m_Texture: {fileID: 2800000, guid: ff8dd18f2f10d284ab6434824157a6fb, type: 3} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - m_Floats: [] - m_Colors: - - _Color: {r: 1, g: 1, b: 1, a: 1} - m_BuildTextureStacks: [] diff --git a/TestVelGameServer/Assets/DFVoice/Splash/Materials/SplashLight.mat.meta b/TestVelGameServer/Assets/DFVoice/Splash/Materials/SplashLight.mat.meta deleted file mode 100644 index aee213f..0000000 --- a/TestVelGameServer/Assets/DFVoice/Splash/Materials/SplashLight.mat.meta +++ /dev/null @@ -1,4 +0,0 @@ -fileFormatVersion: 2 -guid: 226e4c6d02e72d945bc9cccc8b6615c1 -NativeFormatImporter: - userData: diff --git a/TestVelGameServer/Assets/DFVoice/Splash/Scripts.meta b/TestVelGameServer/Assets/DFVoice/Splash/Scripts.meta deleted file mode 100644 index e5bdf2f..0000000 --- a/TestVelGameServer/Assets/DFVoice/Splash/Scripts.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 5412c26a53d5b459eb88dd284f716800 -folderAsset: yes -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/TestVelGameServer/Assets/DFVoice/Splash/Scripts/SplashScreen.cs b/TestVelGameServer/Assets/DFVoice/Splash/Scripts/SplashScreen.cs deleted file mode 100644 index 60090ed..0000000 --- a/TestVelGameServer/Assets/DFVoice/Splash/Scripts/SplashScreen.cs +++ /dev/null @@ -1,26 +0,0 @@ -/* Copyright (C) 2014 DaikonForge */ - -using UnityEngine; -using System.Collections; - -namespace DaikonForge -{ - public class SplashScreen : MonoBehaviour - { - public float SplashDuration = 3.5f; - public string LoadScene = ""; - - IEnumerator Start() - { - if( string.IsNullOrEmpty( LoadScene ) ) - { - Debug.LogWarning( "SplashScreen: Load scene not set" ); - } - else - { - yield return new WaitForSeconds( SplashDuration ); - Application.LoadLevel( LoadScene ); - } - } - } -} \ No newline at end of file diff --git a/TestVelGameServer/Assets/DFVoice/Splash/Scripts/SplashScreen.cs.meta b/TestVelGameServer/Assets/DFVoice/Splash/Scripts/SplashScreen.cs.meta deleted file mode 100644 index abf7514..0000000 --- a/TestVelGameServer/Assets/DFVoice/Splash/Scripts/SplashScreen.cs.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 4d03e230922d32a4085e4e8f8ff663b7 -MonoImporter: - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: diff --git a/TestVelGameServer/Assets/DFVoice/Splash/Source.meta b/TestVelGameServer/Assets/DFVoice/Splash/Source.meta deleted file mode 100644 index 62ffbbb..0000000 --- a/TestVelGameServer/Assets/DFVoice/Splash/Source.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: d8caead97e402431ca08662289d2bea6 -folderAsset: yes -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/TestVelGameServer/Assets/DFVoice/Splash/Source/Blank.png b/TestVelGameServer/Assets/DFVoice/Splash/Source/Blank.png deleted file mode 100644 index 0bbe4b4..0000000 Binary files a/TestVelGameServer/Assets/DFVoice/Splash/Source/Blank.png and /dev/null differ diff --git a/TestVelGameServer/Assets/DFVoice/Splash/Source/Blank.png.meta b/TestVelGameServer/Assets/DFVoice/Splash/Source/Blank.png.meta deleted file mode 100644 index 863c6cf..0000000 --- a/TestVelGameServer/Assets/DFVoice/Splash/Source/Blank.png.meta +++ /dev/null @@ -1,45 +0,0 @@ -fileFormatVersion: 2 -guid: f57f8c038f00f934782c10c54e9fb8c5 -TextureImporter: - serializedVersion: 2 - mipmaps: - mipMapMode: 0 - enableMipMap: 1 - linearTexture: 0 - correctGamma: 0 - fadeOut: 0 - borderMipMap: 0 - mipMapFadeDistanceStart: 1 - mipMapFadeDistanceEnd: 3 - bumpmap: - convertToNormalMap: 0 - externalNormalMap: 0 - heightScale: .25 - normalMapFilter: 0 - isReadable: 0 - grayScaleToAlpha: 0 - generateCubemap: 0 - seamlessCubemap: 0 - textureFormat: -1 - maxTextureSize: 1024 - textureSettings: - filterMode: -1 - aniso: -1 - mipBias: -1 - wrapMode: -1 - nPOTScale: 1 - lightmap: 0 - compressionQuality: 50 - spriteMode: 0 - spriteExtrude: 1 - spriteMeshType: 1 - alignment: 0 - spritePivot: {x: .5, y: .5} - spritePixelsToUnits: 100 - alphaIsTransparency: 0 - textureType: -1 - buildTargetSettings: [] - spriteSheet: - sprites: [] - spritePackingTag: - userData: diff --git a/TestVelGameServer/Assets/DFVoice/Splash/Source/DaikonForgeSplash.png b/TestVelGameServer/Assets/DFVoice/Splash/Source/DaikonForgeSplash.png deleted file mode 100644 index 2813435..0000000 Binary files a/TestVelGameServer/Assets/DFVoice/Splash/Source/DaikonForgeSplash.png and /dev/null differ diff --git a/TestVelGameServer/Assets/DFVoice/Splash/Source/DaikonForgeSplash.png.meta b/TestVelGameServer/Assets/DFVoice/Splash/Source/DaikonForgeSplash.png.meta deleted file mode 100644 index 4e81807..0000000 --- a/TestVelGameServer/Assets/DFVoice/Splash/Source/DaikonForgeSplash.png.meta +++ /dev/null @@ -1,45 +0,0 @@ -fileFormatVersion: 2 -guid: b1f1de25cd92b234f9ac044291736bce -TextureImporter: - serializedVersion: 2 - mipmaps: - mipMapMode: 0 - enableMipMap: 0 - linearTexture: 1 - correctGamma: 0 - fadeOut: 0 - borderMipMap: 0 - mipMapFadeDistanceStart: 1 - mipMapFadeDistanceEnd: 3 - bumpmap: - convertToNormalMap: 0 - externalNormalMap: 0 - heightScale: .25 - normalMapFilter: 0 - isReadable: 0 - grayScaleToAlpha: 0 - generateCubemap: 0 - seamlessCubemap: 0 - textureFormat: -1 - maxTextureSize: 2048 - textureSettings: - filterMode: -1 - aniso: 1 - mipBias: -1 - wrapMode: 1 - nPOTScale: 2 - lightmap: 0 - compressionQuality: 50 - spriteMode: 0 - spriteExtrude: 1 - spriteMeshType: 1 - alignment: 0 - spritePivot: {x: .5, y: .5} - spritePixelsToUnits: 100 - alphaIsTransparency: 0 - textureType: 5 - buildTargetSettings: [] - spriteSheet: - sprites: [] - spritePackingTag: - userData: diff --git a/TestVelGameServer/Assets/DFVoice/Splash/Source/DaikonForgeSplashAlt.png b/TestVelGameServer/Assets/DFVoice/Splash/Source/DaikonForgeSplashAlt.png deleted file mode 100644 index 7c2d5ef..0000000 Binary files a/TestVelGameServer/Assets/DFVoice/Splash/Source/DaikonForgeSplashAlt.png and /dev/null differ diff --git a/TestVelGameServer/Assets/DFVoice/Splash/Source/DaikonForgeSplashAlt.png.meta b/TestVelGameServer/Assets/DFVoice/Splash/Source/DaikonForgeSplashAlt.png.meta deleted file mode 100644 index 146df5f..0000000 --- a/TestVelGameServer/Assets/DFVoice/Splash/Source/DaikonForgeSplashAlt.png.meta +++ /dev/null @@ -1,45 +0,0 @@ -fileFormatVersion: 2 -guid: ff8dd18f2f10d284ab6434824157a6fb -TextureImporter: - serializedVersion: 2 - mipmaps: - mipMapMode: 0 - enableMipMap: 0 - linearTexture: 1 - correctGamma: 0 - fadeOut: 0 - borderMipMap: 0 - mipMapFadeDistanceStart: 1 - mipMapFadeDistanceEnd: 3 - bumpmap: - convertToNormalMap: 0 - externalNormalMap: 0 - heightScale: .25 - normalMapFilter: 0 - isReadable: 0 - grayScaleToAlpha: 0 - generateCubemap: 0 - seamlessCubemap: 0 - textureFormat: -1 - maxTextureSize: 2048 - textureSettings: - filterMode: -1 - aniso: 1 - mipBias: -1 - wrapMode: 1 - nPOTScale: 2 - lightmap: 0 - compressionQuality: 50 - spriteMode: 0 - spriteExtrude: 1 - spriteMeshType: 1 - alignment: 0 - spritePivot: {x: .5, y: .5} - spritePixelsToUnits: 100 - alphaIsTransparency: 0 - textureType: 5 - buildTargetSettings: [] - spriteSheet: - sprites: [] - spritePackingTag: - userData: diff --git a/TestVelGameServer/Assets/FixedArray.cs b/TestVelGameServer/Assets/FixedArray.cs new file mode 100644 index 0000000..f89e345 --- /dev/null +++ b/TestVelGameServer/Assets/FixedArray.cs @@ -0,0 +1,15 @@ + + +public class FixedArray +{ + + public byte[] array; + public int count; + + public FixedArray(int max) + { + array = new byte[max]; + count = 0; + } +} + diff --git a/TestVelGameServer/Assets/DFVoice/Scripts/Components/VelVoiceController.cs.meta b/TestVelGameServer/Assets/FixedArray.cs.meta similarity index 83% rename from TestVelGameServer/Assets/DFVoice/Scripts/Components/VelVoiceController.cs.meta rename to TestVelGameServer/Assets/FixedArray.cs.meta index 8606061..f9dad1a 100644 --- a/TestVelGameServer/Assets/DFVoice/Scripts/Components/VelVoiceController.cs.meta +++ b/TestVelGameServer/Assets/FixedArray.cs.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: 88ee76310a60b4cacb8c0451a7cb444a +guid: f944d0dfd77614440ac63de40d533bbe MonoImporter: externalObjects: {} serializedVersion: 2 diff --git a/TestVelGameServer/Assets/NetworkGUI.cs b/TestVelGameServer/Assets/NetworkGUI.cs index 2523455..8d68f4d 100644 --- a/TestVelGameServer/Assets/NetworkGUI.cs +++ b/TestVelGameServer/Assets/NetworkGUI.cs @@ -10,6 +10,13 @@ public class NetworkGUI : MonoBehaviour public InputField roomInput; public Text messages; public List messageBuffer; + public Dropdown microphones; + public string microphone; + public velmicrophone mic; + public void onMicrophoneChanged(string mic) + { + + } public void handleSend() { if(sendInput.text != "") @@ -28,6 +35,7 @@ public class NetworkGUI : MonoBehaviour { if(roomInput.text != "") { + mic.startMicrophone(microphones.options[microphones.value].text); networkManager.join(roomInput.text); } @@ -36,6 +44,8 @@ public class NetworkGUI : MonoBehaviour // Start is called before the first frame update void Start() { + List temp = new List(Microphone.devices); + microphones.AddOptions(temp); networkManager.messageReceived += (m) => { string s = m.type + ":" + m.sender +":" + m.text; messageBuffer.Add(s); diff --git a/TestVelGameServer/Assets/NetworkManager.cs b/TestVelGameServer/Assets/NetworkManager.cs index 5195188..28b4ec3 100644 --- a/TestVelGameServer/Assets/NetworkManager.cs +++ b/TestVelGameServer/Assets/NetworkManager.cs @@ -18,6 +18,8 @@ public class NetworkManager : MonoBehaviour int messagesReceived = 0; public GameObject playerPrefab; public Dictionary players = new Dictionary(); + + public velmicrophone mic; //to hand to the player #endregion // Use this for initialization @@ -34,11 +36,13 @@ public class NetworkManager : MonoBehaviour } + + private void addMessage(Message m) { lock (receivedMessages) { - Debug.Log(messagesReceived++); + //Debug.Log(messagesReceived++); receivedMessages.Add(m); } } @@ -67,6 +71,7 @@ public class NetworkManager : MonoBehaviour if (m.text != "") { NetworkPlayer player = GameObject.Instantiate(playerPrefab).GetComponent(); + player.attachMic(mic); //gets a microphone to send voice player.isLocal = true; player.userid = m.sender; players.Add(userid, player); diff --git a/TestVelGameServer/Assets/NetworkPlayer.cs b/TestVelGameServer/Assets/NetworkPlayer.cs index 4bc775f..cd1314c 100644 --- a/TestVelGameServer/Assets/NetworkPlayer.cs +++ b/TestVelGameServer/Assets/NetworkPlayer.cs @@ -11,17 +11,39 @@ public class NetworkPlayer : MonoBehaviour public string room; public NetworkManager manager; Vector3 networkPosition; + velmicrophone mic; + AudioClip speechClip; + AudioSource source; + bool buffering = false; + public List toSend = new List(); public bool isLocal = false; + int lastSample = 0; + int lastPlayTime = 0; + int totalbuffered = 0; + int totalPlayed = 0; // Start is called before the first frame update void Start() { + source = GetComponent(); + speechClip = AudioClip.Create("speechclip", 160000, 1, 16100, false); + source.clip = speechClip; + source.Stop(); + source.loop = true; + source.spatialBlend = 0; if (manager.userid == userid) //this is me, I send updates { StartCoroutine(syncTransformCoroutine()); } } + public void attachMic(velmicrophone mic) + { + this.mic = mic; + this.mic.encodedFrameAvailable += this.sendAudioData; + } + + // Update is called once per frame void Update() { @@ -36,6 +58,25 @@ public class NetworkPlayer : MonoBehaviour Vector3 delta = h * Vector3.right + v * Vector3.up; transform.position = transform.position + delta * Time.deltaTime; } + + //we also need to deal with the audio source + + int numSamplesPlayedSinceLast = source.timeSamples - lastPlayTime; + + if(numSamplesPlayedSinceLast < 0) //looped + { + numSamplesPlayedSinceLast = source.clip.samples - lastPlayTime + source.timeSamples; + } + totalPlayed += numSamplesPlayedSinceLast; + if(totalPlayed >= totalbuffered) + { + int left = numSamplesPlayedSinceLast - totalbuffered; + source.Pause(); + + } + lastPlayTime = source.timeSamples; + + } IEnumerator syncTransformCoroutine() @@ -69,20 +110,44 @@ public class NetworkPlayer : MonoBehaviour } case "2": //audio data { - byte[] headers = Convert.FromBase64String(sections[1]); - byte[] data = Convert.FromBase64String(sections[2]); - this.GetComponent()?.receiveAudioFrame(headers, data); + + byte[] data = Convert.FromBase64String(sections[1]); + + this.receiveAudioData(mic.decodeOpusData(data)); break; } } } } - public void sendAudioData(byte[] headers, byte[] data) + + public void receiveAudioData(float[] data) { - //base64 encode - string b64_headers = Convert.ToBase64String(headers); - string b64_data = Convert.ToBase64String(data); - manager.sendTo(0, "2," + b64_headers +","+b64_data + ";"); + + speechClip.SetData(data, lastSample); + lastSample += data.Length; + lastSample %= speechClip.samples; + totalbuffered += data.Length; + if (!source.isPlaying && !buffering) + { + StartCoroutine(startSoundIn(2)); + } + + + } + IEnumerator startSoundIn(int frames) + { + buffering = true; + for(int i = 0; i < frames; i++) + { + yield return null; + } + source.Play(); + buffering = false; + } + public void sendAudioData(FixedArray a) + { + string b64_data = Convert.ToBase64String(a.array,0,a.count); + manager.sendTo(1, "2,"+b64_data + ";"); } } diff --git a/TestVelGameServer/Assets/OutputCapture.cs b/TestVelGameServer/Assets/OutputCapture.cs new file mode 100644 index 0000000..24095c4 --- /dev/null +++ b/TestVelGameServer/Assets/OutputCapture.cs @@ -0,0 +1,59 @@ +using System.Collections; +using System.Collections.Generic; +using UnityEngine; +using System.Text; +using System; +using System.IO; +public class OutputCapture : MonoBehaviour +{ + + float[] buffer = new float[100000]; + int curBufferPos = 0; + int sampleRate; + bool isPlaying = false; + // Start is called before the first frame update + void Awake() + { + + sampleRate = AudioSettings.outputSampleRate; + + } + + // Update is called once per frame + void Update() + { + + isPlaying = Application.isPlaying; + + + } + + private void OnAudioFilterRead(float[] data, int channels) + { + if (!isPlaying) + { + return; + } + + lock (buffer) + { + if (curBufferPos + data.Length < buffer.Length) + { + System.Array.Copy(data, 0, buffer, curBufferPos, data.Length); + } + else + { + int numLeft = buffer.Length - curBufferPos; + System.Array.Copy(data, 0, buffer, curBufferPos, numLeft); + System.Array.Copy(data, buffer.Length - curBufferPos, buffer, 0, data.Length - numLeft); + curBufferPos = numLeft; + } + } + + } + private void OnApplicationQuit() + { + + + } +} diff --git a/TestVelGameServer/Assets/DFVoice/Scripts/Codec/IAudioCodec.cs.meta b/TestVelGameServer/Assets/OutputCapture.cs.meta similarity index 57% rename from TestVelGameServer/Assets/DFVoice/Scripts/Codec/IAudioCodec.cs.meta rename to TestVelGameServer/Assets/OutputCapture.cs.meta index 4286451..9c83da3 100644 --- a/TestVelGameServer/Assets/DFVoice/Scripts/Codec/IAudioCodec.cs.meta +++ b/TestVelGameServer/Assets/OutputCapture.cs.meta @@ -1,8 +1,11 @@ fileFormatVersion: 2 -guid: a644c5faa0c475c4d8cb23fceb0c33b5 +guid: ba77e7f5139014c4b8c9eab0e405d0f0 MonoImporter: + externalObjects: {} serializedVersion: 2 defaultReferences: [] executionOrder: 0 icon: {instanceID: 0} userData: + assetBundleName: + assetBundleVariant: diff --git a/TestVelGameServer/Assets/PlayerPrefab.prefab b/TestVelGameServer/Assets/PlayerPrefab.prefab index 7ee12f1..8c02ec9 100644 --- a/TestVelGameServer/Assets/PlayerPrefab.prefab +++ b/TestVelGameServer/Assets/PlayerPrefab.prefab @@ -14,9 +14,7 @@ GameObject: - component: {fileID: 5845716565458182149} - component: {fileID: 5713671764962751473} - component: {fileID: 419667223} - - component: {fileID: 419667222} - - component: {fileID: 7186592055784235268} - - component: {fileID: 6500205698499660505} + - component: {fileID: 8439520723839566278} m_Layer: 0 m_Name: PlayerPrefab m_TagString: Untagged @@ -213,7 +211,7 @@ AudioSource: m_PreInfinity: 2 m_PostInfinity: 2 m_RotationOrder: 4 ---- !u!114 &419667222 +--- !u!114 &8439520723839566278 MonoBehaviour: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} @@ -222,41 +220,6 @@ MonoBehaviour: m_GameObject: {fileID: 6139051692386484099} m_Enabled: 1 m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 6e00d42098a712e4bb865682007cfe50, type: 3} + m_Script: {fileID: 11500000, guid: ba77e7f5139014c4b8c9eab0e405d0f0, type: 3} m_Name: m_EditorClassIdentifier: - IsThreeDimensional: 0 - Equalize: 0 - EqualizeSpeed: 1 - TargetEqualizeVolume: 0.75 - MaxEqualization: 5 ---- !u!114 &7186592055784235268 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 6139051692386484099} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 88ee76310a60b4cacb8c0451a7cb444a, type: 3} - m_Name: - m_EditorClassIdentifier: - DebugAudio: 0 - Mute: 0 ---- !u!114 &6500205698499660505 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 6139051692386484099} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: ca697a6f27a261442a2c082beee1b411, type: 3} - m_Name: - m_EditorClassIdentifier: - ChunkSize: 640 - Mode: 0 - PushToTalk: 32 - AmplitudeThreshold: 0 diff --git a/TestVelGameServer/Assets/DFVoice/Plugins.meta b/TestVelGameServer/Assets/Plugins.meta similarity index 77% rename from TestVelGameServer/Assets/DFVoice/Plugins.meta rename to TestVelGameServer/Assets/Plugins.meta index ee2d06e..8745142 100644 --- a/TestVelGameServer/Assets/DFVoice/Plugins.meta +++ b/TestVelGameServer/Assets/Plugins.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: 982a9888097de4a4cb1cac058c1eebd9 +guid: 4a3b9ce0fbdeaeb49ba34712af854547 folderAsset: yes DefaultImporter: externalObjects: {} diff --git a/TestVelGameServer/Assets/Plugins/Concentus.dll b/TestVelGameServer/Assets/Plugins/Concentus.dll new file mode 100644 index 0000000..6cb3810 Binary files /dev/null and b/TestVelGameServer/Assets/Plugins/Concentus.dll differ diff --git a/TestVelGameServer/Assets/Plugins/Concentus.dll.meta b/TestVelGameServer/Assets/Plugins/Concentus.dll.meta new file mode 100644 index 0000000..985c9d4 --- /dev/null +++ b/TestVelGameServer/Assets/Plugins/Concentus.dll.meta @@ -0,0 +1,33 @@ +fileFormatVersion: 2 +guid: 76bc48dbe508b40909b2ad9f22d91658 +PluginImporter: + externalObjects: {} + serializedVersion: 2 + iconMap: {} + executionOrder: {} + defineConstraints: [] + isPreloaded: 0 + isOverridable: 0 + isExplicitlyReferenced: 0 + validateReferences: 1 + platformData: + - first: + Any: + second: + enabled: 1 + settings: {} + - first: + Editor: Editor + second: + enabled: 0 + settings: + DefaultValueInitialized: true + - first: + Windows Store Apps: WindowsStoreApps + second: + enabled: 0 + settings: + CPU: AnyCPU + userData: + assetBundleName: + assetBundleVariant: diff --git a/TestVelGameServer/Assets/Scenes/SampleScene.unity b/TestVelGameServer/Assets/Scenes/SampleScene.unity index b159e48..f204b97 100644 --- a/TestVelGameServer/Assets/Scenes/SampleScene.unity +++ b/TestVelGameServer/Assets/Scenes/SampleScene.unity @@ -202,6 +202,229 @@ RectTransform: m_AnchoredPosition: {x: 0, y: -0.5} m_SizeDelta: {x: -20, y: -13} m_Pivot: {x: 0.5, y: 0.5} +--- !u!1 &117638563 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 117638565} + - component: {fileID: 117638567} + - component: {fileID: 117638566} + - component: {fileID: 117638564} + m_Layer: 5 + m_Name: Dropdown + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &117638564 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 117638563} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 0d0b652f32a2cc243917e4028fa0f046, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 3 + m_WrapAround: 0 + m_SelectOnUp: {fileID: 0} + m_SelectOnDown: {fileID: 0} + m_SelectOnLeft: {fileID: 0} + m_SelectOnRight: {fileID: 0} + m_Transition: 1 + m_Colors: + m_NormalColor: {r: 1, g: 1, b: 1, a: 1} + m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1} + m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608} + m_ColorMultiplier: 1 + m_FadeDuration: 0.1 + m_SpriteState: + m_HighlightedSprite: {fileID: 0} + m_PressedSprite: {fileID: 0} + m_SelectedSprite: {fileID: 0} + m_DisabledSprite: {fileID: 0} + m_AnimationTriggers: + m_NormalTrigger: Normal + m_HighlightedTrigger: Highlighted + m_PressedTrigger: Pressed + m_SelectedTrigger: Selected + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 117638566} + m_Template: {fileID: 927188573} + m_CaptionText: {fileID: 138032021} + m_CaptionImage: {fileID: 0} + m_ItemText: {fileID: 720503450} + m_ItemImage: {fileID: 0} + m_Value: 0 + m_Options: + m_Options: [] + m_OnValueChanged: + m_PersistentCalls: + m_Calls: + - m_Target: {fileID: 244561621} + m_TargetAssemblyTypeName: NetworkGUI, Assembly-CSharp + m_MethodName: onMicrophoneChanged + m_Mode: 5 + m_Arguments: + m_ObjectArgument: {fileID: 0} + m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine + m_IntArgument: 0 + m_FloatArgument: 0 + m_StringArgument: + m_BoolArgument: 0 + m_CallState: 2 + m_AlphaFadeSpeed: 0.15 +--- !u!224 &117638565 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 117638563} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 138032023} + - {fileID: 1557879931} + - {fileID: 927188573} + m_Father: {fileID: 244561620} + m_RootOrder: 7 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 0, y: 0} + m_AnchoredPosition: {x: 98, y: 138} + m_SizeDelta: {x: 160, y: 38.7538} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &117638566 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 117638563} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 10905, guid: 0000000000000000f000000000000000, type: 0} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &117638567 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 117638563} + m_CullTransparentMesh: 1 +--- !u!1 &138032020 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 138032023} + - component: {fileID: 138032022} + - component: {fileID: 138032021} + m_Layer: 5 + m_Name: Label + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &138032021 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 138032020} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_FontData: + m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0} + m_FontSize: 14 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 10 + m_MaxSize: 40 + m_Alignment: 3 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: +--- !u!222 &138032022 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 138032020} + m_CullTransparentMesh: 1 +--- !u!224 &138032023 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 138032020} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 117638565} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: -7.5, y: -0.5} + m_SizeDelta: {x: -35, y: -13} + m_Pivot: {x: 0.5, y: 0.5} --- !u!1 &162005663 GameObject: m_ObjectHideFlags: 0 @@ -380,6 +603,7 @@ RectTransform: - {fileID: 1760805525} - {fileID: 945446556} - {fileID: 1843597586} + - {fileID: 117638565} m_Father: {fileID: 0} m_RootOrder: 2 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} @@ -400,12 +624,15 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: 7a7db5bc792cd471dbd8039664359eee, type: 3} m_Name: m_EditorClassIdentifier: - networkManager: {fileID: 963194229} + networkManager: {fileID: 1099803616} userInput: {fileID: 626742069} sendInput: {fileID: 945446555} roomInput: {fileID: 711524768} messages: {fileID: 1894247854} messageBuffer: [] + microphones: {fileID: 117638564} + microphone: + mic: {fileID: 1099803614} --- !u!1 &440509381 GameObject: m_ObjectHideFlags: 0 @@ -472,6 +699,81 @@ Transform: m_Father: {fileID: 0} m_RootOrder: 3 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &615558651 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 615558652} + - component: {fileID: 615558654} + - component: {fileID: 615558653} + m_Layer: 5 + m_Name: Item Checkmark + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &615558652 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 615558651} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 1047954372} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0.5} + m_AnchorMax: {x: 0, y: 0.5} + m_AnchoredPosition: {x: 10, y: 0} + m_SizeDelta: {x: 20, y: 20} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &615558653 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 615558651} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 10901, guid: 0000000000000000f000000000000000, type: 0} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &615558654 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 615558651} + m_CullTransparentMesh: 1 --- !u!1 &626742068 GameObject: m_ObjectHideFlags: 0 @@ -851,6 +1153,283 @@ CanvasRenderer: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 711524766} m_CullTransparentMesh: 1 +--- !u!1 &720503449 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 720503452} + - component: {fileID: 720503451} + - component: {fileID: 720503450} + m_Layer: 5 + m_Name: Item Label + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &720503450 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 720503449} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_FontData: + m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0} + m_FontSize: 14 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 10 + m_MaxSize: 40 + m_Alignment: 3 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: Option A +--- !u!222 &720503451 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 720503449} + m_CullTransparentMesh: 1 +--- !u!224 &720503452 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 720503449} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 1047954372} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 5, y: -0.5} + m_SizeDelta: {x: -30, y: -3} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!1 &912887455 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 912887456} + - component: {fileID: 912887459} + - component: {fileID: 912887458} + - component: {fileID: 912887457} + m_Layer: 5 + m_Name: Viewport + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &912887456 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 912887455} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 1055818112} + m_Father: {fileID: 927188573} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: -18, y: 0} + m_Pivot: {x: 0, y: 1} +--- !u!114 &912887457 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 912887455} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 31a19414c41e5ae4aae2af33fee712f6, type: 3} + m_Name: + m_EditorClassIdentifier: + m_ShowMaskGraphic: 0 +--- !u!114 &912887458 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 912887455} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 10917, guid: 0000000000000000f000000000000000, type: 0} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &912887459 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 912887455} + m_CullTransparentMesh: 1 +--- !u!1 &927188572 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 927188573} + - component: {fileID: 927188576} + - component: {fileID: 927188575} + - component: {fileID: 927188574} + m_Layer: 5 + m_Name: Template + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 0 +--- !u!224 &927188573 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 927188572} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 912887456} + - {fileID: 1154194182} + m_Father: {fileID: 117638565} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 0} + m_AnchoredPosition: {x: 0, y: 2} + m_SizeDelta: {x: 0, y: 150} + m_Pivot: {x: 0.5, y: 1} +--- !u!114 &927188574 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 927188572} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 1aa08ab6e0800fa44ae55d278d1423e3, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Content: {fileID: 1055818112} + m_Horizontal: 0 + m_Vertical: 1 + m_MovementType: 2 + m_Elasticity: 0.1 + m_Inertia: 1 + m_DecelerationRate: 0.135 + m_ScrollSensitivity: 1 + m_Viewport: {fileID: 912887456} + m_HorizontalScrollbar: {fileID: 0} + m_VerticalScrollbar: {fileID: 1154194183} + m_HorizontalScrollbarVisibility: 0 + m_VerticalScrollbarVisibility: 2 + m_HorizontalScrollbarSpacing: 0 + m_VerticalScrollbarSpacing: -3 + m_OnValueChanged: + m_PersistentCalls: + m_Calls: [] +--- !u!114 &927188575 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 927188572} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 10905, guid: 0000000000000000f000000000000000, type: 0} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &927188576 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 927188572} + m_CullTransparentMesh: 1 --- !u!1 &945446554 GameObject: m_ObjectHideFlags: 0 @@ -1005,7 +1584,7 @@ GameObject: - component: {fileID: 963194228} - component: {fileID: 963194227} - component: {fileID: 963194226} - - component: {fileID: 963194229} + - component: {fileID: 963194230} m_Layer: 0 m_Name: Main Camera m_TagString: MainCamera @@ -1078,7 +1657,7 @@ Transform: m_Father: {fileID: 0} m_RootOrder: 0 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!114 &963194229 +--- !u!114 &963194230 MonoBehaviour: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} @@ -1087,15 +1666,321 @@ MonoBehaviour: m_GameObject: {fileID: 963194225} m_Enabled: 1 m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: ba77e7f5139014c4b8c9eab0e405d0f0, type: 3} + m_Name: + m_EditorClassIdentifier: +--- !u!1 &1047954371 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1047954372} + - component: {fileID: 1047954373} + m_Layer: 5 + m_Name: Item + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1047954372 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1047954371} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 2144436500} + - {fileID: 615558652} + - {fileID: 720503452} + m_Father: {fileID: 1055818112} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0.5} + m_AnchorMax: {x: 1, y: 0.5} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 20} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1047954373 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1047954371} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 9085046f02f69544eb97fd06b6048fe2, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 3 + m_WrapAround: 0 + m_SelectOnUp: {fileID: 0} + m_SelectOnDown: {fileID: 0} + m_SelectOnLeft: {fileID: 0} + m_SelectOnRight: {fileID: 0} + m_Transition: 1 + m_Colors: + m_NormalColor: {r: 1, g: 1, b: 1, a: 1} + m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1} + m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608} + m_ColorMultiplier: 1 + m_FadeDuration: 0.1 + m_SpriteState: + m_HighlightedSprite: {fileID: 0} + m_PressedSprite: {fileID: 0} + m_SelectedSprite: {fileID: 0} + m_DisabledSprite: {fileID: 0} + m_AnimationTriggers: + m_NormalTrigger: Normal + m_HighlightedTrigger: Highlighted + m_PressedTrigger: Pressed + m_SelectedTrigger: Selected + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 2144436501} + toggleTransition: 1 + graphic: {fileID: 615558653} + m_Group: {fileID: 0} + onValueChanged: + m_PersistentCalls: + m_Calls: [] + m_IsOn: 1 +--- !u!1 &1055818111 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1055818112} + m_Layer: 5 + m_Name: Content + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1055818112 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1055818111} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 1047954372} + m_Father: {fileID: 912887456} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 1} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 28} + m_Pivot: {x: 0.5, y: 1} +--- !u!1 &1099803612 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1099803615} + - component: {fileID: 1099803614} + - component: {fileID: 1099803616} + m_Layer: 0 + m_Name: GameObject + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &1099803614 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1099803612} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: b5bc7fc60d7d94f77a1924580a4ff95b, type: 3} + m_Name: + m_EditorClassIdentifier: +--- !u!4 &1099803615 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1099803612} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 4 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &1099803616 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1099803612} + m_Enabled: 1 + m_EditorHideFlags: 0 m_Script: {fileID: 11500000, guid: 03a4d4e1a7fd74c7ab2eccca4ce168db, type: 3} m_Name: m_EditorClassIdentifier: host: neko.ugavel.com port: 3290 - userid: 0 + userid: -1 room: playerPrefab: {fileID: 6139051692386484099, guid: d4158ab9c4a204cdbba28d3273fc1fb3, type: 3} + mic: {fileID: 1099803614} connected: 0 +--- !u!1 &1154194181 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1154194182} + - component: {fileID: 1154194185} + - component: {fileID: 1154194184} + - component: {fileID: 1154194183} + m_Layer: 5 + m_Name: Scrollbar + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1154194182 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1154194181} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 1679565284} + m_Father: {fileID: 927188573} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 1, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 20, y: 0} + m_Pivot: {x: 1, y: 1} +--- !u!114 &1154194183 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1154194181} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 2a4db7a114972834c8e4117be1d82ba3, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 3 + m_WrapAround: 0 + m_SelectOnUp: {fileID: 0} + m_SelectOnDown: {fileID: 0} + m_SelectOnLeft: {fileID: 0} + m_SelectOnRight: {fileID: 0} + m_Transition: 1 + m_Colors: + m_NormalColor: {r: 1, g: 1, b: 1, a: 1} + m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1} + m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608} + m_ColorMultiplier: 1 + m_FadeDuration: 0.1 + m_SpriteState: + m_HighlightedSprite: {fileID: 0} + m_PressedSprite: {fileID: 0} + m_SelectedSprite: {fileID: 0} + m_DisabledSprite: {fileID: 0} + m_AnimationTriggers: + m_NormalTrigger: Normal + m_HighlightedTrigger: Highlighted + m_PressedTrigger: Pressed + m_SelectedTrigger: Selected + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 2033163678} + m_HandleRect: {fileID: 2033163677} + m_Direction: 2 + m_Value: 0 + m_Size: 0.2 + m_NumberOfSteps: 0 + m_OnValueChanged: + m_PersistentCalls: + m_Calls: [] +--- !u!114 &1154194184 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1154194181} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 10907, guid: 0000000000000000f000000000000000, type: 0} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &1154194185 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1154194181} + m_CullTransparentMesh: 1 --- !u!1 &1235343400 GameObject: m_ObjectHideFlags: 0 @@ -1466,6 +2351,81 @@ CanvasRenderer: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1484033255} m_CullTransparentMesh: 1 +--- !u!1 &1557879930 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1557879931} + - component: {fileID: 1557879933} + - component: {fileID: 1557879932} + m_Layer: 5 + m_Name: Arrow + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1557879931 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1557879930} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 117638565} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 1, y: 0.5} + m_AnchorMax: {x: 1, y: 0.5} + m_AnchoredPosition: {x: -15, y: 0} + m_SizeDelta: {x: 20, y: 20} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1557879932 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1557879930} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 10915, guid: 0000000000000000f000000000000000, type: 0} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &1557879933 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1557879930} + m_CullTransparentMesh: 1 --- !u!1 &1560686263 GameObject: m_ObjectHideFlags: 0 @@ -1545,6 +2505,42 @@ MonoBehaviour: m_VerticalOverflow: 0 m_LineSpacing: 1 m_Text: +--- !u!1 &1679565283 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1679565284} + m_Layer: 5 + m_Name: Sliding Area + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1679565284 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1679565283} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 2033163677} + m_Father: {fileID: 1154194182} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: -20, y: -20} + m_Pivot: {x: 0.5, y: 0.5} --- !u!1 &1760805524 GameObject: m_ObjectHideFlags: 0 @@ -2048,6 +3044,81 @@ RectTransform: m_AnchoredPosition: {x: 0, y: -0.5} m_SizeDelta: {x: -20, y: -13} m_Pivot: {x: 0.5, y: 0.5} +--- !u!1 &2033163676 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 2033163677} + - component: {fileID: 2033163679} + - component: {fileID: 2033163678} + m_Layer: 5 + m_Name: Handle + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &2033163677 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2033163676} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 1679565284} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 0.2} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 20, y: 20} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &2033163678 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2033163676} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 10905, guid: 0000000000000000f000000000000000, type: 0} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &2033163679 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2033163676} + m_CullTransparentMesh: 1 --- !u!1 &2118429758 GameObject: m_ObjectHideFlags: 0 @@ -2127,3 +3198,78 @@ CanvasRenderer: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 2118429758} m_CullTransparentMesh: 1 +--- !u!1 &2144436499 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 2144436500} + - component: {fileID: 2144436502} + - component: {fileID: 2144436501} + m_Layer: 5 + m_Name: Item Background + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &2144436500 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2144436499} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 1047954372} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &2144436501 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2144436499} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 0} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &2144436502 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2144436499} + m_CullTransparentMesh: 1 diff --git a/TestVelGameServer/Assets/velmicrophone.cs b/TestVelGameServer/Assets/velmicrophone.cs new file mode 100644 index 0000000..d662286 --- /dev/null +++ b/TestVelGameServer/Assets/velmicrophone.cs @@ -0,0 +1,244 @@ +using System.Collections; +using System.Collections.Generic; +using UnityEngine; +using System.IO; +using Concentus.Structs; +using System.Threading; +using System; +public class velmicrophone : MonoBehaviour +{ + OpusEncoder opusEncoder; + OpusDecoder opusDecoder; + //StreamWriter sw; + AudioClip clip; + float[] tempData; + float[] encoderBuffer; + List frameBuffer; + + List sendQueue = new List(); + List encoderArrayPool = new List(); + List decoderArrayPool = new List(); + int lastUsedEncoderPool = 0; + int lastUsedDecoderPool = 0; + int encoderBufferIndex=0; + int size = 0; + int lastPosition = 0; + string device = ""; + int sampleNumber = 0; + int encoder_frame_size = 640; + double micSampleTime = 1 / 44100.0; + double encodeTime = 1 / 16000.0; + double lastMicSample; //holds the last mic sample, in case we need to interpolate it + double sampleTimer = 0; //increments with every mic sample, but when over the encodeTime, causes a sample and subtracts that encode time + EventWaitHandle waiter; + float silenceThreshold = .04f; //average volume of packet + int numSilent = 0; //number of silent packets detected + int minSilencePacketsToStop = 2; + double averageVolume = 0; + Thread t; + public Action encodedFrameAvailable = delegate { }; + + // Start is called before the first frame update + void Start() + { + opusEncoder = new OpusEncoder(16000, 1, Concentus.Enums.OpusApplication.OPUS_APPLICATION_VOIP); + opusDecoder = new OpusDecoder(16000, 1); + encoderBuffer = new float[16000]; + frameBuffer = new List(); + //string path = Application.persistentDataPath + "/" + "mic.csv"; //this was for writing mic samples + //sw = new StreamWriter(path, false); + + + + + for(int i = 0; i < 100; i++) //pre allocate a bunch of arrays for microphone frames (probably will only need 1 or 2) + { + encoderArrayPool.Add(new float[encoder_frame_size]); + decoderArrayPool.Add(new FixedArray(1000)); + + } + + t = new Thread(encodeThread); + waiter = new EventWaitHandle(true, EventResetMode.AutoReset); + t.Start(); + } + + public void startMicrophone(string mic) + { + Debug.Log(mic); + device = mic; + int minFreq, maxFreq; + Microphone.GetDeviceCaps(device, out minFreq, out maxFreq); + Debug.Log("Freq: " + minFreq + ":" + maxFreq); + clip = Microphone.Start(device, true, 1, 44100); + + + Debug.Log("Frequency:" + clip.frequency); + tempData = new float[clip.samples * clip.channels]; + Debug.Log("channels: " + clip.channels); + } + + private void OnApplicationQuit() + { + t.Abort(); + + //sw.Flush(); + //sw.Close(); + + } + + float[] getNextEncoderPool() + { + lastUsedEncoderPool = (lastUsedEncoderPool + 1) % encoderArrayPool.Count; + return encoderArrayPool[lastUsedEncoderPool]; + } + + FixedArray getNextDecoderPool() + { + lastUsedDecoderPool = (lastUsedDecoderPool + 1) % decoderArrayPool.Count; + + FixedArray toReturn = decoderArrayPool[lastUsedDecoderPool]; + toReturn.count = 0; + return toReturn; + } + // Update is called once per frame + void Update() + { + + if(clip != null) + { + int micPosition = Microphone.GetPosition(device); + if(micPosition == lastPosition) + { + return; //sometimes the microphone will not advance + } + int numSamples = 0; + float[] temp; + if (micPosition > lastPosition) + { + numSamples = micPosition - lastPosition; + } + else + { + //whatever was left + numSamples = (tempData.Length - lastPosition) + micPosition; + } + //Debug.Log(micPosition); + temp = new float[numSamples]; //this has to be dynamically allocated because of the way clip.GetData works (annoying...maybe use native mic) + clip.GetData(temp, lastPosition); + lastPosition = micPosition; + + + //this code does 2 things. 1) it samples the microphone data to be exactly what the encoder wants, 2) it forms encoder packets + for (int i = 0; i < temp.Length; i++) //iterate through temp, which contans that mic samples at 44.1khz + { + sampleTimer += micSampleTime; + if(sampleTimer > encodeTime) + { + + //take a sample between the last sample and the current sample + + double diff = sampleTimer - encodeTime; //this represents how far past this sample actually is + double t = diff / micSampleTime; //this should be between 0 and 1 + double v = lastMicSample * (1 - t) + temp[i] * t; + sampleTimer -= encodeTime; + + encoderBuffer[encoderBufferIndex++] = (float)v; + averageVolume += v > 0 ? v : -v; + if(encoderBufferIndex > encoder_frame_size) //this is when a new packet gets created + { + + + + averageVolume = averageVolume / encoder_frame_size; + + if(averageVolume < silenceThreshold) + { + numSilent++; + } + else + { + numSilent = 0; + } + averageVolume = 0; + + if (numSilent < minSilencePacketsToStop) + { + + float[] frame = getNextEncoderPool(); //these are predefined sizes, so we don't have to allocate a new array + //lock the frame buffer + + System.Array.Copy(encoderBuffer, frame, encoder_frame_size); //nice and fast + + + lock (frameBuffer) + { + + frameBuffer.Add(frame); + waiter.Set(); //signal the encode frame + } + } + encoderBufferIndex = 0; + + } + } + lastMicSample = temp[i]; //remember the last sample, just in case this is the first one next time + } + } + + lock (sendQueue) + { + foreach(FixedArray f in sendQueue) + { + encodedFrameAvailable(f); + + } + sendQueue.Clear(); + } + + } + + public float[] decodeOpusData(byte[] data) + { + float[] t = getNextEncoderPool(); + opusDecoder.Decode(data, 0, data.Length, t, 0, encoder_frame_size); + return t; + } + + void encodeThread() + { + + while (waiter.WaitOne(Timeout.Infinite)) //better to wait on signal + { + + List toEncode = new List(); + + + lock (frameBuffer) + { + foreach (float[] frame in frameBuffer) { + toEncode.Add(frame); + } + frameBuffer.Clear(); + } + + foreach(float[] frame in toEncode) + { + FixedArray a = getNextDecoderPool(); + int out_data_size = opusEncoder.Encode(frame, 0, encoder_frame_size, a.array, 0, 1000); + a.count = out_data_size; + //add frame to the send buffer + lock (sendQueue) + { + sendQueue.Add(a); + } + } + + } + + } + + + + +} diff --git a/TestVelGameServer/Assets/DFVoice/Scripts/Codec/SpeexCodec.cs.meta b/TestVelGameServer/Assets/velmicrophone.cs.meta similarity index 57% rename from TestVelGameServer/Assets/DFVoice/Scripts/Codec/SpeexCodec.cs.meta rename to TestVelGameServer/Assets/velmicrophone.cs.meta index 23a4b57..d663240 100644 --- a/TestVelGameServer/Assets/DFVoice/Scripts/Codec/SpeexCodec.cs.meta +++ b/TestVelGameServer/Assets/velmicrophone.cs.meta @@ -1,8 +1,11 @@ fileFormatVersion: 2 -guid: 8495bcd6d39ea2149b087be58f649136 +guid: b5bc7fc60d7d94f77a1924580a4ff95b MonoImporter: + externalObjects: {} serializedVersion: 2 defaultReferences: [] executionOrder: 0 icon: {instanceID: 0} userData: + assetBundleName: + assetBundleVariant: diff --git a/TestVelGameServer/ProjectSettings/AudioManager.asset b/TestVelGameServer/ProjectSettings/AudioManager.asset index 07ebfb0..ceaa5aa 100644 --- a/TestVelGameServer/ProjectSettings/AudioManager.asset +++ b/TestVelGameServer/ProjectSettings/AudioManager.asset @@ -9,11 +9,12 @@ AudioManager: Doppler Factor: 1 Default Speaker Mode: 2 m_SampleRate: 0 - m_DSPBufferSize: 1024 + m_DSPBufferSize: 256 m_VirtualVoiceCount: 512 m_RealVoiceCount: 32 + m_EnableOutputSuspension: 1 m_SpatializerPlugin: m_AmbisonicDecoderPlugin: m_DisableAudio: 0 m_VirtualizeEffects: 1 - m_RequestedDSPBufferSize: 1024 + m_RequestedDSPBufferSize: 256 diff --git a/TestVelGameServer/logoutput.csv b/TestVelGameServer/logoutput.csv new file mode 100644 index 0000000..e6c5a77 --- /dev/null +++ b/TestVelGameServer/logoutput.csv @@ -0,0 +1,35 @@ +0.004467018,0.004359119,0.004251211,0.004056993,0.003862774,0.003668556,0.003474337,0.003280119 +0.004467018,0.004359119,0.004251211,0.004056993,0.003862774,0.003668556,0.003474337,0.003280119 +0.002503267,0.002546427,0.002589587,0.002632746,0.002675888,0.002571585,0.002467283,0.00236298 +0.0005394813,0.000442372,0.0003452627,0.0002481534,0.0001510441,5.393479E-05,-4.316408E-05,-7.193721E-05 +0.0006761659,0.0006617793,0.0006473901,0.000618617,0.0005898438,0.0005610707,0.0005322976,0.0005035244 +0.0002805468,0.0003129166,0.0003452775,0.0003452775,0.0003452775,0.0003452775,0.0003452775,0.0003452775 +0.001338014,0.001528636,0.001719258,0.00190988,0.002100502,0.002291124,0.00248172,0.002593216 +0.001338014,0.001528636,0.001719258,0.00190988,0.002100502,0.002291124,0.00248172,0.002593216 +0.003949116,0.003959906,0.003970696,0.003981485,0.003992301,0.004067831,0.004143361,0.004218889 +0.003949116,0.003959906,0.003970696,0.003981485,0.003992301,0.004067831,0.004143361,0.004218889 +0.003754857,0.003672135,0.003589412,0.00350669,0.003423967,0.003341244,0.003258578,0.003308931 +0.00135956,0.001424299,0.001489065,0.001611351,0.001733637,0.001855923,0.001978208,0.002100494 +0.001539348,0.001514172,0.001489007,0.001485411,0.001481814,0.001478217,0.001474621,0.001471024 +0.001539348,0.001514172,0.001489007,0.001485411,0.001481814,0.001478217,0.001474621,0.001471024 +0.004459839,0.004467032,0.004474225,0.004481419,0.004488593,0.004463417,0.00443824,0.004413064 +0.000733693,0.0007013232,0.0006689535,0.0006365837,0.0006042091,0.000564646,0.000525083,0.0004855199 +0.000733693,0.0007013232,0.0006689535,0.0006365837,0.0006042091,0.000564646,0.000525083,0.0004855199 +0.001834044,0.001488767,0.001143489,0.000798212,0.0004529344,0.0001076569,-0.0002373682,-0.0002229816 +0.00720823,0.007916768,0.008625306,0.009333845,0.01004238,0.01075092,0.01145896,0.01153809 +0.01313472,0.01290094,0.01266706,0.01232538,0.01198369,0.01164201,0.01130033,0.01095865 +0.0103731,0.01074715,0.0111212,0.01149525,0.01186834,0.01131446,0.01076057,0.01020669 +0.003136165,0.003042653,0.00294914,0.002855627,0.002761875,0.00245616,0.002150446,0.001844732 +0.006711657,0.006992195,0.007272733,0.007553271,0.007833809,0.008114347,0.008395056,0.008823056 +0.01174659,0.01171781,0.01168904,0.01166027,0.0116314,0.01154149,0.01145157,0.01136165 +0.01252356,0.01255953,0.01259549,0.01263146,0.01266725,0.01259532,0.01252339,0.01245146 +0.01252356,0.01255953,0.01259549,0.01263146,0.01266725,0.01259532,0.01252339,0.01245146 +0.01232189,0.01219961,0.01207732,0.01195504,0.01183275,0.01171046,0.01158837,0.01158477 +0.001698428,0.002165991,0.002634055,0.003389349,0.004144644,0.004899939,0.005655233,0.006410528 +0.02496385,0.02666507,0.02836628,0.03006749,0.03176811,0.03315281,0.03453752,0.03592223 +0.01212717,0.0117747,0.01142223,0.01106976,0.01071729,0.01036482,0.01001255,0.009760783 +0.02716164,0.02706813,0.02697457,0.02685588,0.02673719,0.0266185,0.02649981,0.02638112 +0.006970422,0.007035162,0.007099901,0.007164641,0.007229564,0.00738422,0.007538875,0.007693531 +0.008732429,0.008631722,0.008531016,0.008430311,0.008329482,0.00817123,0.008012977,0.007854725 +0.007739955,0.007732761,0.007725164,0.007541736,0.007358307,0.007174878,0.006991449,0.006808021 +0.006884047,0.006916418,0.006948993,0.007067681,0.007186371,0.00730506,0.007423749,0.007542438 diff --git a/start_mac.sh b/start_mac.sh new file mode 100755 index 0000000..a5e06e7 --- /dev/null +++ b/start_mac.sh @@ -0,0 +1,2 @@ +#!/usr/bin/env bash +./TestVelGameServer/build/macbuild.app/Contents/MacOS/TestVelGameServer &