From ec10c432282d5d1d976d192e13de93e119b52e40 Mon Sep 17 00:00:00 2001 From: Stedd Date: Sun, 3 Sep 2023 20:12:57 +0200 Subject: [PATCH] Unit selection --- Assets/Prefabs/Unit.prefab | 154 +++++++++++ Assets/Scenes/MainScene.unity | 48 ++++ Assets/Scripts/Units/Unit.cs | 30 +++ Assets/Scripts/Units/Unit.cs.meta | 11 + Assets/Scripts/Units/UnitSelectionHandler.cs | 60 +++++ .../Units/UnitSelectionHandler.cs.meta | 11 + Assets/Sprites.meta | 8 + Assets/Sprites/Circle.png | Bin 0 -> 6085 bytes Assets/Sprites/Circle.png.meta | 242 ++++++++++++++++++ Packages/manifest.json | 1 + Packages/packages-lock.json | 6 + 11 files changed, 571 insertions(+) create mode 100644 Assets/Scripts/Units/Unit.cs create mode 100644 Assets/Scripts/Units/Unit.cs.meta create mode 100644 Assets/Scripts/Units/UnitSelectionHandler.cs create mode 100644 Assets/Scripts/Units/UnitSelectionHandler.cs.meta create mode 100644 Assets/Sprites.meta create mode 100644 Assets/Sprites/Circle.png create mode 100644 Assets/Sprites/Circle.png.meta diff --git a/Assets/Prefabs/Unit.prefab b/Assets/Prefabs/Unit.prefab index 49c0f8a..f424c6d 100644 --- a/Assets/Prefabs/Unit.prefab +++ b/Assets/Prefabs/Unit.prefab @@ -13,6 +13,8 @@ GameObject: - component: {fileID: 2439696136893951540} - component: {fileID: 6123744421715133446} - component: {fileID: 8681090027785358193} + - component: {fileID: 7770459125504658227} + - component: {fileID: 5384588383080796762} m_Layer: 0 m_Name: Unit m_TagString: Untagged @@ -34,6 +36,7 @@ Transform: m_ConstrainProportionsScale: 0 m_Children: - {fileID: 4352769845730777867} + - {fileID: 6948037795542299232} m_Father: {fileID: 0} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!114 &5351038950168726961 @@ -126,6 +129,157 @@ MonoBehaviour: syncMode: 0 syncInterval: 0 _navMeshAgent: {fileID: 6123744421715133446} +--- !u!114 &7770459125504658227 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5181188659209802552} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 2a7a4f02bd4e3e34b92eebf0b754ccdc, type: 3} + m_Name: + m_EditorClassIdentifier: + syncDirection: 0 + syncMode: 0 + syncInterval: 0 + _onSelect: + m_PersistentCalls: + m_Calls: + - m_Target: {fileID: 6358282482050904411} + m_TargetAssemblyTypeName: UnityEngine.GameObject, UnityEngine + m_MethodName: SetActive + m_Mode: 6 + m_Arguments: + m_ObjectArgument: {fileID: 0} + m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine + m_IntArgument: 0 + m_FloatArgument: 0 + m_StringArgument: + m_BoolArgument: 1 + m_CallState: 2 + _onDeSelect: + m_PersistentCalls: + m_Calls: + - m_Target: {fileID: 6358282482050904411} + m_TargetAssemblyTypeName: UnityEngine.GameObject, UnityEngine + m_MethodName: SetActive + m_Mode: 6 + m_Arguments: + m_ObjectArgument: {fileID: 0} + m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine + m_IntArgument: 0 + m_FloatArgument: 0 + m_StringArgument: + m_BoolArgument: 0 + m_CallState: 2 +--- !u!65 &5384588383080796762 +BoxCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5181188659209802552} + m_Material: {fileID: 0} + m_IncludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_ExcludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_LayerOverridePriority: 0 + m_IsTrigger: 1 + m_ProvidesContacts: 0 + m_Enabled: 1 + serializedVersion: 3 + m_Size: {x: 2.749671, y: 2.2733965, z: 3.884873} + m_Center: {x: -0.00000047683716, y: 1.1574342, z: 0.7134073} +--- !u!1 &6358282482050904411 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 6948037795542299232} + - component: {fileID: 1194532061746196526} + m_Layer: 0 + m_Name: UnitHighlight + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 0 +--- !u!4 &6948037795542299232 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6358282482050904411} + 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: 4.26, y: 4.26, z: 4.26} + m_ConstrainProportionsScale: 1 + m_Children: [] + m_Father: {fileID: 2385999535964237451} + m_LocalEulerAnglesHint: {x: 90, y: 0, z: 0} +--- !u!212 &1194532061746196526 +SpriteRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6358282482050904411} + 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: -2413806693520163455, guid: aabb129e84861924788362fbbdd3a6fc, + type: 3} + m_Color: {r: 0.025763188, g: 1, b: 0.0047169924, a: 1} + m_FlipX: 0 + m_FlipY: 0 + m_DrawMode: 0 + m_Size: {x: 1, y: 1} + m_AdaptiveModeThreshold: 0.5 + m_SpriteTileMode: 0 + m_WasSpriteAssigned: 1 + m_MaskInteraction: 0 + m_SpriteSortPoint: 0 --- !u!1001 &4315183336175566048 PrefabInstance: m_ObjectHideFlags: 0 diff --git a/Assets/Scenes/MainScene.unity b/Assets/Scenes/MainScene.unity index 9362b03..e1b7ecb 100644 --- a/Assets/Scenes/MainScene.unity +++ b/Assets/Scenes/MainScene.unity @@ -793,6 +793,53 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: 41f84591ce72545258ea98cb7518d8b9, type: 3} m_Name: m_EditorClassIdentifier: +--- !u!1 &1784456512 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1784456514} + - component: {fileID: 1784456513} + m_Layer: 0 + m_Name: UnitSelectionHandler + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &1784456513 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1784456512} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 3cb0958ad41f7384d870591fbd0df32a, type: 3} + m_Name: + m_EditorClassIdentifier: + _layerMask: + serializedVersion: 2 + m_Bits: 4294967295 +--- !u!4 &1784456514 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1784456512} + 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!1 &1896718083 GameObject: m_ObjectHideFlags: 0 @@ -1107,3 +1154,4 @@ SceneRoots: - {fileID: 1904145807} - {fileID: 168675456} - {fileID: 578241694} + - {fileID: 1784456514} diff --git a/Assets/Scripts/Units/Unit.cs b/Assets/Scripts/Units/Unit.cs new file mode 100644 index 0000000..8779478 --- /dev/null +++ b/Assets/Scripts/Units/Unit.cs @@ -0,0 +1,30 @@ +using System.Collections; +using System.Collections.Generic; +using Mirror; +using UnityEngine; +using UnityEngine.Events; +using UnityEngine.Serialization; + +public class Unit : NetworkBehaviour +{ + [SerializeField] private UnityEvent _onSelect; + [SerializeField] private UnityEvent _onDeSelect; + + #region Client + + [Client] + public void Select() + { + if (!isOwned) return; + _onSelect?.Invoke(); + } + + [Client] + public void DeSelect() + { + if (!isOwned) return; + _onDeSelect?.Invoke(); + } + + #endregion +} \ No newline at end of file diff --git a/Assets/Scripts/Units/Unit.cs.meta b/Assets/Scripts/Units/Unit.cs.meta new file mode 100644 index 0000000..923ef3d --- /dev/null +++ b/Assets/Scripts/Units/Unit.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 2a7a4f02bd4e3e34b92eebf0b754ccdc +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/Units/UnitSelectionHandler.cs b/Assets/Scripts/Units/UnitSelectionHandler.cs new file mode 100644 index 0000000..fd66ff2 --- /dev/null +++ b/Assets/Scripts/Units/UnitSelectionHandler.cs @@ -0,0 +1,60 @@ +using System; +using System.Collections; +using System.Collections.Generic; +using System.Runtime.CompilerServices; +using UnityEngine; +using UnityEngine.InputSystem; + +public class UnitSelectionHandler : MonoBehaviour +{ + [SerializeField] private LayerMask _layerMask; + private Camera _mainCamera; + + private readonly List _selectedUnits = new(); + + private void Start() + { + _mainCamera = Camera.main; + } + + private void Update() + { + if (Mouse.current.leftButton.wasPressedThisFrame) + { + ClearSelectedUnits(); + //Start selection area + } + else if (Mouse.current.leftButton.wasReleasedThisFrame) + { + ClearSelectionArea(); + } + } + + private void ClearSelectedUnits() + { + foreach (Unit selectedUnit in _selectedUnits) + { + selectedUnit.DeSelect(); + } + + _selectedUnits.Clear(); + } + + private void ClearSelectionArea() + { + Ray ray = _mainCamera.ScreenPointToRay(Mouse.current.position.ReadValue()); + + if (!Physics.Raycast(ray, out RaycastHit hit, Mathf.Infinity, _layerMask)) return; + + if (!hit.collider.TryGetComponent(out Unit unit)) return; + + if (!unit.isOwned) return; + + _selectedUnits.Add(unit); + + foreach (Unit selectedUnit in _selectedUnits) + { + selectedUnit.Select(); + } + } +} \ No newline at end of file diff --git a/Assets/Scripts/Units/UnitSelectionHandler.cs.meta b/Assets/Scripts/Units/UnitSelectionHandler.cs.meta new file mode 100644 index 0000000..c659ce7 --- /dev/null +++ b/Assets/Scripts/Units/UnitSelectionHandler.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 3cb0958ad41f7384d870591fbd0df32a +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Sprites.meta b/Assets/Sprites.meta new file mode 100644 index 0000000..c5493d9 --- /dev/null +++ b/Assets/Sprites.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 0f20d7b35fe53994493990b9dcf31a19 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Sprites/Circle.png b/Assets/Sprites/Circle.png new file mode 100644 index 0000000000000000000000000000000000000000..a819a94061e76dd1e31179d28e9762622a17d53f GIT binary patch literal 6085 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 literal 0 HcmV?d00001 diff --git a/Assets/Sprites/Circle.png.meta b/Assets/Sprites/Circle.png.meta new file mode 100644 index 0000000..db7bf2a --- /dev/null +++ b/Assets/Sprites/Circle.png.meta @@ -0,0 +1,242 @@ +fileFormatVersion: 2 +guid: aabb129e84861924788362fbbdd3a6fc +TextureImporter: + internalIDToNameTable: + - first: + 213: -2413806693520163455 + second: Circle + externalObjects: {} + serializedVersion: 12 + 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: 256 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: 0 + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + swizzle: 50462976 + cookieLightType: 1 + platformSettings: + - serializedVersion: 3 + 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: 3 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + 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: 3 + buildTarget: iPhone + 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: 3 + buildTarget: Server + 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: Circle + rect: + serializedVersion: 2 + x: 0 + y: 0 + width: 256 + height: 256 + alignment: 0 + pivot: {x: 0.5, y: 0.5} + border: {x: 0, y: 0, z: 0, w: 0} + outline: + - - {x: 33, y: 128} + - {x: -33, y: 128} + - {x: -95, y: 95} + - {x: -128, y: 33} + - {x: -128, y: -33} + - {x: -95, y: -95} + - {x: -33, y: -128} + - {x: 33, y: -128} + - {x: 95, y: -95} + - {x: 128, y: -33} + - {x: 128, y: 33} + - {x: 95, y: 95} + physicsShape: + - - {x: 0, y: 128} + - {x: -39, y: 121} + - {x: -75, y: 103} + - {x: -103, y: 75} + - {x: -121, y: 39} + - {x: -128, y: 0} + - {x: -121, y: -39} + - {x: -103, y: -75} + - {x: -75, y: -103} + - {x: -39, y: -121} + - {x: 0, y: -128} + - {x: 39, y: -121} + - {x: 75, y: -103} + - {x: 103, y: -75} + - {x: 121, y: -39} + - {x: 128, y: 0} + - {x: 121, y: 39} + - {x: 103, y: 75} + - {x: 75, y: 103} + - {x: 39, y: 121} + tessellationDetail: 0 + bones: [] + spriteID: 18d3544e99f608ed0800000000000000 + internalID: -2413806693520163455 + vertices: [] + indices: + edges: [] + weights: [] + outline: + - - {x: 33, y: 128} + - {x: -33, y: 128} + - {x: -95, y: 95} + - {x: -128, y: 33} + - {x: -128, y: -33} + - {x: -95, y: -95} + - {x: -33, y: -128} + - {x: 33, y: -128} + - {x: 95, y: -95} + - {x: 128, y: -33} + - {x: 128, y: 33} + - {x: 95, y: 95} + physicsShape: + - - {x: 0, y: 128} + - {x: -39, y: 121} + - {x: -75, y: 103} + - {x: -103, y: 75} + - {x: -121, y: 39} + - {x: -128, y: 0} + - {x: -121, y: -39} + - {x: -103, y: -75} + - {x: -75, y: -103} + - {x: -39, y: -121} + - {x: 0, y: -128} + - {x: 39, y: -121} + - {x: 75, y: -103} + - {x: 103, y: -75} + - {x: 121, y: -39} + - {x: 128, y: 0} + - {x: 121, y: 39} + - {x: 103, y: 75} + - {x: 75, y: 103} + - {x: 39, y: 121} + bones: [] + spriteID: 5e97eb03825dee720800000000000000 + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + nameFileIdTable: + Circle: -2413806693520163455 + mipmapLimitGroupName: + pSDRemoveMatte: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Packages/manifest.json b/Packages/manifest.json index b484de4..0c81b8c 100644 --- a/Packages/manifest.json +++ b/Packages/manifest.json @@ -1,5 +1,6 @@ { "dependencies": { + "com.unity.2d.sprite": "1.0.0", "com.unity.ai.navigation": "1.1.4", "com.unity.cinemachine": "2.9.7", "com.unity.ide.rider": "3.0.24", diff --git a/Packages/packages-lock.json b/Packages/packages-lock.json index 3b3e1b0..a23f157 100644 --- a/Packages/packages-lock.json +++ b/Packages/packages-lock.json @@ -1,5 +1,11 @@ { "dependencies": { + "com.unity.2d.sprite": { + "version": "1.0.0", + "depth": 0, + "source": "builtin", + "dependencies": {} + }, "com.unity.ai.navigation": { "version": "1.1.4", "depth": 0,