diff --git a/BlueWater/Assets/01.Scenes/02.Main.unity b/BlueWater/Assets/01.Scenes/02.Main.unity index db1ac632a..e6ae7d161 100644 --- a/BlueWater/Assets/01.Scenes/02.Main.unity +++ b/BlueWater/Assets/01.Scenes/02.Main.unity @@ -4046,6 +4046,53 @@ Transform: type: 3} m_PrefabInstance: {fileID: 106876595} m_PrefabAsset: {fileID: 0} +--- !u!1 &107190133 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 107190135} + - component: {fileID: 107190134} + m_Layer: 0 + m_Name: DataBase + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &107190134 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 107190133} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 996bb30c01d484013ab3cb98f88b5c03, type: 3} + m_Name: + m_EditorClassIdentifier: + _persistent: 0 + mouseSpot: {fileID: 1347266192824951316, guid: 049de7a77e0534ced92b672937a0f8db, + type: 3} +--- !u!4 &107190135 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 107190133} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 0} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!1001 &109766956 PrefabInstance: m_ObjectHideFlags: 0 @@ -94203,3 +94250,4 @@ SceneRoots: - {fileID: 1300315323} - {fileID: 1395280334} - {fileID: 1379785728} + - {fileID: 107190135} diff --git a/BlueWater/Assets/02.Scripts/AssaultMode/Boat.cs b/BlueWater/Assets/02.Scripts/AssaultMode/Boat.cs index 87ba446f1..cefd3b747 100644 --- a/BlueWater/Assets/02.Scripts/AssaultMode/Boat.cs +++ b/BlueWater/Assets/02.Scripts/AssaultMode/Boat.cs @@ -7,10 +7,22 @@ using UnityEngine.AI; public class Boat : MonoBehaviour { private NavMeshAgent agent; + private LineRenderer lineRenderer; + + private GameObject spot; + + private Coroutine draw; private void Awake() { agent = GetComponent(); + lineRenderer = GetComponent(); + lineRenderer.startWidth = 0.1f; + lineRenderer.endWidth = 0.1f; + lineRenderer.material.color = Color.yellow; + lineRenderer.enabled = false; + + spot = Instantiate(DataManager.Inst.mouseSpot); } private void Update() @@ -23,7 +35,36 @@ public class Boat : MonoBehaviour if (Physics.Raycast(ray, out hit, 1000f)) { agent.SetDestination(hit.point); + + spot.gameObject.SetActive(true); + spot.transform.position = hit.point; + + if (draw != null) StopCoroutine(draw); + draw = StartCoroutine(DrawPath()); } } + else if (agent.remainingDistance < 0.1f) + { + spot.gameObject.SetActive(false); + + lineRenderer.enabled = false; + if (draw != null) StopCoroutine(draw); + } + } + + private IEnumerator DrawPath() + { + lineRenderer.enabled = true; + yield return null; + while (true) + { + var count = agent.path.corners.Length; + lineRenderer.positionCount = count; + for (var i = 0; i < count; i++) + { + lineRenderer.SetPosition(i, agent.path.corners[i] + new Vector3(0,1,0)); + } + yield return null; + } } } \ No newline at end of file diff --git a/BlueWater/Assets/02.Scripts/DataManager.cs b/BlueWater/Assets/02.Scripts/DataManager.cs new file mode 100644 index 000000000..9d57355ea --- /dev/null +++ b/BlueWater/Assets/02.Scripts/DataManager.cs @@ -0,0 +1,8 @@ +using System.Collections; +using System.Collections.Generic; +using UnityEngine; + +public class DataManager : Singleton +{ + public GameObject mouseSpot; +} \ No newline at end of file diff --git a/BlueWater/Assets/02.Scripts/DataManager.cs.meta b/BlueWater/Assets/02.Scripts/DataManager.cs.meta new file mode 100644 index 000000000..1cedf1e8e --- /dev/null +++ b/BlueWater/Assets/02.Scripts/DataManager.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 996bb30c01d484013ab3cb98f88b5c03 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/BlueWater/Assets/03.Images/Aim 1.png b/BlueWater/Assets/03.Images/Aim 1.png new file mode 100644 index 000000000..c37af8326 Binary files /dev/null and b/BlueWater/Assets/03.Images/Aim 1.png differ diff --git a/BlueWater/Assets/03.Images/Aim 1.png.meta b/BlueWater/Assets/03.Images/Aim 1.png.meta new file mode 100644 index 000000000..be4ba428e --- /dev/null +++ b/BlueWater/Assets/03.Images/Aim 1.png.meta @@ -0,0 +1,104 @@ +fileFormatVersion: 2 +guid: 68871f1860fe641d4b3c29f7a2194c00 +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 11 + 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 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: -1 + aniso: -1 + mipBias: -100 + 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 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + applyGammaDecoding: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 0 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 0 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: 5e97eb03825dee720800000000000000 + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/BlueWater/Assets/05.Prefabs/Boat.prefab b/BlueWater/Assets/05.Prefabs/Boat.prefab index bf1c73f05..1b57a77b1 100644 --- a/BlueWater/Assets/05.Prefabs/Boat.prefab +++ b/BlueWater/Assets/05.Prefabs/Boat.prefab @@ -14,6 +14,7 @@ GameObject: - component: {fileID: 9122999611070572703} - component: {fileID: 9011106761725659084} - component: {fileID: 8084239805898337567} + - component: {fileID: 8032128772330494246} m_Layer: 0 m_Name: Boat m_TagString: Untagged @@ -132,6 +133,110 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: 6e95b875b6bbf4de2ba04d0321464461, type: 3} m_Name: m_EditorClassIdentifier: +--- !u!120 &8032128772330494246 +LineRenderer: + serializedVersion: 2 + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2987405546353765599} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 0 + m_LightProbeUsage: 0 + m_ReflectionProbeUsage: 0 + m_RayTracingMode: 0 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 0} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_Positions: + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 1} + m_Parameters: + serializedVersion: 3 + widthMultiplier: 1 + widthCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + colorGradient: + serializedVersion: 2 + key0: {r: 1, g: 1, b: 1, a: 1} + key1: {r: 1, g: 1, b: 1, a: 1} + key2: {r: 0, g: 0, b: 0, a: 0} + key3: {r: 0, g: 0, b: 0, a: 0} + key4: {r: 0, g: 0, b: 0, a: 0} + key5: {r: 0, g: 0, b: 0, a: 0} + key6: {r: 0, g: 0, b: 0, a: 0} + key7: {r: 0, g: 0, b: 0, a: 0} + ctime0: 0 + ctime1: 65535 + ctime2: 0 + ctime3: 0 + ctime4: 0 + ctime5: 0 + ctime6: 0 + ctime7: 0 + atime0: 0 + atime1: 65535 + atime2: 0 + atime3: 0 + atime4: 0 + atime5: 0 + atime6: 0 + atime7: 0 + m_Mode: 0 + m_ColorSpace: -1 + m_NumColorKeys: 2 + m_NumAlphaKeys: 2 + numCornerVertices: 0 + numCapVertices: 0 + alignment: 0 + textureMode: 0 + textureScale: {x: 1, y: 1} + shadowBias: 0.5 + generateLightingData: 0 + m_MaskInteraction: 0 + m_UseWorldSpace: 1 + m_Loop: 0 + m_ApplyActiveColorSpace: 1 --- !u!1 &7437018900642618180 GameObject: m_ObjectHideFlags: 0 diff --git a/BlueWater/Assets/05.Prefabs/MouseSpot.prefab b/BlueWater/Assets/05.Prefabs/MouseSpot.prefab new file mode 100644 index 000000000..81a48244e --- /dev/null +++ b/BlueWater/Assets/05.Prefabs/MouseSpot.prefab @@ -0,0 +1,118 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1 &1347266192824951316 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 7479120500031453395} + m_Layer: 0 + m_Name: MouseSpot + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 0 +--- !u!4 &7479120500031453395 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1347266192824951316} + serializedVersion: 2 + 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: 5741920478964034319} + m_Father: {fileID: 0} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &2705097178108100607 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 5741920478964034319} + - component: {fileID: 1922925929341755139} + m_Layer: 0 + m_Name: SpriteSpot + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &5741920478964034319 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2705097178108100607} + serializedVersion: 2 + m_LocalRotation: {x: 0.7071068, y: -0, z: -0, w: 0.7071068} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 0.75, y: 0.75, z: 0.75} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 7479120500031453395} + m_LocalEulerAnglesHint: {x: 90, y: 0, z: 0} +--- !u!212 &1922925929341755139 +SpriteRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2705097178108100607} + 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_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 10754, guid: 0000000000000000f000000000000000, type: 0} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 0 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_Sprite: {fileID: 21300000, guid: 68871f1860fe641d4b3c29f7a2194c00, type: 3} + m_Color: {r: 1, g: 0, b: 0.052272797, a: 1} + m_FlipX: 0 + m_FlipY: 0 + m_DrawMode: 0 + m_Size: {x: 2.56, y: 2.56} + m_AdaptiveModeThreshold: 0.5 + m_SpriteTileMode: 0 + m_WasSpriteAssigned: 1 + m_MaskInteraction: 0 + m_SpriteSortPoint: 0 diff --git a/BlueWater/Assets/05.Prefabs/MouseSpot.prefab.meta b/BlueWater/Assets/05.Prefabs/MouseSpot.prefab.meta new file mode 100644 index 000000000..21096a7d5 --- /dev/null +++ b/BlueWater/Assets/05.Prefabs/MouseSpot.prefab.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 049de7a77e0534ced92b672937a0f8db +PrefabImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: