diff --git a/VisualPinball.Unity/Assets/Resources/Prefabs/Plunger.prefab.meta b/VisualPinball.Engine/VPT/MechSounds.meta similarity index 57% rename from VisualPinball.Unity/Assets/Resources/Prefabs/Plunger.prefab.meta rename to VisualPinball.Engine/VPT/MechSounds.meta index da4a47968..4d6559344 100644 --- a/VisualPinball.Unity/Assets/Resources/Prefabs/Plunger.prefab.meta +++ b/VisualPinball.Engine/VPT/MechSounds.meta @@ -1,6 +1,7 @@ fileFormatVersion: 2 -guid: 0147b53c12e87954793677c5fe0627f6 -PrefabImporter: +guid: f9a957a9e90457b45ba74b1c0b726c3f +folderAsset: yes +DefaultImporter: externalObjects: {} userData: assetBundleName: diff --git a/VisualPinball.Unity/Assets/Editor/Icons/small_orange/musical_note.png b/VisualPinball.Unity/Assets/Editor/Icons/small_orange/musical_note.png new file mode 100644 index 000000000..0889a5d2e Binary files /dev/null and b/VisualPinball.Unity/Assets/Editor/Icons/small_orange/musical_note.png differ diff --git a/VisualPinball.Unity/Assets/Editor/Icons/small_orange/musical_note.png.meta b/VisualPinball.Unity/Assets/Editor/Icons/small_orange/musical_note.png.meta new file mode 100644 index 000000000..70614e180 --- /dev/null +++ b/VisualPinball.Unity/Assets/Editor/Icons/small_orange/musical_note.png.meta @@ -0,0 +1,114 @@ +fileFormatVersion: 2 +guid: 22fa0f3254800a748abe0d6b46930179 +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 13 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + flipGreenChannel: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + ignoreMipmapLimit: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 2 + aniso: 1 + mipBias: 0 + wrapU: 1 + wrapV: 1 + wrapW: 0 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 2 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + swizzle: 50462976 + cookieLightType: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 64 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 0 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + nameFileIdTable: {} + mipmapLimitGroupName: + pSDRemoveMatte: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/VisualPinball.Unity/Assets/Editor/Icons/small_orange/speaker.png b/VisualPinball.Unity/Assets/Editor/Icons/small_orange/speaker.png new file mode 100644 index 000000000..f1bb30a07 Binary files /dev/null and b/VisualPinball.Unity/Assets/Editor/Icons/small_orange/speaker.png differ diff --git a/VisualPinball.Unity/Assets/Editor/Icons/small_orange/speaker.png.meta b/VisualPinball.Unity/Assets/Editor/Icons/small_orange/speaker.png.meta new file mode 100644 index 000000000..c06accab2 --- /dev/null +++ b/VisualPinball.Unity/Assets/Editor/Icons/small_orange/speaker.png.meta @@ -0,0 +1,114 @@ +fileFormatVersion: 2 +guid: 2a19a503f9b847f42bfcd456ec56f4b9 +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 13 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + flipGreenChannel: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + ignoreMipmapLimit: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 2 + aniso: 1 + mipBias: 0 + wrapU: 1 + wrapV: 1 + wrapW: 0 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 2 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + swizzle: 50462976 + cookieLightType: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 64 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 0 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + nameFileIdTable: {} + mipmapLimitGroupName: + pSDRemoveMatte: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/VisualPinball.Unity/Assets/Presets.meta b/VisualPinball.Unity/Assets/Presets.meta index 0d4105838..d3dab9898 100644 --- a/VisualPinball.Unity/Assets/Presets.meta +++ b/VisualPinball.Unity/Assets/Presets.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: 74b6f483aa6bd6c49bc05dca5f2c6750 +guid: a61d04b442140514a9bfb858f9ed8f05 folderAsset: yes DefaultImporter: externalObjects: {} diff --git a/VisualPinball.Unity/Assets/Resources/Prefabs/DropTargetBank.prefab b/VisualPinball.Unity/Assets/Resources/Prefabs/DropTargetBank.prefab deleted file mode 100644 index 605a9d912..000000000 --- a/VisualPinball.Unity/Assets/Resources/Prefabs/DropTargetBank.prefab +++ /dev/null @@ -1,52 +0,0 @@ -%YAML 1.1 -%TAG !u! tag:unity3d.com,2011: ---- !u!1 &6315943650588709701 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 1547207884189045889} - - component: {fileID: 3547369771264680983} - m_Layer: 0 - m_Name: DropTargetBank - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &1547207884189045889 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 6315943650588709701} - 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: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!114 &3547369771264680983 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 6315943650588709701} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 0807d76d30f7a44ec9b4905761134eb9, type: 3} - m_Name: - m_EditorClassIdentifier: - _isLocked: 0 - _editorLayer: 0 - _editorLayerName: - _editorLayerVisibility: 1 - BankSize: 1 - DropTargets: - - {fileID: 0} diff --git a/VisualPinball.Unity/Assets/Resources/Prefabs/DropTargetBank.prefab.meta b/VisualPinball.Unity/Assets/Resources/Prefabs/DropTargetBank.prefab.meta deleted file mode 100644 index 119a26f8f..000000000 --- a/VisualPinball.Unity/Assets/Resources/Prefabs/DropTargetBank.prefab.meta +++ /dev/null @@ -1,7 +0,0 @@ -fileFormatVersion: 2 -guid: cfbe6687c1d9f45e38f32cdcce7c14ea -PrefabImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/VisualPinball.Unity/Assets/Resources/Prefabs/Flipper.prefab b/VisualPinball.Unity/Assets/Resources/Prefabs/Flipper.prefab deleted file mode 100644 index 02ccd6d9e..000000000 --- a/VisualPinball.Unity/Assets/Resources/Prefabs/Flipper.prefab +++ /dev/null @@ -1,220 +0,0 @@ -%YAML 1.1 -%TAG !u! tag:unity3d.com,2011: ---- !u!1 &204147209793461234 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 6818887475746504221} - - component: {fileID: 6048673509915073221} - - component: {fileID: 4778019510121147183} - m_Layer: 0 - m_Name: Rubber - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &6818887475746504221 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 204147209793461234} - 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_ConstrainProportionsScale: 0 - m_Children: [] - m_Father: {fileID: 4440381279647306322} - m_RootOrder: 1 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!114 &6048673509915073221 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 204147209793461234} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 8e6fc321830c03547890119a04997404, type: 3} - m_Name: - m_EditorClassIdentifier: - _instanceID: 45420 ---- !u!33 &4778019510121147183 -MeshFilter: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 204147209793461234} - m_Mesh: {fileID: 0} ---- !u!1 &3134944213418037488 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 5879026712924827105} - - component: {fileID: 555621075297325882} - - component: {fileID: 8383588224779965405} - m_Layer: 0 - m_Name: Base - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &5879026712924827105 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 3134944213418037488} - 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_ConstrainProportionsScale: 0 - m_Children: [] - m_Father: {fileID: 4440381279647306322} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!114 &555621075297325882 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 3134944213418037488} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 89e3c1c147bb7a049b0510709f1ad9f2, type: 3} - m_Name: - m_EditorClassIdentifier: - _instanceID: 45406 ---- !u!33 &8383588224779965405 -MeshFilter: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 3134944213418037488} - m_Mesh: {fileID: 0} ---- !u!1 &8904124417643437867 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 4440381279647306322} - - component: {fileID: 2330311059251221068} - - component: {fileID: 8750544366699972018} - m_Layer: 0 - m_Name: Flipper - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &4440381279647306322 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 8904124417643437867} - 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_ConstrainProportionsScale: 0 - m_Children: - - {fileID: 5879026712924827105} - - {fileID: 6818887475746504221} - m_Father: {fileID: 0} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!114 &2330311059251221068 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 8904124417643437867} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 545ad741f74d2444faf5d2882fba6b69, type: 3} - m_Name: - m_EditorClassIdentifier: - _isLocked: 0 - _editorLayer: 0 - _editorLayerName: - _editorLayerVisibility: 1 - Position: {x: 0, y: 0} - _startAngle: 121 - EndAngle: 70 - _surface: {fileID: 0} - IsEnabled: 1 - IsDualWound: 0 - _height: 50 - _baseRadius: 21.5 - _endRadius: 13 - FlipperRadiusMin: 0 - FlipperRadiusMax: 130 - _rubberThickness: 7 - _rubberHeight: 19 - _rubberWidth: 24 - InstantiateAsPrefab: 0 - _originalRotateZ: 0 ---- !u!114 &8750544366699972018 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 8904124417643437867} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 1a6867661ef306b40958372e88a16b2a, type: 3} - m_Name: - m_EditorClassIdentifier: - PhysicsMaterial: {fileID: 0} - ShowColliderMesh: 1 - ShowAabbs: 0 - Mass: 1 - Strength: 2200 - Elasticity: 0.8 - ElasticityFalloff: 0.43 - Friction: 0.6 - Return: 0.058 - RampUp: 3 - TorqueDamping: 0.75 - TorqueDampingAngle: 6 - Scatter: 0 - FlipperCorrection: {fileID: 11400000, guid: f8799be363ab20a459dd185669ece8aa, type: 2} - useFlipperTricksPhysics: 0 - SOSRampUp: 2.5 - SOSEM: 0.85 - EOSReturn: 0.055 - EOSTNew: 0.8 - EOSANew: 1 - EOSRampup: 0 - Overshoot: 3 - BumpOnRelease: 0.4 - useFlipperLiveCatch: 0 - LiveCatchDistanceMin: 40 - LiveCatchDistanceMax: 100 - LiveCatchMinimalBallSpeed: 6 - LiveCatchFullTime: 16 - LiveCatchPerfectTime: 8 - LiveCatchMinmalBounceSpeedMultiplier: 0.1 - LiveCatchInaccurateBounceSpeedMultiplier: 1 diff --git a/VisualPinball.Unity/Assets/Resources/Prefabs/Flipper.prefab.meta b/VisualPinball.Unity/Assets/Resources/Prefabs/Flipper.prefab.meta deleted file mode 100644 index ad16a7893..000000000 --- a/VisualPinball.Unity/Assets/Resources/Prefabs/Flipper.prefab.meta +++ /dev/null @@ -1,7 +0,0 @@ -fileFormatVersion: 2 -guid: ff1ba79e682ea784ca6fe006fb174291 -PrefabImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/VisualPinball.Unity/Assets/Resources/Prefabs/Plunger.prefab b/VisualPinball.Unity/Assets/Resources/Prefabs/Plunger.prefab deleted file mode 100644 index cfce987e3..000000000 --- a/VisualPinball.Unity/Assets/Resources/Prefabs/Plunger.prefab +++ /dev/null @@ -1,200 +0,0 @@ -%YAML 1.1 -%TAG !u! tag:unity3d.com,2011: ---- !u!1 &3492958815385962431 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 2688967276888975725} - - component: {fileID: 8461769246571476234} - - component: {fileID: 4360165373544367127} - m_Layer: 0 - m_Name: Plunger - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &2688967276888975725 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 3492958815385962431} - 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_ConstrainProportionsScale: 0 - m_Children: - - {fileID: 2983885423002777819} - - {fileID: 1501205072833867318} - m_Father: {fileID: 0} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!114 &8461769246571476234 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 3492958815385962431} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: c1591b5a0bc15604fb622d417b509185, type: 3} - m_Name: - m_EditorClassIdentifier: - _isLocked: 0 - _editorLayer: 0 - _editorLayerName: - _editorLayerVisibility: 1 - Position: {x: 0, y: 0} - Width: 25 - Height: 20 - ZAdjust: 0 - _surface: {fileID: 0} - analogPlungerAction: {fileID: 0} ---- !u!114 &4360165373544367127 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 3492958815385962431} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 2b804d1deff43db4482e740209bb910a, type: 3} - m_Name: - m_EditorClassIdentifier: - PhysicsMaterial: {fileID: 0} - ShowColliderMesh: 1 - ShowAabbs: 0 - SpeedPull: 0.5 - SpeedFire: 80 - Stroke: 80 - ScatterVelocity: 0 - IsMechPlunger: 0 - IsAutoPlunger: 0 - MechStrength: 85 - MomentumXfer: 1 - ParkPosition: 0.16666667 ---- !u!1 &3501041183407321805 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 1501205072833867318} - - component: {fileID: 6684065896369603595} - - component: {fileID: 6796775350825094537} - m_Layer: 0 - m_Name: Spring - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &1501205072833867318 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 3501041183407321805} - 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_ConstrainProportionsScale: 0 - m_Children: [] - m_Father: {fileID: 2688967276888975725} - m_RootOrder: 1 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!114 &6684065896369603595 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 3501041183407321805} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 8506b0486aacff543b92dd7de914f936, type: 3} - m_Name: - m_EditorClassIdentifier: - _instanceID: 46138 - SpringDiam: 0.77 - SpringGauge: 1.38 - SpringLoops: 8 - SpringEndLoops: 2.5 ---- !u!33 &6796775350825094537 -MeshFilter: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 3501041183407321805} - m_Mesh: {fileID: 0} ---- !u!1 &7745742471233074297 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 2983885423002777819} - - component: {fileID: 4093808313367734439} - - component: {fileID: 8559785420684526687} - m_Layer: 0 - m_Name: Rod - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &2983885423002777819 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 7745742471233074297} - 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_ConstrainProportionsScale: 0 - m_Children: [] - m_Father: {fileID: 2688967276888975725} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!114 &4093808313367734439 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 7745742471233074297} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 6e7622b4c6837354c8190ee471830c31, type: 3} - m_Name: - m_EditorClassIdentifier: - _instanceID: 46132 - RodDiam: 0.6 - RingGap: 2 - RingDiam: 0.94 - RingWidth: 3 - TipShape: 0 .34; 2 .6; 3 .64; 5 .7; 7 .84; 8 .88; 9 .9; 11 .92; 14 .92; 39 .84 ---- !u!33 &8559785420684526687 -MeshFilter: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 7745742471233074297} - m_Mesh: {fileID: 0} diff --git a/VisualPinball.Unity/Assets/Resources/Prefabs/Slingshot.prefab b/VisualPinball.Unity/Assets/Resources/Prefabs/Slingshot.prefab deleted file mode 100644 index 6fa531177..000000000 --- a/VisualPinball.Unity/Assets/Resources/Prefabs/Slingshot.prefab +++ /dev/null @@ -1,136 +0,0 @@ -%YAML 1.1 -%TAG !u! tag:unity3d.com,2011: ---- !u!1 &6110464775177654975 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 1604346372501559456} - - component: {fileID: 8345816335357486725} - - component: {fileID: 4498014268656306279} - - component: {fileID: 1260714541426936682} - m_Layer: 0 - m_Name: Slingshot - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &1604346372501559456 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 6110464775177654975} - 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: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!114 &8345816335357486725 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 6110464775177654975} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 8840a3e9d44a5a443a20087784eae747, type: 3} - m_Name: - m_EditorClassIdentifier: - SlingshotSurface: {fileID: 0} - RubberOn: {fileID: 0} - RubberOff: {fileID: 0} - CoilArm: {fileID: 0} - CoilArmAngle: 0 - AnimationDuration: 70 - AnimationCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 3 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - weightedMode: 0 - inWeight: 0 - outWeight: 0 - - serializedVersion: 3 - time: 0.5 - value: 1 - inSlope: 3.535 - outSlope: 0 - tangentMode: 0 - weightedMode: 3 - inWeight: 0.03333336 - outWeight: 0.5416666 - - serializedVersion: 3 - time: 1 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - weightedMode: 0 - inWeight: 0 - outWeight: 0 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - _isLocked: 0 ---- !u!33 &4498014268656306279 -MeshFilter: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 6110464775177654975} - m_Mesh: {fileID: 0} ---- !u!23 &1260714541426936682 -MeshRenderer: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 6110464775177654975} - m_Enabled: 1 - m_CastShadows: 1 - m_ReceiveShadows: 1 - m_DynamicOccludee: 1 - m_MotionVectors: 1 - m_LightProbeUsage: 1 - m_ReflectionProbeUsage: 1 - m_RayTracingMode: 2 - m_RayTraceProcedural: 0 - m_RenderingLayerMask: 257 - m_RendererPriority: 0 - m_Materials: - - {fileID: 0} - 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} diff --git a/VisualPinball.Unity/Assets/Resources/Prefabs/Slingshot.prefab.meta b/VisualPinball.Unity/Assets/Resources/Prefabs/Slingshot.prefab.meta deleted file mode 100644 index 8827ba025..000000000 --- a/VisualPinball.Unity/Assets/Resources/Prefabs/Slingshot.prefab.meta +++ /dev/null @@ -1,7 +0,0 @@ -fileFormatVersion: 2 -guid: c557a5a88939f4f48ab972272730aa0b -PrefabImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/VisualPinball.Unity/Assets/Resources/Prefabs/Trough.prefab b/VisualPinball.Unity/Assets/Resources/Prefabs/Trough.prefab deleted file mode 100644 index ad971b179..000000000 --- a/VisualPinball.Unity/Assets/Resources/Prefabs/Trough.prefab +++ /dev/null @@ -1,70 +0,0 @@ -%YAML 1.1 -%TAG !u! tag:unity3d.com,2011: ---- !u!1 &6315943650588709701 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 1547207884189045889} - - component: {fileID: 7359774814775038696} - m_Layer: 0 - m_Name: Trough - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &1547207884189045889 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 6315943650588709701} - 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: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!114 &7359774814775038696 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 6315943650588709701} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 426f115d8fbd6914bb7c67e1cc410097, type: 3} - m_Name: - m_EditorClassIdentifier: - _data: - StoragePrefix: 1 - StorageIndex: -1 - IsLocked: 0 - EditorLayerName: - EditorLayerVisibility: 1 - Name: - Type: 0 - PlayfieldEntrySwitch: - PlayfieldExitKicker: - BallCount: 6 - SwitchCount: 6 - JamSwitch: 0 - RollTime: 300 - TransitionTime: 50 - KickTime: 100 - Type: 1 - _playfieldEntrySwitch: {fileID: 0} - PlayfieldExitKicker: {fileID: 0} - BallCount: 6 - SwitchCount: 6 - JamSwitch: 0 - RollTime: 300 - TransitionTime: 50 - KickTime: 100 diff --git a/VisualPinball.Unity/Assets/Resources/Prefabs/Trough.prefab.meta b/VisualPinball.Unity/Assets/Resources/Prefabs/Trough.prefab.meta deleted file mode 100644 index 19406fd79..000000000 --- a/VisualPinball.Unity/Assets/Resources/Prefabs/Trough.prefab.meta +++ /dev/null @@ -1,7 +0,0 @@ -fileFormatVersion: 2 -guid: 106ae624292d85d48a3036f6c58ab163 -PrefabImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/VisualPinball.Unity/VisualPinball.Unity.Editor/Common/MultilineTextField.uss b/VisualPinball.Unity/VisualPinball.Unity.Editor/Common/MultilineTextField.uss new file mode 100644 index 000000000..52db848c2 --- /dev/null +++ b/VisualPinball.Unity/VisualPinball.Unity.Editor/Common/MultilineTextField.uss @@ -0,0 +1,3 @@ +.multiline-textfield > TextInput { + white-space: normal; +} diff --git a/VisualPinball.Unity/VisualPinball.Unity.Editor/Common/MultilineTextField.uss.meta b/VisualPinball.Unity/VisualPinball.Unity.Editor/Common/MultilineTextField.uss.meta new file mode 100644 index 000000000..7a29e0b80 --- /dev/null +++ b/VisualPinball.Unity/VisualPinball.Unity.Editor/Common/MultilineTextField.uss.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 443092b513c6ebc4bbfbfe7de8daa864 +ScriptedImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 2 + userData: + assetBundleName: + assetBundleVariant: + script: {fileID: 12385, guid: 0000000000000000e000000000000000, type: 0} + disableValidation: 0 diff --git a/VisualPinball.Unity/VisualPinball.Unity.Editor/Sound.meta b/VisualPinball.Unity/VisualPinball.Unity.Editor/Sound.meta new file mode 100644 index 000000000..dc4a50b28 --- /dev/null +++ b/VisualPinball.Unity/VisualPinball.Unity.Editor/Sound.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: d6280d7fb0f340b09b058831259ab274 +timeCreated: 1677682143 \ No newline at end of file diff --git a/VisualPinball.Unity/VisualPinball.Unity.Editor/Sound/CoilSoundComponentInspector.cs b/VisualPinball.Unity/VisualPinball.Unity.Editor/Sound/CoilSoundComponentInspector.cs new file mode 100644 index 000000000..3f1ccfaf8 --- /dev/null +++ b/VisualPinball.Unity/VisualPinball.Unity.Editor/Sound/CoilSoundComponentInspector.cs @@ -0,0 +1,53 @@ +// Visual Pinball Engine +// Copyright (C) 2023 freezy and VPE Team +// +// This program is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program. If not, see . + +using System.Collections.Generic; +using System.Linq; +using UnityEditor; +using UnityEngine; +using UnityEngine.UIElements; + +namespace VisualPinball.Unity.Editor +{ + [CustomEditor(typeof(CoilSoundComponent)), CanEditMultipleObjects] + public class CoilSoundComponentInspector : SoundComponentInspector + { + [SerializeField] + private VisualTreeAsset inspectorXml; + + public override VisualElement CreateInspectorGUI() + { + var root = base.CreateInspectorGUI(); + var inspectorUi = inspectorXml.Instantiate(); + root.Add(inspectorUi); + var coilNameDropdown = root.Q("coil-name"); + var coilNameProp = serializedObject.FindProperty("_coilName"); + var availableCoils = GetAvailableCoils(); + ConfigureDropdown(coilNameDropdown, coilNameProp, availableCoils); + return root; + } + + private Dictionary GetAvailableCoils() + { + if (target != null && + target is Component && + (target as Component).TryGetComponent(out var coilDevice)) + return coilDevice.AvailableCoils.ToDictionary(i => i.Id, + i => string.IsNullOrWhiteSpace(i.Description) ? i.Id : i.Description); + return new(); + } + } +} diff --git a/VisualPinball.Unity/VisualPinball.Unity.Editor/Sound/CoilSoundComponentInspector.cs.meta b/VisualPinball.Unity/VisualPinball.Unity.Editor/Sound/CoilSoundComponentInspector.cs.meta new file mode 100644 index 000000000..515550dac --- /dev/null +++ b/VisualPinball.Unity/VisualPinball.Unity.Editor/Sound/CoilSoundComponentInspector.cs.meta @@ -0,0 +1,13 @@ +fileFormatVersion: 2 +guid: efd14260f42063e4aadba8b265bad210 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: + - inspectorXml: {fileID: 9197481963319205126, guid: 2e43810c575be6d46ae19bed7c1b38bd, + type: 3} + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/VisualPinball.Unity/VisualPinball.Unity.Editor/Sound/CoilSoundComponentInspector.uxml b/VisualPinball.Unity/VisualPinball.Unity.Editor/Sound/CoilSoundComponentInspector.uxml new file mode 100644 index 000000000..775c7858f --- /dev/null +++ b/VisualPinball.Unity/VisualPinball.Unity.Editor/Sound/CoilSoundComponentInspector.uxml @@ -0,0 +1,3 @@ + + + diff --git a/VisualPinball.Unity/VisualPinball.Unity.Editor/Sound/CoilSoundComponentInspector.uxml.meta b/VisualPinball.Unity/VisualPinball.Unity.Editor/Sound/CoilSoundComponentInspector.uxml.meta new file mode 100644 index 000000000..091b39d53 --- /dev/null +++ b/VisualPinball.Unity/VisualPinball.Unity.Editor/Sound/CoilSoundComponentInspector.uxml.meta @@ -0,0 +1,10 @@ +fileFormatVersion: 2 +guid: 2e43810c575be6d46ae19bed7c1b38bd +ScriptedImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 2 + userData: + assetBundleName: + assetBundleVariant: + script: {fileID: 13804, guid: 0000000000000000e000000000000000, type: 0} diff --git a/VisualPinball.Unity/VisualPinball.Unity.Editor/Sound/SoundAssetInspector.cs b/VisualPinball.Unity/VisualPinball.Unity.Editor/Sound/SoundAssetInspector.cs new file mode 100644 index 000000000..e162f53c7 --- /dev/null +++ b/VisualPinball.Unity/VisualPinball.Unity.Editor/Sound/SoundAssetInspector.cs @@ -0,0 +1,103 @@ +// Visual Pinball Engine +// Copyright (C) 2023 freezy and VPE Team +// +// This program is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program. If not, see . + +using System; +using System.Threading; +using UnityEditor; +using UnityEngine.UIElements; +using UnityEngine; +using UnityEditor.UIElements; + +namespace VisualPinball.Unity.Editor +{ + [CustomEditor(typeof(SoundAsset)), CanEditMultipleObjects] + public class SoundAssetInspector : UnityEditor.Editor + { + private CancellationTokenSource _allowFadeCts; + private CancellationTokenSource _instantCts; + + [SerializeField] + private VisualTreeAsset _inspectorXml; + + private Button _playButton; + + public override VisualElement CreateInspectorGUI() + { + var ui = _inspectorXml.Instantiate(); + _playButton = ui.Q