diff --git a/Game/Assets/Images/tutorial_overlay.png b/Game/Assets/Images/tutorial_overlay.png new file mode 100644 index 0000000..beb0c19 Binary files /dev/null and b/Game/Assets/Images/tutorial_overlay.png differ diff --git a/Game/Assets/Images/tutorial_overlay.png.meta b/Game/Assets/Images/tutorial_overlay.png.meta new file mode 100644 index 0000000..853512a --- /dev/null +++ b/Game/Assets/Images/tutorial_overlay.png.meta @@ -0,0 +1,143 @@ +fileFormatVersion: 2 +guid: 2d7aa02be51b81246808ab5f771a83f0 +TextureImporter: + internalIDToNameTable: + - first: + 213: -6216912767298875642 + second: tutorial_overlay_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: 1 + 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: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: + - serializedVersion: 2 + name: tutorial_overlay_0 + rect: + serializedVersion: 2 + x: 141 + y: 96 + width: 1659 + height: 900 + alignment: 0 + pivot: {x: 0, y: 0} + border: {x: 0, y: 0, z: 0, w: 0} + customData: + outline: [] + physicsShape: [] + tessellationDetail: -1 + bones: [] + spriteID: 60f4f89d6c619b9a0800000000000000 + internalID: -6216912767298875642 + vertices: [] + indices: + edges: [] + weights: [] + outline: [] + customData: + physicsShape: [] + bones: [] + spriteID: 5e97eb03825dee720800000000000000 + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spriteCustomMetadata: + entries: [] + nameFileIdTable: + tutorial_overlay_0: -6216912767298875642 + mipmapLimitGroupName: + pSDRemoveMatte: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Game/Assets/Scenes/0_MainScene.unity b/Game/Assets/Scenes/0_MainScene.unity index 9c1d802..28e5ee5 100644 --- a/Game/Assets/Scenes/0_MainScene.unity +++ b/Game/Assets/Scenes/0_MainScene.unity @@ -11817,6 +11817,111 @@ Transform: m_CorrespondingSourceObject: {fileID: 3716675160571751340, guid: 75f874d3ca3f68b49a41d36dd14f6674, type: 3} m_PrefabInstance: {fileID: 2011098141} m_PrefabAsset: {fileID: 0} +--- !u!1 &2035351420 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 2035351422} + - component: {fileID: 2035351421} + - component: {fileID: 2035351423} + m_Layer: 0 + m_Name: tutorial_overlay + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!212 &2035351421 +SpriteRenderer: + serializedVersion: 2 + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2035351420} + 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: -925020913 + m_SortingLayer: 1 + m_SortingOrder: 0 + m_MaskInteraction: 0 + m_Sprite: {fileID: 21300000, guid: 2d7aa02be51b81246808ab5f771a83f0, type: 3} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_FlipX: 0 + m_FlipY: 0 + m_DrawMode: 0 + m_Size: {x: 19.2, y: 10.8} + m_AdaptiveModeThreshold: 0.5 + m_SpriteTileMode: 0 + m_WasSpriteAssigned: 1 + m_SpriteSortPoint: 0 +--- !u!4 &2035351422 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2035351420} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -0.4614, y: 9.1879, z: 0} + m_LocalScale: {x: 1.1992414, y: 1.1864414, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 0} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &2035351423 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2035351420} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 2dad36344cb7b6942ab3d266fc502a60, type: 3} + m_Name: + m_EditorClassIdentifier: Assembly-CSharp::TutorialScript + popupPanel: {fileID: 2035351420} --- !u!1 &2049812124 GameObject: m_ObjectHideFlags: 0 @@ -12692,3 +12797,4 @@ SceneRoots: - {fileID: 750131492} - {fileID: 1670488070} - {fileID: 1254619237} + - {fileID: 2035351422} diff --git a/Game/Assets/Scripts/TutorialScript.cs b/Game/Assets/Scripts/TutorialScript.cs new file mode 100644 index 0000000..eafb4e7 --- /dev/null +++ b/Game/Assets/Scripts/TutorialScript.cs @@ -0,0 +1,12 @@ +using UnityEngine; + +public class TutorialScript : MonoBehaviour +{ + void Update() + { + if (Input.anyKeyDown) + { + gameObject.SetActive(false); + } + } +} diff --git a/Game/Assets/Scripts/TutorialScript.cs.meta b/Game/Assets/Scripts/TutorialScript.cs.meta new file mode 100644 index 0000000..5008db3 --- /dev/null +++ b/Game/Assets/Scripts/TutorialScript.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: 2dad36344cb7b6942ab3d266fc502a60 \ No newline at end of file diff --git a/Game/Assets/Scripts/WindManager.cs b/Game/Assets/Scripts/WindManager.cs index fcf5a6a..95bb8c6 100644 --- a/Game/Assets/Scripts/WindManager.cs +++ b/Game/Assets/Scripts/WindManager.cs @@ -15,6 +15,8 @@ public class WindManager : MonoBehaviour public float CurrentWindForce { get; private set; } + private bool windStarted = false; + void Awake() { Instance = this; @@ -26,8 +28,15 @@ public class WindManager : MonoBehaviour { effect.SetActive(false); } + } - StartCoroutine(WindRoutine()); + void Update() + { + if (!windStarted && Input.anyKeyDown) + { + windStarted = true; + StartCoroutine(WindRoutine()); + } } IEnumerator WindRoutine()