diff --git a/Assets/AddressableAssetsData/AddressableAssetSettings.asset b/Assets/AddressableAssetsData/AddressableAssetSettings.asset index d626f909..f22c587a 100644 --- a/Assets/AddressableAssetsData/AddressableAssetSettings.asset +++ b/Assets/AddressableAssetsData/AddressableAssetSettings.asset @@ -33,6 +33,7 @@ MonoBehaviour: m_UniqueBundleIds: 0 m_EnableJsonCatalog: 0 m_NonRecursiveBuilding: 1 + m_AllowNestedBundleFolders: 0 m_CCDEnabled: 0 m_maxConcurrentWebRequests: 3 m_UseUWRForLocalBundles: 0 diff --git a/Assets/Art/Textures/speech-bubble.png b/Assets/Art/Textures/speech-bubble.png new file mode 100644 index 00000000..9aacdd1a Binary files /dev/null and b/Assets/Art/Textures/speech-bubble.png differ diff --git a/Assets/Art/Textures/speech-bubble.png.meta b/Assets/Art/Textures/speech-bubble.png.meta new file mode 100644 index 00000000..782bbf85 --- /dev/null +++ b/Assets/Art/Textures/speech-bubble.png.meta @@ -0,0 +1,195 @@ +fileFormatVersion: 2 +guid: 5710afcaa2eca3d41b7fc78d09652325 +TextureImporter: + internalIDToNameTable: + - first: + 213: -904705141413079607 + second: speech-bubble_0 + 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: 0 + aniso: 1 + mipBias: 0 + wrapU: 1 + wrapV: 1 + wrapW: 1 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 2 + spriteExtrude: 1 + spriteMeshType: 0 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 150 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + swizzle: 50462976 + cookieLightType: 0 + platformSettings: + - serializedVersion: 4 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 0 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 4 + buildTarget: iOS + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 4 + buildTarget: Android + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 4 + 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 + - serializedVersion: 4 + buildTarget: WebGL + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 4 + buildTarget: WindowsStoreApps + 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: + - serializedVersion: 2 + name: speech-bubble_0 + rect: + serializedVersion: 2 + x: 0 + y: 0 + width: 512 + height: 448 + alignment: 0 + pivot: {x: 0.5, y: 0.5} + border: {x: 226, y: 214, z: 108, w: 113} + customData: + outline: [] + physicsShape: [] + tessellationDetail: -1 + bones: [] + spriteID: 9c59a9b9777d173f0800000000000000 + internalID: -904705141413079607 + vertices: [] + indices: + edges: [] + weights: [] + outline: [] + customData: + physicsShape: [] + bones: [] + spriteID: 2849bb51a2d7abc429687074167fe10b + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spriteCustomMetadata: + entries: [] + nameFileIdTable: + speech-bubble_0: -904705141413079607 + mipmapLimitGroupName: + pSDRemoveMatte: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Art/Textures/speech-bubble_center.png b/Assets/Art/Textures/speech-bubble_center.png new file mode 100644 index 00000000..6bac2da9 Binary files /dev/null and b/Assets/Art/Textures/speech-bubble_center.png differ diff --git a/Assets/Art/Textures/speech-bubble_center.png.meta b/Assets/Art/Textures/speech-bubble_center.png.meta new file mode 100644 index 00000000..06e2728e --- /dev/null +++ b/Assets/Art/Textures/speech-bubble_center.png.meta @@ -0,0 +1,199 @@ +fileFormatVersion: 2 +guid: 3cfebe1146602564a9463576fe6733c7 +TextureImporter: + internalIDToNameTable: + - first: + 213: -6459633687583972061 + second: speech-bubble_center_0 + - first: + 213: -5995225428019282101 + second: speech-bubble_center_1 + 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: 1 + aniso: 1 + mipBias: 0 + wrapU: 1 + wrapV: 1 + wrapW: 1 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 2 + 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: 8 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + swizzle: 50462976 + cookieLightType: 0 + platformSettings: + - serializedVersion: 4 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 4 + buildTarget: iOS + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 4 + buildTarget: Android + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 4 + 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 + - serializedVersion: 4 + buildTarget: WebGL + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 4 + buildTarget: WindowsStoreApps + 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: + - serializedVersion: 2 + name: speech-bubble_center_0 + rect: + serializedVersion: 2 + x: 0 + y: 0 + width: 180 + height: 448 + alignment: 0 + pivot: {x: 0.5, y: 0.5} + border: {x: 0, y: 0, z: 0, w: 0} + customData: + outline: [] + physicsShape: [] + tessellationDetail: -1 + bones: [] + spriteID: 3252960c265ca56a0800000000000000 + internalID: -6459633687583972061 + vertices: [] + indices: + edges: [] + weights: [] + outline: [] + customData: + physicsShape: [] + bones: [] + spriteID: 838ff140a9428f340b4e308347f87ae8 + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spriteCustomMetadata: + entries: [] + nameFileIdTable: + speech-bubble_center_0: -6459633687583972061 + speech-bubble_center_1: -5995225428019282101 + mipmapLimitGroupName: + pSDRemoveMatte: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Art/Textures/speech-bubble_left.png b/Assets/Art/Textures/speech-bubble_left.png new file mode 100644 index 00000000..d840177d Binary files /dev/null and b/Assets/Art/Textures/speech-bubble_left.png differ diff --git a/Assets/Art/Textures/speech-bubble_left.png.meta b/Assets/Art/Textures/speech-bubble_left.png.meta new file mode 100644 index 00000000..48f0b3ea --- /dev/null +++ b/Assets/Art/Textures/speech-bubble_left.png.meta @@ -0,0 +1,195 @@ +fileFormatVersion: 2 +guid: 83d5897ff7c9116418dce90c851b4461 +TextureImporter: + internalIDToNameTable: + - first: + 213: 2143206892153291730 + second: speech-bubble_left_0 + 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: 1 + aniso: 1 + mipBias: 0 + wrapU: 1 + wrapV: 1 + wrapW: 1 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 2 + 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: 8 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + swizzle: 50462976 + cookieLightType: 0 + platformSettings: + - serializedVersion: 4 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 4 + buildTarget: iOS + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 4 + buildTarget: Android + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 4 + 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 + - serializedVersion: 4 + buildTarget: WebGL + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 4 + buildTarget: WindowsStoreApps + 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: + - serializedVersion: 2 + name: speech-bubble_left_0 + rect: + serializedVersion: 2 + x: 0 + y: 0 + width: 215 + height: 448 + alignment: 0 + pivot: {x: 0, y: 0} + border: {x: 0, y: 0, z: 0, w: 0} + customData: + outline: [] + physicsShape: [] + tessellationDetail: -1 + bones: [] + spriteID: 2d347fe20533ebd10800000000000000 + internalID: 2143206892153291730 + vertices: [] + indices: + edges: [] + weights: [] + outline: [] + customData: + physicsShape: [] + bones: [] + spriteID: + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spriteCustomMetadata: + entries: [] + nameFileIdTable: + speech-bubble_left_0: 2143206892153291730 + mipmapLimitGroupName: + pSDRemoveMatte: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Art/Textures/speech-bubble_right.png b/Assets/Art/Textures/speech-bubble_right.png new file mode 100644 index 00000000..f1fb97f6 Binary files /dev/null and b/Assets/Art/Textures/speech-bubble_right.png differ diff --git a/Assets/Art/Textures/speech-bubble_right.png.meta b/Assets/Art/Textures/speech-bubble_right.png.meta new file mode 100644 index 00000000..dfee00ab --- /dev/null +++ b/Assets/Art/Textures/speech-bubble_right.png.meta @@ -0,0 +1,195 @@ +fileFormatVersion: 2 +guid: ac12e46a3dca59a41b6360ee8f6a3436 +TextureImporter: + internalIDToNameTable: + - first: + 213: -4795152594095387184 + second: speech-bubble_right_0 + 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: 1 + aniso: 1 + mipBias: 0 + wrapU: 1 + wrapV: 1 + wrapW: 1 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 2 + 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: 8 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + swizzle: 50462976 + cookieLightType: 0 + platformSettings: + - serializedVersion: 4 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 4 + buildTarget: iOS + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 4 + buildTarget: Android + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 4 + 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 + - serializedVersion: 4 + buildTarget: WebGL + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 4 + buildTarget: WindowsStoreApps + 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: + - serializedVersion: 2 + name: speech-bubble_right_0 + rect: + serializedVersion: 2 + x: 0 + y: 0 + width: 117 + height: 448 + alignment: 0 + pivot: {x: 0.5, y: 0.5} + border: {x: 0, y: 0, z: 0, w: 0} + customData: + outline: [] + physicsShape: [] + tessellationDetail: -1 + bones: [] + spriteID: 0ddc6291f12347db0800000000000000 + internalID: -4795152594095387184 + vertices: [] + indices: + edges: [] + weights: [] + outline: [] + customData: + physicsShape: [] + bones: [] + spriteID: 810a25e6bcfa09a4faa2e3e1189eb926 + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spriteCustomMetadata: + entries: [] + nameFileIdTable: + speech-bubble_right_0: -4795152594095387184 + mipmapLimitGroupName: + pSDRemoveMatte: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Dialogue/TestAssDialogue.dialoguegraph b/Assets/Dialogue/TestAssDialogue.dialoguegraph new file mode 100644 index 00000000..d7d6bb08 --- /dev/null +++ b/Assets/Dialogue/TestAssDialogue.dialoguegraph @@ -0,0 +1,620 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!114 &1 +MonoBehaviour: + m_ObjectHideFlags: 61 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 790b4d75d92f4b0984310a268dbd952f, type: 3} + m_Name: TestAssDialogue + m_EditorClassIdentifier: Unity.GraphToolkit.Editor::Unity.GraphToolkit.Editor.Implementation.GraphObjectImp + m_GraphModel: + rid: 1226592702090707066 + references: + version: 2 + RefIds: + - rid: -2 + type: {class: , ns: , asm: } + - rid: 1226592702090707066 + type: {class: GraphModelImp, ns: Unity.GraphToolkit.Editor.Implementation, asm: Unity.GraphToolkit.Editor} + data: + m_Guid: + m_Value0: 2259522898474679592 + m_Value1: 11609044999732117745 + m_HashGuid: + serializedVersion: 2 + Hash: 28bd71cd1a705b1ff1c08e7eeb9c1ba1 + m_Name: + m_GraphNodeModels: + - rid: 1226592702090707069 + - rid: 1226592702090707072 + - rid: 1226592702090707076 + - rid: 1226592702090707083 + - rid: 1226592702090707099 + m_GraphWireModels: + - rid: 1226592702090707073 + - rid: 1226592702090707082 + - rid: 1226592702090707090 + - rid: 1226592702090707105 + m_GraphStickyNoteModels: [] + m_GraphPlacematModels: [] + m_GraphVariableModels: + - rid: 1226592702090707074 + m_GraphPortalModels: [] + m_SectionModels: + - rid: 1226592702090707067 + m_LocalSubgraphs: [] + m_LastKnownBounds: + serializedVersion: 2 + x: 114 + y: 142 + width: 1607 + height: 264 + m_GraphElementMetaData: + - m_Guid: + m_Value0: 15250916379536742066 + m_Value1: 17346962558133532941 + m_HashGuid: + serializedVersion: 2 + Hash: b25679f5a423a6d30df98cd989cabcf0 + m_Category: 0 + m_Index: 0 + - m_Guid: + m_Value0: 465874820947919733 + m_Value1: 3554350146094723033 + m_HashGuid: + serializedVersion: 2 + Hash: 7543666cae1e7706d96f5549a0965331 + m_Category: 1 + m_Index: 0 + - m_Guid: + m_Value0: 8518571524266202444 + m_Value1: 870947438692152166 + m_HashGuid: + serializedVersion: 2 + Hash: 4c15a501ab0b3876663348bd143a160c + m_Category: 0 + m_Index: 1 + - m_Guid: + m_Value0: 13599120533444130303 + m_Value1: 886478224242702196 + m_HashGuid: + serializedVersion: 2 + Hash: ff75a8ed12c8b9bc74f71a893f674d0c + m_Category: 2 + m_Index: 0 + - m_Guid: + m_Value0: 12356582377167512931 + m_Value1: 11055662649561338823 + m_HashGuid: + serializedVersion: 2 + Hash: 63e5eb3c34667babc753a8b79a9a6d99 + m_Category: 0 + m_Index: 2 + - m_Guid: + m_Value0: 11180679055025293089 + m_Value1: 14934977483942763567 + m_HashGuid: + serializedVersion: 2 + Hash: 21c76ede5cc0299b2f9cdd8ae4b243cf + m_Category: 2 + m_Index: 1 + - m_Guid: + m_Value0: 14145255065942267864 + m_Value1: 863349323228051189 + m_HashGuid: + serializedVersion: 2 + Hash: d897c8a6890a4ec4f5f614a0a23bfb0b + m_Category: 0 + m_Index: 3 + - m_Guid: + m_Value0: 7032725643411086001 + m_Value1: 16529685897817343767 + m_HashGuid: + serializedVersion: 2 + Hash: b15a4c32b642996117c72ffcbe3d65e5 + m_Category: 2 + m_Index: 2 + - m_Guid: + m_Value0: 8076963752207217979 + m_Value1: 14098062078374966352 + m_HashGuid: + serializedVersion: 2 + Hash: 3b750432bd23177050f4f1fac360a6c3 + m_Category: 0 + m_Index: 4 + - m_Guid: + m_Value0: 16820798166520880538 + m_Value1: 10664812398321416326 + m_HashGuid: + serializedVersion: 2 + Hash: 9add04e2cf7a6fe9863821265f060194 + m_Category: 2 + m_Index: 3 + m_EntryPoint: + rid: 1226592702090707069 + m_Graph: + rid: 1226592702090707068 + - rid: 1226592702090707067 + type: {class: SectionModel, ns: Unity.GraphToolkit.Editor, asm: Unity.GraphToolkit.Internal.Editor} + data: + m_Guid: + m_Value0: 11356251215399279201 + m_Value1: 4158925715928791705 + m_HashGuid: + serializedVersion: 2 + Hash: 61daf8f94f82999d993a2c59e778b739 + m_Version: 2 + m_Items: + - rid: 1226592702090707074 + m_Title: + - rid: 1226592702090707068 + type: {class: DialogueGraph, ns: Editor.Dialogue, asm: AppleHillsEditor} + data: + - rid: 1226592702090707069 + type: {class: UserNodeModelImp, ns: Unity.GraphToolkit.Editor.Implementation, asm: Unity.GraphToolkit.Editor} + data: + m_Guid: + m_Value0: 15250916379536742066 + m_Value1: 17346962558133532941 + m_HashGuid: + serializedVersion: 2 + Hash: b25679f5a423a6d30df98cd989cabcf0 + m_Version: 2 + m_Position: {x: 296.3173, y: 226.21538} + m_Title: + m_Tooltip: + m_NodePreviewModel: + rid: -2 + m_State: 0 + m_InputConstantsById: + m_KeyList: + - SpeakerName + m_ValueList: + - rid: 1226592702090707070 + m_InputPortInfos: + expandedPortsById: + m_KeyList: [] + m_ValueList: + m_OutputPortInfos: + expandedPortsById: + m_KeyList: [] + m_ValueList: + m_Collapsed: 0 + m_CurrentModeIndex: 0 + m_ElementColor: + m_Color: {r: 0, g: 0, b: 0, a: 0} + m_HasUserColor: 0 + m_Node: + rid: 1226592702090707071 + - rid: 1226592702090707070 + type: {class: 'Constant`1[[System.String, mscorlib]]', ns: Unity.GraphToolkit.Editor, asm: Unity.GraphToolkit.Internal.Editor} + data: + m_Value: + - rid: 1226592702090707071 + type: {class: StartNode, ns: Editor.Dialogue, asm: AppleHillsEditor} + data: + - rid: 1226592702090707072 + type: {class: VariableNodeModelImp, ns: Unity.GraphToolkit.Editor.Implementation, asm: Unity.GraphToolkit.Editor} + data: + m_Guid: + m_Value0: 8518571524266202444 + m_Value1: 870947438692152166 + m_HashGuid: + serializedVersion: 2 + Hash: 4c15a501ab0b3876663348bd143a160c + m_Version: 2 + m_Position: {x: 113.822235, y: 347.9215} + m_Title: SpeakerName + m_Tooltip: + m_NodePreviewModel: + rid: -2 + m_State: 0 + m_InputConstantsById: + m_KeyList: [] + m_ValueList: [] + m_InputPortInfos: + expandedPortsById: + m_KeyList: [] + m_ValueList: + m_OutputPortInfos: + expandedPortsById: + m_KeyList: [] + m_ValueList: + m_Collapsed: 0 + m_CurrentModeIndex: 0 + m_ElementColor: + m_Color: {r: 0, g: 0, b: 0, a: 0} + m_HasUserColor: 0 + m_DeclarationModel: + rid: 1226592702090707074 + m_DeclarationModelHashGuid: + serializedVersion: 2 + Hash: 7543666cae1e7706d96f5549a0965331 + - rid: 1226592702090707073 + type: {class: WireModel, ns: Unity.GraphToolkit.Editor, asm: Unity.GraphToolkit.Internal.Editor} + data: + m_Guid: + m_Value0: 13599120533444130303 + m_Value1: 886478224242702196 + m_HashGuid: + serializedVersion: 2 + Hash: ff75a8ed12c8b9bc74f71a893f674d0c + m_Version: 2 + m_FromPortReference: + m_NodeModelGuid: + m_Value0: 8518571524266202444 + m_Value1: 870947438692152166 + m_NodeModelHashGuid: + serializedVersion: 2 + Hash: 4c15a501ab0b3876663348bd143a160c + m_UniqueId: MainPortName + m_PortDirection: 2 + m_PortOrientation: 0 + m_Title: MainPortName + m_ToPortReference: + m_NodeModelGuid: + m_Value0: 15250916379536742066 + m_Value1: 17346962558133532941 + m_NodeModelHashGuid: + serializedVersion: 2 + Hash: b25679f5a423a6d30df98cd989cabcf0 + m_UniqueId: SpeakerName + m_PortDirection: 1 + m_PortOrientation: 0 + m_Title: SpeakerName + - rid: 1226592702090707074 + type: {class: VariableDeclarationModel, ns: Unity.GraphToolkit.Editor, asm: Unity.GraphToolkit.Internal.Editor} + data: + m_Guid: + m_Value0: 465874820947919733 + m_Value1: 3554350146094723033 + m_HashGuid: + serializedVersion: 2 + Hash: 7543666cae1e7706d96f5549a0965331 + m_Version: 2 + m_Name: SpeakerName + m_UniqueId: + m_DataType: + m_Identification: System.String, System.Private.CoreLib, Version=4.0.0.0, + Culture=neutral, PublicKeyToken=b77a5c561934e089 + m_IsExposed: 0 + m_Scope: 0 + m_ShowOnInspectorOnly: 0 + m_Tooltip: + m_InitializationValue: + rid: 1226592702090707075 + m_Modifiers: 0 + m_VariableFlags: 0 + - rid: 1226592702090707075 + type: {class: 'Constant`1[[System.String, mscorlib]]', ns: Unity.GraphToolkit.Editor, asm: Unity.GraphToolkit.Internal.Editor} + data: + m_Value: Weirdo + - rid: 1226592702090707076 + type: {class: UserNodeModelImp, ns: Unity.GraphToolkit.Editor.Implementation, asm: Unity.GraphToolkit.Editor} + data: + m_Guid: + m_Value0: 12356582377167512931 + m_Value1: 11055662649561338823 + m_HashGuid: + serializedVersion: 2 + Hash: 63e5eb3c34667babc753a8b79a9a6d99 + m_Version: 2 + m_Position: {x: 513.6555, y: 168.80977} + m_Title: + m_Tooltip: + m_NodePreviewModel: + rid: -2 + m_State: 0 + m_InputConstantsById: + m_KeyList: + - __option_DialogueLineType + - __option_NoLines + - DefaultDialogueLine + - LoopThroughDefaultLines + m_ValueList: + - rid: 1226592702090707077 + - rid: 1226592702090707078 + - rid: 1226592702090707079 + - rid: 1226592702090707080 + m_InputPortInfos: + expandedPortsById: + m_KeyList: [] + m_ValueList: + m_OutputPortInfos: + expandedPortsById: + m_KeyList: [] + m_ValueList: + m_Collapsed: 0 + m_CurrentModeIndex: 0 + m_ElementColor: + m_Color: {r: 0, g: 0, b: 0, a: 0} + m_HasUserColor: 0 + m_Node: + rid: 1226592702090707081 + - rid: 1226592702090707077 + type: {class: EnumConstant, ns: Unity.GraphToolkit.Editor, asm: Unity.GraphToolkit.Internal.Editor} + data: + m_Value: + m_EnumType: + m_Identification: Editor.Dialogue.DialogueType, AppleHillsEditor, Version=0.0.0.0, + Culture=neutral, PublicKeyToken=null + m_Value: 0 + m_EnumType: + m_Identification: Editor.Dialogue.DialogueType, AppleHillsEditor, Version=0.0.0.0, + Culture=neutral, PublicKeyToken=null + - rid: 1226592702090707078 + type: {class: 'Constant`1[[System.Int32, mscorlib]]', ns: Unity.GraphToolkit.Editor, asm: Unity.GraphToolkit.Internal.Editor} + data: + m_Value: 1 + - rid: 1226592702090707079 + type: {class: 'Constant`1[[System.String, mscorlib]]', ns: Unity.GraphToolkit.Editor, asm: Unity.GraphToolkit.Internal.Editor} + data: + m_Value: Psst boy... Why don't you pick up THAT ASS over there? + - rid: 1226592702090707080 + type: {class: 'Constant`1[[System.Boolean, mscorlib]]', ns: Unity.GraphToolkit.Editor, asm: Unity.GraphToolkit.Internal.Editor} + data: + m_Value: 0 + - rid: 1226592702090707081 + type: {class: DialogueNode, ns: Editor.Dialogue, asm: AppleHillsEditor} + data: + - rid: 1226592702090707082 + type: {class: WireModel, ns: Unity.GraphToolkit.Editor, asm: Unity.GraphToolkit.Internal.Editor} + data: + m_Guid: + m_Value0: 11180679055025293089 + m_Value1: 14934977483942763567 + m_HashGuid: + serializedVersion: 2 + Hash: 21c76ede5cc0299b2f9cdd8ae4b243cf + m_Version: 2 + m_FromPortReference: + m_NodeModelGuid: + m_Value0: 15250916379536742066 + m_Value1: 17346962558133532941 + m_NodeModelHashGuid: + serializedVersion: 2 + Hash: b25679f5a423a6d30df98cd989cabcf0 + m_UniqueId: out + m_PortDirection: 2 + m_PortOrientation: 0 + m_Title: out + m_ToPortReference: + m_NodeModelGuid: + m_Value0: 12356582377167512931 + m_Value1: 11055662649561338823 + m_NodeModelHashGuid: + serializedVersion: 2 + Hash: 63e5eb3c34667babc753a8b79a9a6d99 + m_UniqueId: in + m_PortDirection: 1 + m_PortOrientation: 0 + m_Title: in + - rid: 1226592702090707083 + type: {class: UserNodeModelImp, ns: Unity.GraphToolkit.Editor.Implementation, asm: Unity.GraphToolkit.Editor} + data: + m_Guid: + m_Value0: 14145255065942267864 + m_Value1: 863349323228051189 + m_HashGuid: + serializedVersion: 2 + Hash: d897c8a6890a4ec4f5f614a0a23bfb0b + m_Version: 2 + m_Position: {x: 906.1956, y: 144.21957} + m_Title: + m_Tooltip: + m_NodePreviewModel: + rid: -2 + m_State: 0 + m_InputConstantsById: + m_KeyList: + - __option_DialogueLineType + - __option_NoLines + - RequiredPickup + - DefaultDialogueLine2 + - LoopThroughDefaultLines + - DefaultDialogueLine1 + - DefaultDialogueLine3 + m_ValueList: + - rid: 1226592702090707084 + - rid: 1226592702090707085 + - rid: 1226592702090707086 + - rid: 1226592702090707092 + - rid: 1226592702090707088 + - rid: 1226592702090707091 + - rid: 1226592702090707093 + m_InputPortInfos: + expandedPortsById: + m_KeyList: [] + m_ValueList: + m_OutputPortInfos: + expandedPortsById: + m_KeyList: [] + m_ValueList: + m_Collapsed: 0 + m_CurrentModeIndex: 0 + m_ElementColor: + m_Color: {r: 0, g: 0, b: 0, a: 0} + m_HasUserColor: 0 + m_Node: + rid: 1226592702090707089 + - rid: 1226592702090707084 + type: {class: EnumConstant, ns: Unity.GraphToolkit.Editor, asm: Unity.GraphToolkit.Internal.Editor} + data: + m_Value: + m_EnumType: + m_Identification: Editor.Dialogue.DialogueType, AppleHillsEditor, Version=0.0.0.0, + Culture=neutral, PublicKeyToken=null + m_Value: 1 + m_EnumType: + m_Identification: Editor.Dialogue.DialogueType, AppleHillsEditor, Version=0.0.0.0, + Culture=neutral, PublicKeyToken=null + - rid: 1226592702090707085 + type: {class: 'Constant`1[[System.Int32, mscorlib]]', ns: Unity.GraphToolkit.Editor, asm: Unity.GraphToolkit.Internal.Editor} + data: + m_Value: 3 + - rid: 1226592702090707086 + type: {class: 'Constant`1[[PickupItemData, AppleHillsScripts]]', ns: Unity.GraphToolkit.Editor, asm: Unity.GraphToolkit.Internal.Editor} + data: + m_Value: {fileID: 11400000, guid: 33e7ca06b22108d4e802486e08bcdfd1, type: 2} + - rid: 1226592702090707088 + type: {class: 'Constant`1[[System.Boolean, mscorlib]]', ns: Unity.GraphToolkit.Editor, asm: Unity.GraphToolkit.Internal.Editor} + data: + m_Value: 0 + - rid: 1226592702090707089 + type: {class: WaitOnPickup, ns: Editor.Dialogue, asm: AppleHillsEditor} + data: + - rid: 1226592702090707090 + type: {class: WireModel, ns: Unity.GraphToolkit.Editor, asm: Unity.GraphToolkit.Internal.Editor} + data: + m_Guid: + m_Value0: 7032725643411086001 + m_Value1: 16529685897817343767 + m_HashGuid: + serializedVersion: 2 + Hash: b15a4c32b642996117c72ffcbe3d65e5 + m_Version: 2 + m_FromPortReference: + m_NodeModelGuid: + m_Value0: 12356582377167512931 + m_Value1: 11055662649561338823 + m_NodeModelHashGuid: + serializedVersion: 2 + Hash: 63e5eb3c34667babc753a8b79a9a6d99 + m_UniqueId: out + m_PortDirection: 2 + m_PortOrientation: 0 + m_Title: out + m_ToPortReference: + m_NodeModelGuid: + m_Value0: 14145255065942267864 + m_Value1: 863349323228051189 + m_NodeModelHashGuid: + serializedVersion: 2 + Hash: d897c8a6890a4ec4f5f614a0a23bfb0b + m_UniqueId: in + m_PortDirection: 1 + m_PortOrientation: 0 + m_Title: in + - rid: 1226592702090707091 + type: {class: 'Constant`1[[System.String, mscorlib]]', ns: Unity.GraphToolkit.Editor, asm: Unity.GraphToolkit.Internal.Editor} + data: + m_Value: I said pick it up! + - rid: 1226592702090707092 + type: {class: 'Constant`1[[System.String, mscorlib]]', ns: Unity.GraphToolkit.Editor, asm: Unity.GraphToolkit.Internal.Editor} + data: + m_Value: Cmon, don't be like this! + - rid: 1226592702090707093 + type: {class: 'Constant`1[[System.String, mscorlib]]', ns: Unity.GraphToolkit.Editor, asm: Unity.GraphToolkit.Internal.Editor} + data: + m_Value: The ass is waiting there for you! + - rid: 1226592702090707099 + type: {class: UserNodeModelImp, ns: Unity.GraphToolkit.Editor.Implementation, asm: Unity.GraphToolkit.Editor} + data: + m_Guid: + m_Value0: 8076963752207217979 + m_Value1: 14098062078374966352 + m_HashGuid: + serializedVersion: 2 + Hash: 3b750432bd23177050f4f1fac360a6c3 + m_Version: 2 + m_Position: {x: 1376.4679, y: 141.66953} + m_Title: DialogueNode + m_Tooltip: + m_NodePreviewModel: + rid: -2 + m_State: 0 + m_InputConstantsById: + m_KeyList: + - __option_DialogueLineType + - __option_NoLines + - LoopThroughDefaultLines + - DefaultDialogueLine1 + - DefaultDialogueLine2 + m_ValueList: + - rid: 1226592702090707100 + - rid: 1226592702090707101 + - rid: 1226592702090707103 + - rid: 1226592702090707106 + - rid: 1226592702090707107 + m_InputPortInfos: + expandedPortsById: + m_KeyList: [] + m_ValueList: + m_OutputPortInfos: + expandedPortsById: + m_KeyList: [] + m_ValueList: + m_Collapsed: 0 + m_CurrentModeIndex: 0 + m_ElementColor: + m_Color: {r: 0, g: 0, b: 0, a: 0} + m_HasUserColor: 0 + m_Node: + rid: 1226592702090707104 + - rid: 1226592702090707100 + type: {class: EnumConstant, ns: Unity.GraphToolkit.Editor, asm: Unity.GraphToolkit.Internal.Editor} + data: + m_Value: + m_EnumType: + m_Identification: Editor.Dialogue.DialogueType, AppleHillsEditor, Version=0.0.0.0, + Culture=neutral, PublicKeyToken=null + m_Value: 1 + m_EnumType: + m_Identification: Editor.Dialogue.DialogueType, AppleHillsEditor, Version=0.0.0.0, + Culture=neutral, PublicKeyToken=null + - rid: 1226592702090707101 + type: {class: 'Constant`1[[System.Int32, mscorlib]]', ns: Unity.GraphToolkit.Editor, asm: Unity.GraphToolkit.Internal.Editor} + data: + m_Value: 2 + - rid: 1226592702090707103 + type: {class: 'Constant`1[[System.Boolean, mscorlib]]', ns: Unity.GraphToolkit.Editor, asm: Unity.GraphToolkit.Internal.Editor} + data: + m_Value: 0 + - rid: 1226592702090707104 + type: {class: DialogueNode, ns: Editor.Dialogue, asm: AppleHillsEditor} + data: + - rid: 1226592702090707105 + type: {class: WireModel, ns: Unity.GraphToolkit.Editor, asm: Unity.GraphToolkit.Internal.Editor} + data: + m_Guid: + m_Value0: 16820798166520880538 + m_Value1: 10664812398321416326 + m_HashGuid: + serializedVersion: 2 + Hash: 9add04e2cf7a6fe9863821265f060194 + m_Version: 2 + m_FromPortReference: + m_NodeModelGuid: + m_Value0: 14145255065942267864 + m_Value1: 863349323228051189 + m_NodeModelHashGuid: + serializedVersion: 2 + Hash: d897c8a6890a4ec4f5f614a0a23bfb0b + m_UniqueId: out + m_PortDirection: 2 + m_PortOrientation: 0 + m_Title: out + m_ToPortReference: + m_NodeModelGuid: + m_Value0: 8076963752207217979 + m_Value1: 14098062078374966352 + m_NodeModelHashGuid: + serializedVersion: 2 + Hash: 3b750432bd23177050f4f1fac360a6c3 + m_UniqueId: in + m_PortDirection: 1 + m_PortOrientation: 0 + m_Title: in + - rid: 1226592702090707106 + type: {class: 'Constant`1[[System.String, mscorlib]]', ns: Unity.GraphToolkit.Editor, asm: Unity.GraphToolkit.Internal.Editor} + data: + m_Value: Ohhhh yeah, that's the stuff. + - rid: 1226592702090707107 + type: {class: 'Constant`1[[System.String, mscorlib]]', ns: Unity.GraphToolkit.Editor, asm: Unity.GraphToolkit.Internal.Editor} + data: + m_Value: Now, go on, chop it! diff --git a/Assets/Dialogue/TestAssDialogue.dialoguegraph.meta b/Assets/Dialogue/TestAssDialogue.dialoguegraph.meta new file mode 100644 index 00000000..5c51332b --- /dev/null +++ b/Assets/Dialogue/TestAssDialogue.dialoguegraph.meta @@ -0,0 +1,10 @@ +fileFormatVersion: 2 +guid: 032495bac2b5aca4396a0a07774c8a57 +ScriptedImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 2 + userData: + assetBundleName: + assetBundleVariant: + script: {fileID: 11500000, guid: a2334d3ee5254a2bbcb316035c681b27, type: 3} diff --git a/Assets/Dialogue/TestDialogue.dialoguegraph b/Assets/Dialogue/TestDialogue.dialoguegraph index 04e171cd..d19ef314 100644 --- a/Assets/Dialogue/TestDialogue.dialoguegraph +++ b/Assets/Dialogue/TestDialogue.dialoguegraph @@ -36,12 +36,14 @@ MonoBehaviour: - rid: 1219994508087787764 - rid: 1219994508087787770 - rid: 1219994508087787776 + - rid: 1226592702090706949 m_GraphWireModels: - rid: 1219994508087787755 - rid: 1219994508087787773 - rid: 1219994508087787779 - - rid: 1219994508087787780 - rid: 1219994508087787813 + - rid: 1226592702090706955 + - rid: 1226592702090706956 m_GraphStickyNoteModels: [] m_GraphPlacematModels: [] m_GraphVariableModels: @@ -52,10 +54,10 @@ MonoBehaviour: m_LocalSubgraphs: [] m_LastKnownBounds: serializedVersion: 2 - x: 123 + x: 128 y: -65 - width: 1698 - height: 244 + width: 2055 + height: 243 m_GraphElementMetaData: - m_Guid: m_Value0: 13346176596883742728 @@ -137,14 +139,6 @@ MonoBehaviour: Hash: ddfc297db310188ed2f7f768fc2219e9 m_Category: 2 m_Index: 2 - - m_Guid: - m_Value0: 10375816761084646535 - m_Value1: 15824079162718769611 - m_HashGuid: - serializedVersion: 2 - Hash: 8794feea5e4efe8fcb5183af286c9adb - m_Category: 2 - m_Index: 3 - m_Guid: m_Value0: 10491986159911335451 m_Value1: 18287880145942505208 @@ -152,7 +146,31 @@ MonoBehaviour: serializedVersion: 2 Hash: 1b76d4d1d2059b91f866d271199acbfd m_Category: 2 + m_Index: 3 + - m_Guid: + m_Value0: 3534792673092891566 + m_Value1: 6472493350207860515 + m_HashGuid: + serializedVersion: 2 + Hash: aef35a42351b0e3123af37c668ead259 + m_Category: 0 + m_Index: 6 + - m_Guid: + m_Value0: 1069232297653548642 + m_Value1: 12871763382231758094 + m_HashGuid: + serializedVersion: 2 + Hash: 62b603141cadd60e0ef5cd3e99b0a1b2 + m_Category: 2 m_Index: 4 + - m_Guid: + m_Value0: 6652862542851746443 + m_Value1: 1010545699289270970 + m_HashGuid: + serializedVersion: 2 + Hash: 8b2a2efe3bb7535cba8a6f9bf52d060e + m_Category: 2 + m_Index: 5 m_EntryPoint: rid: 1219994508087787747 m_Graph: @@ -222,7 +240,7 @@ MonoBehaviour: serializedVersion: 2 Hash: be46cc430316f2042ae9853a1220f241 m_Version: 2 - m_Position: {x: 1707.9503, y: -59.602116} + m_Position: {x: 2070.2, y: 1.3479004} m_Title: m_Tooltip: m_NodePreviewModel: @@ -363,7 +381,7 @@ MonoBehaviour: serializedVersion: 2 Hash: 85d948457f20a43a3e0d65b11e3e1a96 m_Version: 2 - m_Position: {x: 123.485, y: -64.61} + m_Position: {x: 128.085, y: -12.860001} m_Title: Anna-Lyse m_Tooltip: m_NodePreviewModel: @@ -404,7 +422,7 @@ MonoBehaviour: serializedVersion: 2 Hash: 3cbfd8ef332fa01b78a5ecc384f2e5e7 m_Version: 2 - m_Position: {x: 914.5827, y: -58.93837} + m_Position: {x: 914.5827, y: -60.08837} m_Title: DialogueNode m_Tooltip: m_NodePreviewModel: @@ -552,38 +570,6 @@ MonoBehaviour: m_PortDirection: 1 m_PortOrientation: 0 m_Title: in - - rid: 1219994508087787780 - type: {class: WireModel, ns: Unity.GraphToolkit.Editor, asm: Unity.GraphToolkit.Internal.Editor} - data: - m_Guid: - m_Value0: 10375816761084646535 - m_Value1: 15824079162718769611 - m_HashGuid: - serializedVersion: 2 - Hash: 8794feea5e4efe8fcb5183af286c9adb - m_Version: 2 - m_FromPortReference: - m_NodeModelGuid: - m_Value0: 10537482371379217669 - m_Value1: 805153394380735108 - m_NodeModelHashGuid: - serializedVersion: 2 - Hash: 05c5ff0463a83c928482c30dbf7a2c0b - m_UniqueId: out - m_PortDirection: 2 - m_PortOrientation: 0 - m_Title: out - m_ToPortReference: - m_NodeModelGuid: - m_Value0: 356371523793864382 - m_Value1: 4751895819492649258 - m_NodeModelHashGuid: - serializedVersion: 2 - Hash: be46cc430316f2042ae9853a1220f241 - m_UniqueId: in - m_PortDirection: 1 - m_PortOrientation: 0 - m_Title: in - rid: 1219994508087787813 type: {class: WireModel, ns: Unity.GraphToolkit.Editor, asm: Unity.GraphToolkit.Internal.Editor} data: @@ -664,7 +650,7 @@ MonoBehaviour: - rid: 1219994508087787897 type: {class: 'Constant`1[[System.String, mscorlib]]', ns: Unity.GraphToolkit.Editor, asm: Unity.GraphToolkit.Internal.Editor} data: - m_Value: This is a test line + m_Value: This is a first line of dialogue - rid: 1219994508087787898 type: {class: 'Constant`1[[System.String, mscorlib]]', ns: Unity.GraphToolkit.Editor, asm: Unity.GraphToolkit.Internal.Editor} data: @@ -693,3 +679,141 @@ MonoBehaviour: type: {class: 'Constant`1[[System.Boolean, mscorlib]]', ns: Unity.GraphToolkit.Editor, asm: Unity.GraphToolkit.Internal.Editor} data: m_Value: 0 + - rid: 1226592702090706949 + type: {class: UserNodeModelImp, ns: Unity.GraphToolkit.Editor.Implementation, asm: Unity.GraphToolkit.Editor} + data: + m_Guid: + m_Value0: 3534792673092891566 + m_Value1: 6472493350207860515 + m_HashGuid: + serializedVersion: 2 + Hash: aef35a42351b0e3123af37c668ead259 + m_Version: 2 + m_Position: {x: 1675.55, y: -47.149998} + m_Title: DialogueNode + m_Tooltip: + m_NodePreviewModel: + rid: -2 + m_State: 0 + m_InputConstantsById: + m_KeyList: + - __option_DialogueLineType + - __option_NoLines + - DefaultDialogueLine2 + - LoopThroughDefaultLines + - DefaultDialogueLine1 + m_ValueList: + - rid: 1226592702090706950 + - rid: 1226592702090706951 + - rid: 1226592702090706958 + - rid: 1226592702090706953 + - rid: 1226592702090706957 + m_InputPortInfos: + expandedPortsById: + m_KeyList: [] + m_ValueList: + m_OutputPortInfos: + expandedPortsById: + m_KeyList: [] + m_ValueList: + m_Collapsed: 0 + m_CurrentModeIndex: 0 + m_ElementColor: + m_Color: {r: 0, g: 0, b: 0, a: 0} + m_HasUserColor: 0 + m_Node: + rid: 1226592702090706954 + - rid: 1226592702090706950 + type: {class: EnumConstant, ns: Unity.GraphToolkit.Editor, asm: Unity.GraphToolkit.Internal.Editor} + data: + m_Value: + m_EnumType: + m_Identification: Editor.Dialogue.DialogueType, AppleHillsEditor, Version=0.0.0.0, + Culture=neutral, PublicKeyToken=null + m_Value: 1 + m_EnumType: + m_Identification: Editor.Dialogue.DialogueType, AppleHillsEditor, Version=0.0.0.0, + Culture=neutral, PublicKeyToken=null + - rid: 1226592702090706951 + type: {class: 'Constant`1[[System.Int32, mscorlib]]', ns: Unity.GraphToolkit.Editor, asm: Unity.GraphToolkit.Internal.Editor} + data: + m_Value: 2 + - rid: 1226592702090706953 + type: {class: 'Constant`1[[System.Boolean, mscorlib]]', ns: Unity.GraphToolkit.Editor, asm: Unity.GraphToolkit.Internal.Editor} + data: + m_Value: 1 + - rid: 1226592702090706954 + type: {class: DialogueNode, ns: Editor.Dialogue, asm: AppleHillsEditor} + data: + - rid: 1226592702090706955 + type: {class: WireModel, ns: Unity.GraphToolkit.Editor, asm: Unity.GraphToolkit.Internal.Editor} + data: + m_Guid: + m_Value0: 1069232297653548642 + m_Value1: 12871763382231758094 + m_HashGuid: + serializedVersion: 2 + Hash: 62b603141cadd60e0ef5cd3e99b0a1b2 + m_Version: 2 + m_FromPortReference: + m_NodeModelGuid: + m_Value0: 10537482371379217669 + m_Value1: 805153394380735108 + m_NodeModelHashGuid: + serializedVersion: 2 + Hash: 05c5ff0463a83c928482c30dbf7a2c0b + m_UniqueId: out + m_PortDirection: 2 + m_PortOrientation: 0 + m_Title: out + m_ToPortReference: + m_NodeModelGuid: + m_Value0: 3534792673092891566 + m_Value1: 6472493350207860515 + m_NodeModelHashGuid: + serializedVersion: 2 + Hash: aef35a42351b0e3123af37c668ead259 + m_UniqueId: in + m_PortDirection: 1 + m_PortOrientation: 0 + m_Title: in + - rid: 1226592702090706956 + type: {class: WireModel, ns: Unity.GraphToolkit.Editor, asm: Unity.GraphToolkit.Internal.Editor} + data: + m_Guid: + m_Value0: 6652862542851746443 + m_Value1: 1010545699289270970 + m_HashGuid: + serializedVersion: 2 + Hash: 8b2a2efe3bb7535cba8a6f9bf52d060e + m_Version: 2 + m_FromPortReference: + m_NodeModelGuid: + m_Value0: 3534792673092891566 + m_Value1: 6472493350207860515 + m_NodeModelHashGuid: + serializedVersion: 2 + Hash: aef35a42351b0e3123af37c668ead259 + m_UniqueId: out + m_PortDirection: 2 + m_PortOrientation: 0 + m_Title: out + m_ToPortReference: + m_NodeModelGuid: + m_Value0: 356371523793864382 + m_Value1: 4751895819492649258 + m_NodeModelHashGuid: + serializedVersion: 2 + Hash: be46cc430316f2042ae9853a1220f241 + m_UniqueId: in + m_PortDirection: 1 + m_PortOrientation: 0 + m_Title: in + - rid: 1226592702090706957 + type: {class: 'Constant`1[[System.String, mscorlib]]', ns: Unity.GraphToolkit.Editor, asm: Unity.GraphToolkit.Internal.Editor} + data: + m_Value: And we're... + - rid: 1226592702090706958 + type: {class: 'Constant`1[[System.String, mscorlib]]', ns: Unity.GraphToolkit.Editor, asm: Unity.GraphToolkit.Internal.Editor} + data: + m_Value: ...in a loop diff --git a/Assets/Prefabs/UI/DialogueCanvas.prefab b/Assets/Prefabs/UI/DialogueCanvas.prefab new file mode 100644 index 00000000..238f4620 --- /dev/null +++ b/Assets/Prefabs/UI/DialogueCanvas.prefab @@ -0,0 +1,442 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1 &1494212192306772670 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 8307219291215824345} + - component: {fileID: 9002038557409323574} + - component: {fileID: 4498241824153346754} + - component: {fileID: 3123748273643935430} + m_Layer: 5 + m_Name: SpeechBubble + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &8307219291215824345 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1494212192306772670} + 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: 1539728007164444029} + m_Father: {fileID: 3484825090253933040} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 0, y: 50} + m_SizeDelta: {x: 400, y: 0} + m_Pivot: {x: 0.5, y: 1} +--- !u!114 &9002038557409323574 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1494212192306772670} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 59f8146938fff824cb5fd77236b75775, type: 3} + m_Name: + m_EditorClassIdentifier: UnityEngine.UI::UnityEngine.UI.VerticalLayoutGroup + m_Padding: + m_Left: 0 + m_Right: 0 + m_Top: 0 + m_Bottom: 0 + m_ChildAlignment: 0 + m_Spacing: 0 + m_ChildForceExpandWidth: 1 + m_ChildForceExpandHeight: 0 + m_ChildControlWidth: 1 + m_ChildControlHeight: 1 + m_ChildScaleWidth: 0 + m_ChildScaleHeight: 0 + m_ReverseArrangement: 0 +--- !u!114 &4498241824153346754 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1494212192306772670} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 3245ec927659c4140ac4f8d17403cc18, type: 3} + m_Name: + m_EditorClassIdentifier: UnityEngine.UI::UnityEngine.UI.ContentSizeFitter + m_HorizontalFit: 0 + m_VerticalFit: 2 +--- !u!114 &3123748273643935430 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1494212192306772670} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 306cc8c2b49d7114eaa3623786fc2126, type: 3} + m_Name: + m_EditorClassIdentifier: UnityEngine.UI::UnityEngine.UI.LayoutElement + m_IgnoreLayout: 0 + m_MinWidth: 100 + m_MinHeight: -1 + m_PreferredWidth: 400 + m_PreferredHeight: -1 + m_FlexibleWidth: -1 + m_FlexibleHeight: -1 + m_LayoutPriority: 1 +--- !u!1 &5048280843231724144 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 7704981663008171144} + - component: {fileID: 5689339761876843762} + - component: {fileID: 4573570654593171780} + m_Layer: 5 + m_Name: Text (TMP) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &7704981663008171144 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5048280843231724144} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 1} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 1539728007164444029} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 0, y: 0} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &5689339761876843762 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5048280843231724144} + m_CullTransparentMesh: 1 +--- !u!114 &4573570654593171780 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5048280843231724144} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, type: 3} + m_Name: + m_EditorClassIdentifier: Unity.TextMeshPro::TMPro.TextMeshProUGUI + 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_text: Hey there buster! + m_isRightToLeft: 0 + m_fontAsset: {fileID: 11400000, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2} + m_sharedMaterial: {fileID: 2180264, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2} + m_fontSharedMaterials: [] + m_fontMaterial: {fileID: 0} + m_fontMaterials: [] + m_fontColor32: + serializedVersion: 2 + rgba: 4278190080 + m_fontColor: {r: 0, g: 0, b: 0, a: 1} + m_enableVertexGradient: 0 + m_colorMode: 3 + m_fontColorGradient: + topLeft: {r: 0.8207547, g: 0.011614433, b: 0.011614433, a: 1} + topRight: {r: 1, g: 1, b: 1, a: 1} + bottomLeft: {r: 1, g: 1, b: 1, a: 1} + bottomRight: {r: 1, g: 1, b: 1, a: 1} + m_fontColorGradientPreset: {fileID: 0} + m_spriteAsset: {fileID: 0} + m_tintAllSprites: 0 + m_StyleSheet: {fileID: 0} + m_TextStyleHashCode: -1183493901 + m_overrideHtmlColors: 1 + m_faceColor: + serializedVersion: 2 + rgba: 4294967295 + m_fontSize: 35 + m_fontSizeBase: 35 + m_fontWeight: 400 + m_enableAutoSizing: 0 + m_fontSizeMin: 18 + m_fontSizeMax: 72 + m_fontStyle: 0 + m_HorizontalAlignment: 2 + m_VerticalAlignment: 512 + m_textAlignment: 65535 + m_characterSpacing: 0 + m_wordSpacing: 0 + m_lineSpacing: 0 + m_lineSpacingMax: 0 + m_paragraphSpacing: 0 + m_charWidthMaxAdj: 0 + m_TextWrappingMode: 1 + m_wordWrappingRatios: 0.4 + m_overflowMode: 0 + m_linkedTextComponent: {fileID: 0} + parentLinkedComponent: {fileID: 0} + m_enableKerning: 0 + m_ActiveFontFeatures: 6e72656b + m_enableExtraPadding: 0 + checkPaddingRequired: 0 + m_isRichText: 1 + m_EmojiFallbackSupport: 1 + m_parseCtrlCharacters: 1 + m_isOrthographic: 1 + m_isCullingEnabled: 0 + m_horizontalMapping: 0 + m_verticalMapping: 0 + m_uvLineOffset: 0 + m_geometrySortingOrder: 0 + m_IsTextObjectScaleStatic: 0 + m_VertexBufferAutoSizeReduction: 0 + m_useMaxVisibleDescender: 1 + m_pageToDisplay: 1 + m_margin: {x: 0, y: 0, z: 0, w: 0} + m_isUsingLegacyAnimationComponent: 0 + m_isVolumetricText: 0 + m_hasFontAssetChanged: 0 + m_baseMaterial: {fileID: 0} + m_maskOffset: {x: 0, y: 0, z: 0, w: 0} +--- !u!1 &6499933157207406972 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 3484825090253933040} + - component: {fileID: 3535066688902750632} + - component: {fileID: 6771925387362164676} + - component: {fileID: 9137259633125916521} + m_Layer: 5 + m_Name: DialogueCanvas + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &3484825090253933040 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6499933157207406972} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 0.01, y: 0.01, z: 0.01} + m_ConstrainProportionsScale: 1 + m_Children: + - {fileID: 8307219291215824345} + m_Father: {fileID: 0} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 0, y: 0} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!223 &3535066688902750632 +Canvas: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6499933157207406972} + m_Enabled: 1 + serializedVersion: 3 + m_RenderMode: 2 + m_Camera: {fileID: 0} + m_PlaneDistance: 100 + m_PixelPerfect: 0 + m_ReceivesEvents: 1 + m_OverrideSorting: 0 + m_OverridePixelPerfect: 0 + m_SortingBucketNormalizedSize: 0 + m_VertexColorAlwaysGammaSpace: 0 + m_AdditionalShaderChannelsFlag: 25 + m_UpdateRectTransformForStandalone: 0 + m_SortingLayerID: -1132846201 + m_SortingOrder: 0 + m_TargetDisplay: 0 +--- !u!114 &6771925387362164676 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6499933157207406972} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 0cd44c1031e13a943bb63640046fad76, type: 3} + m_Name: + m_EditorClassIdentifier: UnityEngine.UI::UnityEngine.UI.CanvasScaler + m_UiScaleMode: 0 + m_ReferencePixelsPerUnit: 100 + m_ScaleFactor: 1 + m_ReferenceResolution: {x: 800, y: 600} + m_ScreenMatchMode: 0 + m_MatchWidthOrHeight: 0 + m_PhysicalUnit: 3 + m_FallbackScreenDPI: 96 + m_DefaultSpriteDPI: 96 + m_DynamicPixelsPerUnit: 1 + m_PresetInfoIsWorld: 1 +--- !u!114 &9137259633125916521 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6499933157207406972} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: dc42784cf147c0c48a680349fa168899, type: 3} + m_Name: + m_EditorClassIdentifier: UnityEngine.UI::UnityEngine.UI.GraphicRaycaster + m_IgnoreReversedGraphics: 1 + m_BlockingObjects: 0 + m_BlockingMask: + serializedVersion: 2 + m_Bits: 4294967295 +--- !u!1 &8341977934938436915 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1539728007164444029} + - component: {fileID: 2528298462582055986} + - component: {fileID: 60731842453945467} + - component: {fileID: 7607150792847151459} + m_Layer: 5 + m_Name: Image + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1539728007164444029 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8341977934938436915} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: -1} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 7704981663008171144} + m_Father: {fileID: 8307219291215824345} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 0, y: 0} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &2528298462582055986 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8341977934938436915} + m_CullTransparentMesh: 0 +--- !u!114 &60731842453945467 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8341977934938436915} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: UnityEngine.UI::UnityEngine.UI.Image + 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: -904705141413079607, guid: 5710afcaa2eca3d41b7fc78d09652325, type: 3} + 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.72 +--- !u!114 &7607150792847151459 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8341977934938436915} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 59f8146938fff824cb5fd77236b75775, type: 3} + m_Name: + m_EditorClassIdentifier: UnityEngine.UI::UnityEngine.UI.VerticalLayoutGroup + m_Padding: + m_Left: 25 + m_Right: 25 + m_Top: 25 + m_Bottom: 70 + m_ChildAlignment: 4 + m_Spacing: 0 + m_ChildForceExpandWidth: 1 + m_ChildForceExpandHeight: 0 + m_ChildControlWidth: 1 + m_ChildControlHeight: 1 + m_ChildScaleWidth: 0 + m_ChildScaleHeight: 0 + m_ReverseArrangement: 0 diff --git a/Assets/Prefabs/UI/DialogueCanvas.prefab.meta b/Assets/Prefabs/UI/DialogueCanvas.prefab.meta new file mode 100644 index 00000000..e2cd07a0 --- /dev/null +++ b/Assets/Prefabs/UI/DialogueCanvas.prefab.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: a8b0a1c6cf21352439dc24d3b03182db +PrefabImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scenes/Levels/AppleHillsOverworld.unity b/Assets/Scenes/Levels/AppleHillsOverworld.unity index 85ad2b0d..4b4f9aae 100644 --- a/Assets/Scenes/Levels/AppleHillsOverworld.unity +++ b/Assets/Scenes/Levels/AppleHillsOverworld.unity @@ -771,6 +771,212 @@ PrefabInstance: m_AddedGameObjects: [] m_AddedComponents: [] m_SourcePrefab: {fileID: 100100000, guid: b5fc01af35233eb4cbeede05e50a7c34, type: 3} +--- !u!114 &614125440 stripped +MonoBehaviour: + m_CorrespondingSourceObject: {fileID: 4573570654593171780, guid: a8b0a1c6cf21352439dc24d3b03182db, type: 3} + m_PrefabInstance: {fileID: 7880670876025270805} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, type: 3} + m_Name: + m_EditorClassIdentifier: Unity.TextMeshPro::TMPro.TextMeshProUGUI +--- !u!1001 &677854359 +PrefabInstance: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + serializedVersion: 3 + m_TransformParent: {fileID: 1238302921} + m_Modifications: + - target: {fileID: 1539728007164444029, guid: a8b0a1c6cf21352439dc24d3b03182db, type: 3} + propertyPath: m_AnchorMax.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1539728007164444029, guid: a8b0a1c6cf21352439dc24d3b03182db, type: 3} + propertyPath: m_AnchorMin.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1539728007164444029, guid: a8b0a1c6cf21352439dc24d3b03182db, type: 3} + propertyPath: m_SizeDelta.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1539728007164444029, guid: a8b0a1c6cf21352439dc24d3b03182db, type: 3} + propertyPath: m_SizeDelta.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1539728007164444029, guid: a8b0a1c6cf21352439dc24d3b03182db, type: 3} + propertyPath: m_AnchoredPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1539728007164444029, guid: a8b0a1c6cf21352439dc24d3b03182db, type: 3} + propertyPath: m_AnchoredPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 3484825090253933040, guid: a8b0a1c6cf21352439dc24d3b03182db, type: 3} + propertyPath: m_Pivot.x + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 3484825090253933040, guid: a8b0a1c6cf21352439dc24d3b03182db, type: 3} + propertyPath: m_Pivot.y + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 3484825090253933040, guid: a8b0a1c6cf21352439dc24d3b03182db, type: 3} + propertyPath: m_AnchorMax.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 3484825090253933040, guid: a8b0a1c6cf21352439dc24d3b03182db, type: 3} + propertyPath: m_AnchorMax.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 3484825090253933040, guid: a8b0a1c6cf21352439dc24d3b03182db, type: 3} + propertyPath: m_AnchorMin.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 3484825090253933040, guid: a8b0a1c6cf21352439dc24d3b03182db, type: 3} + propertyPath: m_AnchorMin.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 3484825090253933040, guid: a8b0a1c6cf21352439dc24d3b03182db, type: 3} + propertyPath: m_SizeDelta.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 3484825090253933040, guid: a8b0a1c6cf21352439dc24d3b03182db, type: 3} + propertyPath: m_SizeDelta.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 3484825090253933040, guid: a8b0a1c6cf21352439dc24d3b03182db, type: 3} + propertyPath: m_LocalPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 3484825090253933040, guid: a8b0a1c6cf21352439dc24d3b03182db, type: 3} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 3484825090253933040, guid: a8b0a1c6cf21352439dc24d3b03182db, type: 3} + propertyPath: m_LocalPosition.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 3484825090253933040, guid: a8b0a1c6cf21352439dc24d3b03182db, type: 3} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 3484825090253933040, guid: a8b0a1c6cf21352439dc24d3b03182db, type: 3} + propertyPath: m_LocalRotation.x + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 3484825090253933040, guid: a8b0a1c6cf21352439dc24d3b03182db, type: 3} + propertyPath: m_LocalRotation.y + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 3484825090253933040, guid: a8b0a1c6cf21352439dc24d3b03182db, type: 3} + propertyPath: m_LocalRotation.z + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 3484825090253933040, guid: a8b0a1c6cf21352439dc24d3b03182db, type: 3} + propertyPath: m_AnchoredPosition.x + value: 2.55 + objectReference: {fileID: 0} + - target: {fileID: 3484825090253933040, guid: a8b0a1c6cf21352439dc24d3b03182db, type: 3} + propertyPath: m_AnchoredPosition.y + value: 3.17 + objectReference: {fileID: 0} + - target: {fileID: 3484825090253933040, guid: a8b0a1c6cf21352439dc24d3b03182db, type: 3} + propertyPath: m_LocalEulerAnglesHint.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 3484825090253933040, guid: a8b0a1c6cf21352439dc24d3b03182db, type: 3} + propertyPath: m_LocalEulerAnglesHint.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 3484825090253933040, guid: a8b0a1c6cf21352439dc24d3b03182db, type: 3} + propertyPath: m_LocalEulerAnglesHint.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 3535066688902750632, guid: a8b0a1c6cf21352439dc24d3b03182db, type: 3} + propertyPath: m_Camera + value: + objectReference: {fileID: 1741016589} + - target: {fileID: 6499933157207406972, guid: a8b0a1c6cf21352439dc24d3b03182db, type: 3} + propertyPath: m_Name + value: DialogueCanvas + objectReference: {fileID: 0} + - target: {fileID: 7704981663008171144, guid: a8b0a1c6cf21352439dc24d3b03182db, type: 3} + propertyPath: m_AnchorMax.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 7704981663008171144, guid: a8b0a1c6cf21352439dc24d3b03182db, type: 3} + propertyPath: m_AnchorMin.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 7704981663008171144, guid: a8b0a1c6cf21352439dc24d3b03182db, type: 3} + propertyPath: m_SizeDelta.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 7704981663008171144, guid: a8b0a1c6cf21352439dc24d3b03182db, type: 3} + propertyPath: m_SizeDelta.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 7704981663008171144, guid: a8b0a1c6cf21352439dc24d3b03182db, type: 3} + propertyPath: m_AnchoredPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 7704981663008171144, guid: a8b0a1c6cf21352439dc24d3b03182db, type: 3} + propertyPath: m_AnchoredPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 8307219291215824345, guid: a8b0a1c6cf21352439dc24d3b03182db, type: 3} + propertyPath: m_SizeDelta.y + value: 0 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_RemovedGameObjects: [] + m_AddedGameObjects: [] + m_AddedComponents: + - targetCorrespondingSourceObject: {fileID: 1494212192306772670, guid: a8b0a1c6cf21352439dc24d3b03182db, type: 3} + insertIndex: -1 + addedObject: {fileID: 677854363} + m_SourcePrefab: {fileID: 100100000, guid: a8b0a1c6cf21352439dc24d3b03182db, type: 3} +--- !u!224 &677854360 stripped +RectTransform: + m_CorrespondingSourceObject: {fileID: 3484825090253933040, guid: a8b0a1c6cf21352439dc24d3b03182db, type: 3} + m_PrefabInstance: {fileID: 677854359} + m_PrefabAsset: {fileID: 0} +--- !u!114 &677854361 stripped +MonoBehaviour: + m_CorrespondingSourceObject: {fileID: 4573570654593171780, guid: a8b0a1c6cf21352439dc24d3b03182db, type: 3} + m_PrefabInstance: {fileID: 677854359} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, type: 3} + m_Name: + m_EditorClassIdentifier: Unity.TextMeshPro::TMPro.TextMeshProUGUI +--- !u!1 &677854362 stripped +GameObject: + m_CorrespondingSourceObject: {fileID: 1494212192306772670, guid: a8b0a1c6cf21352439dc24d3b03182db, type: 3} + m_PrefabInstance: {fileID: 677854359} + m_PrefabAsset: {fileID: 0} +--- !u!114 &677854363 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 677854362} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: cb3605ae81a54d2689504e0cd456ac27, type: 3} + m_Name: + m_EditorClassIdentifier: AppleHillsScripts::Dialogue.SpeechBubble + textDisplay: {fileID: 677854361} + displayMode: 1 + typewriterSpeed: 0.02 + typingSoundSource: {fileID: 0} + typingSoundFrequency: 3 + useRichText: 1 --- !u!4 &754397347 stripped Transform: m_CorrespondingSourceObject: {fileID: 2844046668579196942, guid: b5fc01af35233eb4cbeede05e50a7c34, type: 3} @@ -1114,6 +1320,186 @@ PrefabInstance: m_AddedGameObjects: [] m_AddedComponents: [] m_SourcePrefab: {fileID: 100100000, guid: bf4b9d7045397f946b2125b1ad4a3fbd, type: 3} +--- !u!1 &1238302916 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1238302921} + - component: {fileID: 1238302920} + - component: {fileID: 1238302919} + - component: {fileID: 1238302918} + - component: {fileID: 1238302917} + m_Layer: 10 + m_Name: TestNPC (1) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &1238302917 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1238302916} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 73d6494a73174ffabc6a7d3089d51e73, type: 3} + m_Name: + m_EditorClassIdentifier: AppleHillsScripts::Interactions.Interactable + isOneTime: 0 + cooldown: -1 + characterToInteract: 1 + interactionStarted: + m_PersistentCalls: + m_Calls: [] + interactionInterrupted: + m_PersistentCalls: + m_Calls: [] + characterArrived: + m_PersistentCalls: + m_Calls: [] + interactionComplete: + m_PersistentCalls: + m_Calls: [] +--- !u!114 &1238302918 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1238302916} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 25bbad45f1fa4183b30ad76c62256fd6, type: 3} + m_Name: + m_EditorClassIdentifier: AppleHillsScripts::Dialogue.DialogueComponent + dialogueGraph: {fileID: 3965311268370046156, guid: 032495bac2b5aca4396a0a07774c8a57, type: 3} +--- !u!61 &1238302919 +BoxCollider2D: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1238302916} + m_Enabled: 1 + serializedVersion: 3 + m_Density: 1 + m_Material: {fileID: 0} + m_IncludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_ExcludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_LayerOverridePriority: 0 + m_ForceSendLayers: + serializedVersion: 2 + m_Bits: 4294967295 + m_ForceReceiveLayers: + serializedVersion: 2 + m_Bits: 4294967295 + m_ContactCaptureLayers: + serializedVersion: 2 + m_Bits: 4294967295 + m_CallbackLayers: + serializedVersion: 2 + m_Bits: 4294967295 + m_IsTrigger: 0 + m_UsedByEffector: 0 + m_CompositeOperation: 0 + m_CompositeOrder: 0 + m_Offset: {x: 0, y: 0} + m_SpriteTilingProperty: + border: {x: 0, y: 0, z: 0, w: 0} + pivot: {x: 0.5, y: 0.5} + oldSize: {x: 1.58, y: 3.16} + newSize: {x: 1.58, y: 3.16} + adaptiveTilingThreshold: 0.5 + drawMode: 0 + adaptiveTiling: 0 + m_AutoTiling: 0 + m_Size: {x: 1.58, y: 3.16} + m_EdgeRadius: 0 +--- !u!212 &1238302920 +SpriteRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1238302916} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 0 + m_RayTraceProcedural: 0 + m_RayTracingAccelStructBuildFlagsOverride: 0 + m_RayTracingAccelStructBuildFlags: 1 + m_SmallMeshCulling: 1 + m_ForceMeshLod: -1 + m_MeshLodSelectionBias: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: a97c105638bdf8b4a8650670310a4cd3, 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: 0 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_GlobalIlluminationMeshLod: 0 + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_Sprite: {fileID: -4209461767521648114, guid: 95abe5ab485a1c64b977f3dd2aff5256, type: 3} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_FlipX: 0 + m_FlipY: 0 + m_DrawMode: 0 + m_Size: {x: 1.58, y: 3.16} + m_AdaptiveModeThreshold: 0.5 + m_SpriteTileMode: 0 + m_WasSpriteAssigned: 1 + m_MaskInteraction: 0 + m_SpriteSortPoint: 0 +--- !u!4 &1238302921 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1238302916} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -37.15, y: -16.03, z: 0} + m_LocalScale: {x: 3.2097, y: 3.2097, z: 3.2097} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 677854360} + m_Father: {fileID: 0} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!1 &1255598765 GameObject: m_ObjectHideFlags: 0 @@ -1330,6 +1716,29 @@ BoxCollider2D: m_AutoTiling: 0 m_Size: {x: 19.2, y: 10.8} m_EdgeRadius: 0 +--- !u!1 &1300234226 stripped +GameObject: + m_CorrespondingSourceObject: {fileID: 1494212192306772670, guid: a8b0a1c6cf21352439dc24d3b03182db, type: 3} + m_PrefabInstance: {fileID: 7880670876025270805} + m_PrefabAsset: {fileID: 0} +--- !u!114 &1300234231 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1300234226} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: cb3605ae81a54d2689504e0cd456ac27, type: 3} + m_Name: + m_EditorClassIdentifier: AppleHillsScripts::Dialogue.SpeechBubble + textDisplay: {fileID: 614125440} + displayMode: 1 + typewriterSpeed: 0.02 + typingSoundSource: {fileID: 0} + typingSoundFrequency: 3 + useRichText: 1 --- !u!4 &1309036670 stripped Transform: m_CorrespondingSourceObject: {fileID: 3823830588451517910, guid: 301b4e0735896334f8f6fb9a68a7e419, type: 3} @@ -1475,6 +1884,191 @@ PrefabInstance: insertIndex: -1 addedObject: {fileID: 1631660124} m_SourcePrefab: {fileID: 100100000, guid: bf4b9d7045397f946b2125b1ad4a3fbd, type: 3} +--- !u!1 &1443361595 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1443361597} + - component: {fileID: 1443361596} + - component: {fileID: 1443361598} + - component: {fileID: 1443361599} + - component: {fileID: 1443361600} + m_Layer: 10 + m_Name: TestNPC + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!212 &1443361596 +SpriteRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1443361595} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 0 + m_RayTraceProcedural: 0 + m_RayTracingAccelStructBuildFlagsOverride: 0 + m_RayTracingAccelStructBuildFlags: 1 + m_SmallMeshCulling: 1 + m_ForceMeshLod: -1 + m_MeshLodSelectionBias: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: a97c105638bdf8b4a8650670310a4cd3, 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: 0 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_GlobalIlluminationMeshLod: 0 + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_Sprite: {fileID: -4209461767521648114, guid: 95abe5ab485a1c64b977f3dd2aff5256, type: 3} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_FlipX: 0 + m_FlipY: 0 + m_DrawMode: 0 + m_Size: {x: 1.58, y: 3.16} + m_AdaptiveModeThreshold: 0.5 + m_SpriteTileMode: 0 + m_WasSpriteAssigned: 1 + m_MaskInteraction: 0 + m_SpriteSortPoint: 0 +--- !u!4 &1443361597 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1443361595} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -53.12, y: 5.36, z: 0} + m_LocalScale: {x: 3.2097, y: 3.2097, z: 3.2097} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 1522460111} + m_Father: {fileID: 0} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!61 &1443361598 +BoxCollider2D: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1443361595} + m_Enabled: 1 + serializedVersion: 3 + m_Density: 1 + m_Material: {fileID: 0} + m_IncludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_ExcludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_LayerOverridePriority: 0 + m_ForceSendLayers: + serializedVersion: 2 + m_Bits: 4294967295 + m_ForceReceiveLayers: + serializedVersion: 2 + m_Bits: 4294967295 + m_ContactCaptureLayers: + serializedVersion: 2 + m_Bits: 4294967295 + m_CallbackLayers: + serializedVersion: 2 + m_Bits: 4294967295 + m_IsTrigger: 0 + m_UsedByEffector: 0 + m_CompositeOperation: 0 + m_CompositeOrder: 0 + m_Offset: {x: 0, y: 0} + m_SpriteTilingProperty: + border: {x: 0, y: 0, z: 0, w: 0} + pivot: {x: 0.5, y: 0.5} + oldSize: {x: 1.58, y: 3.16} + newSize: {x: 1.58, y: 3.16} + adaptiveTilingThreshold: 0.5 + drawMode: 0 + adaptiveTiling: 0 + m_AutoTiling: 0 + m_Size: {x: 1.58, y: 3.16} + m_EdgeRadius: 0 +--- !u!114 &1443361599 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1443361595} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 25bbad45f1fa4183b30ad76c62256fd6, type: 3} + m_Name: + m_EditorClassIdentifier: AppleHillsScripts::Dialogue.DialogueComponent + dialogueGraph: {fileID: 3965311268370046156, guid: 9050f99a225035b40b415df272d2b341, type: 3} +--- !u!114 &1443361600 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1443361595} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 73d6494a73174ffabc6a7d3089d51e73, type: 3} + m_Name: + m_EditorClassIdentifier: AppleHillsScripts::Interactions.Interactable + isOneTime: 0 + cooldown: -1 + characterToInteract: 1 + interactionStarted: + m_PersistentCalls: + m_Calls: [] + interactionInterrupted: + m_PersistentCalls: + m_Calls: [] + characterArrived: + m_PersistentCalls: + m_Calls: [] + interactionComplete: + m_PersistentCalls: + m_Calls: [] +--- !u!224 &1522460111 stripped +RectTransform: + m_CorrespondingSourceObject: {fileID: 3484825090253933040, guid: a8b0a1c6cf21352439dc24d3b03182db, type: 3} + m_PrefabInstance: {fileID: 7880670876025270805} + m_PrefabAsset: {fileID: 0} --- !u!4 &1553825406 stripped Transform: m_CorrespondingSourceObject: {fileID: 2844046668579196942, guid: b5fc01af35233eb4cbeede05e50a7c34, type: 3} @@ -2025,6 +2619,162 @@ PrefabInstance: m_AddedGameObjects: [] m_AddedComponents: [] m_SourcePrefab: {fileID: 100100000, guid: 8ac0210dbf9d7754e9526d6d5c214f49, type: 3} +--- !u!1001 &7880670876025270805 +PrefabInstance: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + serializedVersion: 3 + m_TransformParent: {fileID: 1443361597} + m_Modifications: + - target: {fileID: 1539728007164444029, guid: a8b0a1c6cf21352439dc24d3b03182db, type: 3} + propertyPath: m_AnchorMax.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1539728007164444029, guid: a8b0a1c6cf21352439dc24d3b03182db, type: 3} + propertyPath: m_AnchorMin.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1539728007164444029, guid: a8b0a1c6cf21352439dc24d3b03182db, type: 3} + propertyPath: m_SizeDelta.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1539728007164444029, guid: a8b0a1c6cf21352439dc24d3b03182db, type: 3} + propertyPath: m_SizeDelta.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1539728007164444029, guid: a8b0a1c6cf21352439dc24d3b03182db, type: 3} + propertyPath: m_AnchoredPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1539728007164444029, guid: a8b0a1c6cf21352439dc24d3b03182db, type: 3} + propertyPath: m_AnchoredPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 3484825090253933040, guid: a8b0a1c6cf21352439dc24d3b03182db, type: 3} + propertyPath: m_Pivot.x + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 3484825090253933040, guid: a8b0a1c6cf21352439dc24d3b03182db, type: 3} + propertyPath: m_Pivot.y + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 3484825090253933040, guid: a8b0a1c6cf21352439dc24d3b03182db, type: 3} + propertyPath: m_AnchorMax.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 3484825090253933040, guid: a8b0a1c6cf21352439dc24d3b03182db, type: 3} + propertyPath: m_AnchorMax.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 3484825090253933040, guid: a8b0a1c6cf21352439dc24d3b03182db, type: 3} + propertyPath: m_AnchorMin.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 3484825090253933040, guid: a8b0a1c6cf21352439dc24d3b03182db, type: 3} + propertyPath: m_AnchorMin.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 3484825090253933040, guid: a8b0a1c6cf21352439dc24d3b03182db, type: 3} + propertyPath: m_SizeDelta.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 3484825090253933040, guid: a8b0a1c6cf21352439dc24d3b03182db, type: 3} + propertyPath: m_SizeDelta.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 3484825090253933040, guid: a8b0a1c6cf21352439dc24d3b03182db, type: 3} + propertyPath: m_LocalPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 3484825090253933040, guid: a8b0a1c6cf21352439dc24d3b03182db, type: 3} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 3484825090253933040, guid: a8b0a1c6cf21352439dc24d3b03182db, type: 3} + propertyPath: m_LocalPosition.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 3484825090253933040, guid: a8b0a1c6cf21352439dc24d3b03182db, type: 3} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 3484825090253933040, guid: a8b0a1c6cf21352439dc24d3b03182db, type: 3} + propertyPath: m_LocalRotation.x + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 3484825090253933040, guid: a8b0a1c6cf21352439dc24d3b03182db, type: 3} + propertyPath: m_LocalRotation.y + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 3484825090253933040, guid: a8b0a1c6cf21352439dc24d3b03182db, type: 3} + propertyPath: m_LocalRotation.z + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 3484825090253933040, guid: a8b0a1c6cf21352439dc24d3b03182db, type: 3} + propertyPath: m_AnchoredPosition.x + value: 2.55 + objectReference: {fileID: 0} + - target: {fileID: 3484825090253933040, guid: a8b0a1c6cf21352439dc24d3b03182db, type: 3} + propertyPath: m_AnchoredPosition.y + value: 3.17 + objectReference: {fileID: 0} + - target: {fileID: 3484825090253933040, guid: a8b0a1c6cf21352439dc24d3b03182db, type: 3} + propertyPath: m_LocalEulerAnglesHint.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 3484825090253933040, guid: a8b0a1c6cf21352439dc24d3b03182db, type: 3} + propertyPath: m_LocalEulerAnglesHint.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 3484825090253933040, guid: a8b0a1c6cf21352439dc24d3b03182db, type: 3} + propertyPath: m_LocalEulerAnglesHint.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 3535066688902750632, guid: a8b0a1c6cf21352439dc24d3b03182db, type: 3} + propertyPath: m_Camera + value: + objectReference: {fileID: 1741016589} + - target: {fileID: 6499933157207406972, guid: a8b0a1c6cf21352439dc24d3b03182db, type: 3} + propertyPath: m_Name + value: DialogueCanvas + objectReference: {fileID: 0} + - target: {fileID: 7704981663008171144, guid: a8b0a1c6cf21352439dc24d3b03182db, type: 3} + propertyPath: m_AnchorMax.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 7704981663008171144, guid: a8b0a1c6cf21352439dc24d3b03182db, type: 3} + propertyPath: m_AnchorMin.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 7704981663008171144, guid: a8b0a1c6cf21352439dc24d3b03182db, type: 3} + propertyPath: m_SizeDelta.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 7704981663008171144, guid: a8b0a1c6cf21352439dc24d3b03182db, type: 3} + propertyPath: m_SizeDelta.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 7704981663008171144, guid: a8b0a1c6cf21352439dc24d3b03182db, type: 3} + propertyPath: m_AnchoredPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 7704981663008171144, guid: a8b0a1c6cf21352439dc24d3b03182db, type: 3} + propertyPath: m_AnchoredPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 8307219291215824345, guid: a8b0a1c6cf21352439dc24d3b03182db, type: 3} + propertyPath: m_SizeDelta.y + value: 0 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_RemovedGameObjects: [] + m_AddedGameObjects: [] + m_AddedComponents: + - targetCorrespondingSourceObject: {fileID: 1494212192306772670, guid: a8b0a1c6cf21352439dc24d3b03182db, type: 3} + insertIndex: -1 + addedObject: {fileID: 1300234231} + m_SourcePrefab: {fileID: 100100000, guid: a8b0a1c6cf21352439dc24d3b03182db, type: 3} --- !u!1001 &8865498003578620591 PrefabInstance: m_ObjectHideFlags: 0 @@ -2100,3 +2850,5 @@ SceneRoots: - {fileID: 1336824707} - {fileID: 384576747} - {fileID: 1668240411} + - {fileID: 1443361597} + - {fileID: 1238302921} diff --git a/Assets/Scripts/Dialogue/DialogueComponent.cs b/Assets/Scripts/Dialogue/DialogueComponent.cs index 42898fc9..cafc92aa 100644 --- a/Assets/Scripts/Dialogue/DialogueComponent.cs +++ b/Assets/Scripts/Dialogue/DialogueComponent.cs @@ -16,6 +16,7 @@ namespace Dialogue private RuntimeDialogueNode currentNode; private int currentLineIndex; private bool initialized = false; + private SpeechBubble speechBubble; // Properties public bool IsActive { get; private set; } @@ -37,10 +38,33 @@ namespace Dialogue ItemManager.Instance.OnCorrectItemSlotted += OnAnyItemSlotted; } + speechBubble = GetComponentInChildren(); + + if (speechBubble == null) + { + Debug.LogError("SpeechBubble component is missing on Dialogue Component"); + } + // Auto-start the dialogue StartDialogue(); + + var interactable = GetComponent(); + if (interactable != null) + { + interactable.characterArrived.AddListener(OnCharacterArrived); + } + + if (HasAnyLines()) + { + speechBubble.SetText(". . ."); + } } - + + private void OnCharacterArrived() + { + speechBubble.SetText(GetCurrentDialogueLine()); + } + private void OnDestroy() { // Unregister from events @@ -314,6 +338,49 @@ namespace Dialogue return false; } + /// + /// Checks if the dialogue component has any lines available to serve + /// + /// True if there are lines available, false otherwise + public bool HasAnyLines() + { + if (!initialized) + { + // If not initialized yet but has a dialogue graph, it will have lines when initialized + return dialogueGraph != null; + } + + // No lines if dialogue is not active or is completed + if (!IsActive || IsCompleted || currentNode == null) + return false; + + // Check if the current node has any lines + if (currentNode.dialogueLines.Count > 0) + { + // If we're not at the end of the lines or we loop through them + if (currentLineIndex < currentNode.dialogueLines.Count - 1 || currentNode.loopThroughLines) + { + return true; + } + + // If we're at the end of lines but not waiting for a condition and have a next node + if (!IsWaitingForCondition() && !string.IsNullOrEmpty(currentNode.nextNodeID)) + { + // We need to check if the next node would have lines + RuntimeDialogueNode nextNode = dialogueGraph.GetNodeByID(currentNode.nextNodeID); + return nextNode != null && (nextNode.dialogueLines.Count > 0 || nextNode.nodeType != RuntimeDialogueNodeType.End); + } + } + + // Special case for conditional nodes waiting on conditions + if (IsWaitingForCondition()) + { + return currentNode.dialogueLines.Count > 0; + } + + return false; + } + // Editor functionality public void SetDialogueGraph(RuntimeDialogueGraph graph) { diff --git a/Assets/Scripts/Dialogue/SpeechBubble.cs b/Assets/Scripts/Dialogue/SpeechBubble.cs new file mode 100644 index 00000000..4848e952 --- /dev/null +++ b/Assets/Scripts/Dialogue/SpeechBubble.cs @@ -0,0 +1,193 @@ +using System; +using System.Collections; +using TMPro; +using UnityEngine; + +namespace Dialogue +{ + /// + /// Display mode for the speech bubble text + /// + public enum TextDisplayMode + { + Instant, // Display all text at once + Typewriter // Display text one character at a time + } + + [AddComponentMenu("Apple Hills/Dialogue/Speech Bubble")] + public class SpeechBubble : MonoBehaviour + { + [SerializeField] private TextMeshProUGUI textDisplay; + [SerializeField] private TextDisplayMode displayMode = TextDisplayMode.Typewriter; + [SerializeField] private float typewriterSpeed = 0.05f; // Time between characters in seconds + [SerializeField] private AudioSource typingSoundSource; + [SerializeField] private float typingSoundFrequency = 3; // Play sound every X characters + [SerializeField] private bool useRichText = true; // Whether to respect rich text tags + + private Coroutine typewriterCoroutine; + private string currentFullText = string.Empty; + private bool isVisible = false; + + private void Awake() + { + + } + + /// + /// Show the speech bubble + /// + public void Show() + { + gameObject.SetActive(true); + isVisible = true; + } + + /// + /// Hide the speech bubble + /// + public void Hide() + { + gameObject.SetActive(false); + isVisible = false; + + // Stop any ongoing typewriter effect + if (typewriterCoroutine != null) + { + StopCoroutine(typewriterCoroutine); + typewriterCoroutine = null; + } + } + + /// + /// Toggle visibility of the speech bubble + /// + public void Toggle() + { + if (isVisible) + Hide(); + else + Show(); + } + + /// + /// Set the text to display in the speech bubble + /// + /// Text to display + public void SetText(string text) + { + if (textDisplay == null) + { + Debug.LogError("SpeechBubble: TextMeshProUGUI component is not assigned!"); + return; + } + + currentFullText = text; + + // Stop any existing typewriter effect + if (typewriterCoroutine != null) + { + StopCoroutine(typewriterCoroutine); + typewriterCoroutine = null; + } + + // Display text based on the selected mode + if (displayMode == TextDisplayMode.Instant) + { + textDisplay.text = text; + } + else // Typewriter mode + { + textDisplay.text = string.Empty; // Clear the text initially + typewriterCoroutine = StartCoroutine(TypewriterEffect(text)); + } + + // Make sure the bubble is visible when setting text + if (!isVisible) + Show(); + } + + /// + /// Change the display mode + /// + /// New display mode + public void SetDisplayMode(TextDisplayMode mode) + { + displayMode = mode; + + // If we're changing modes while text is displayed, refresh it + if (!string.IsNullOrEmpty(currentFullText)) + { + SetText(currentFullText); + } + } + + /// + /// Skip the typewriter effect and show the full text immediately + /// + public void SkipTypewriter() + { + if (typewriterCoroutine != null) + { + StopCoroutine(typewriterCoroutine); + typewriterCoroutine = null; + textDisplay.text = currentFullText; + } + } + + /// + /// Set the speed of the typewriter effect + /// + /// Characters per second + public void SetTypewriterSpeed(float charactersPerSecond) + { + if (charactersPerSecond <= 0) + { + Debug.LogError("SpeechBubble: Typewriter speed must be greater than 0!"); + return; + } + + typewriterSpeed = 1f / charactersPerSecond; + } + + /// + /// Coroutine that gradually reveals text one character at a time + /// + private IEnumerator TypewriterEffect(string text) + { + int visibleCount = 0; + int characterCount = 0; + + while (visibleCount < text.Length) + { + // Skip rich text tags if enabled + if (useRichText && visibleCount < text.Length && text[visibleCount] == '<') + { + // Find the end of the tag + int tagEnd = text.IndexOf('>', visibleCount); + if (tagEnd != -1) + { + // Include the entire tag at once + visibleCount = tagEnd + 1; + textDisplay.text = text.Substring(0, visibleCount); + continue; + } + } + + // Reveal the next character + visibleCount++; + characterCount++; + textDisplay.text = text.Substring(0, visibleCount); + + // Play typing sound at specified frequency + if (typingSoundSource != null && characterCount % typingSoundFrequency == 0) + { + typingSoundSource.Play(); + } + + yield return new WaitForSeconds(typewriterSpeed); + } + + typewriterCoroutine = null; + } + } +} diff --git a/Assets/Scripts/Dialogue/SpeechBubble.cs.meta b/Assets/Scripts/Dialogue/SpeechBubble.cs.meta new file mode 100644 index 00000000..27be7c3e --- /dev/null +++ b/Assets/Scripts/Dialogue/SpeechBubble.cs.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: cb3605ae81a54d2689504e0cd456ac27 +timeCreated: 1758973942 \ No newline at end of file