From 63d359793b89856b939b242c4570aff626ebe7cb Mon Sep 17 00:00:00 2001 From: Sewmina Date: Wed, 1 Feb 2023 20:09:15 +0530 Subject: [PATCH] Fixed drawing --- .../New Physics Material 2D.physicsMaterial2D | 11 + ...Physics Material 2D.physicsMaterial2D.meta | 8 + Assets/Scenes/SampleScene.unity | 401 +++++++++++++++++- Assets/Scripts/Drawer.cs | 24 +- Assets/Scripts/Enemy.cs | 14 + Assets/Scripts/Enemy.cs.meta | 11 + Assets/Scripts/GameManager.cs | 25 ++ Assets/Scripts/GameManager.cs.meta | 11 + 8 files changed, 485 insertions(+), 20 deletions(-) create mode 100644 Assets/New Physics Material 2D.physicsMaterial2D create mode 100644 Assets/New Physics Material 2D.physicsMaterial2D.meta create mode 100644 Assets/Scripts/Enemy.cs create mode 100644 Assets/Scripts/Enemy.cs.meta create mode 100644 Assets/Scripts/GameManager.cs create mode 100644 Assets/Scripts/GameManager.cs.meta diff --git a/Assets/New Physics Material 2D.physicsMaterial2D b/Assets/New Physics Material 2D.physicsMaterial2D new file mode 100644 index 0000000..2049aaa --- /dev/null +++ b/Assets/New Physics Material 2D.physicsMaterial2D @@ -0,0 +1,11 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!62 &6200000 +PhysicsMaterial2D: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: New Physics Material 2D + friction: 0.4 + bounciness: 0 diff --git a/Assets/New Physics Material 2D.physicsMaterial2D.meta b/Assets/New Physics Material 2D.physicsMaterial2D.meta new file mode 100644 index 0000000..e39669a --- /dev/null +++ b/Assets/New Physics Material 2D.physicsMaterial2D.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: e0180dc59aef69b45bc61f601b4c2cf2 +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 6200000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scenes/SampleScene.unity b/Assets/Scenes/SampleScene.unity index 939f039..186935e 100644 --- a/Assets/Scenes/SampleScene.unity +++ b/Assets/Scenes/SampleScene.unity @@ -254,8 +254,8 @@ Transform: m_Father: {fileID: 0} m_RootOrder: 3 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!68 &438339 -EdgeCollider2D: +--- !u!60 &438339 +PolygonCollider2D: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} @@ -268,14 +268,22 @@ EdgeCollider2D: m_UsedByEffector: 0 m_UsedByComposite: 0 m_Offset: {x: 0, y: 0} - m_EdgeRadius: 0 + m_SpriteTilingProperty: + border: {x: 0, y: 0, z: 0, w: 0} + pivot: {x: 0, y: 0} + oldSize: {x: 0, y: 0} + newSize: {x: 0, y: 0} + adaptiveTilingThreshold: 0 + drawMode: 0 + adaptiveTiling: 0 + m_AutoTiling: 0 m_Points: - - {x: -0.05, y: 0} - - {x: 0.05, y: 0} - m_AdjacentStartPoint: {x: 0, y: 0} - m_AdjacentEndPoint: {x: 0, y: 0} - m_UseAdjacentStartPoint: 0 - m_UseAdjacentEndPoint: 0 + m_Paths: + - - {x: 0, y: 0.05} + - {x: -0.047552828, y: 0.015450849} + - {x: -0.02938926, y: -0.040450852} + - {x: 0.029389268, y: -0.04045085} + - {x: 0.047552824, y: 0.015450857} --- !u!50 &438340 Rigidbody2D: serializedVersion: 4 @@ -287,15 +295,15 @@ Rigidbody2D: m_BodyType: 0 m_Simulated: 0 m_UseFullKinematicContacts: 0 - m_UseAutoMass: 0 - m_Mass: 1 - m_LinearDrag: 1 + m_UseAutoMass: 1 + m_Mass: 0.0059441035 + m_LinearDrag: 0 m_AngularDrag: 0 - m_GravityScale: 0.5 - m_Material: {fileID: 0} - m_Interpolate: 0 + m_GravityScale: 0.25 + m_Material: {fileID: 6200000, guid: e0180dc59aef69b45bc61f601b4c2cf2, type: 2} + m_Interpolate: 2 m_SleepingMode: 1 - m_CollisionDetection: 1 + m_CollisionDetection: 0 m_Constraints: 0 --- !u!1 &213086155 GameObject: @@ -583,6 +591,119 @@ CanvasRenderer: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 892467175} m_CullTransparentMesh: 1 +--- !u!1 &947231827 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 947231830} + - component: {fileID: 947231829} + - component: {fileID: 947231828} + - component: {fileID: 947231831} + m_Layer: 0 + m_Name: enemy + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 0 +--- !u!114 &947231828 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 947231827} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: a515e7c6c1edfdd44a449609cf5191e2, type: 3} + m_Name: + m_EditorClassIdentifier: + moveSpeed: 0.01 +--- !u!212 &947231829 +SpriteRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 947231827} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_DynamicOccludee: 1 + 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: ebe73ca9363db456bacf42c025bb4847, 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, y: 1} + m_AdaptiveModeThreshold: 0.5 + m_SpriteTileMode: 0 + m_WasSpriteAssigned: 1 + m_MaskInteraction: 0 + m_SpriteSortPoint: 0 +--- !u!4 &947231830 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 947231827} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -4.245131, y: 3.04, z: 0} + m_LocalScale: {x: 0.5, y: 0.5, z: 1} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 7 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!58 &947231831 +CircleCollider2D: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 947231827} + m_Enabled: 1 + m_Density: 1 + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_UsedByEffector: 0 + m_UsedByComposite: 0 + m_Offset: {x: 0, y: 0} + serializedVersion: 2 + m_Radius: 0.5 --- !u!1 &1011955017 GameObject: m_ObjectHideFlags: 0 @@ -593,6 +714,7 @@ GameObject: m_Component: - component: {fileID: 1011955019} - component: {fileID: 1011955018} + - component: {fileID: 1011955020} m_Layer: 0 m_Name: GameManager m_TagString: Untagged @@ -628,6 +750,19 @@ Transform: m_Father: {fileID: 0} m_RootOrder: 2 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &1011955020 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1011955017} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: d2f7f662bf5cf054bafc6df165d07f7a, type: 3} + m_Name: + m_EditorClassIdentifier: + player: {fileID: 1688767157} --- !u!1 &1223984566 GameObject: m_ObjectHideFlags: 0 @@ -737,6 +872,240 @@ BoxCollider2D: serializedVersion: 2 m_Size: {x: 1, y: 1} m_EdgeRadius: 0 +--- !u!1 &1688767153 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1688767157} + - component: {fileID: 1688767156} + - component: {fileID: 1688767155} + - component: {fileID: 1688767154} + m_Layer: 0 + m_Name: Player + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!50 &1688767154 +Rigidbody2D: + serializedVersion: 4 + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1688767153} + m_BodyType: 0 + m_Simulated: 1 + m_UseFullKinematicContacts: 0 + m_UseAutoMass: 0 + m_Mass: 0.5 + m_LinearDrag: 0 + m_AngularDrag: 0.05 + m_GravityScale: 1 + m_Material: {fileID: 0} + m_Interpolate: 0 + m_SleepingMode: 1 + m_CollisionDetection: 0 + m_Constraints: 0 +--- !u!58 &1688767155 +CircleCollider2D: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1688767153} + m_Enabled: 1 + m_Density: 1 + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_UsedByEffector: 0 + m_UsedByComposite: 0 + m_Offset: {x: 0, y: 0} + serializedVersion: 2 + m_Radius: 0.5 +--- !u!212 &1688767156 +SpriteRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1688767153} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_DynamicOccludee: 1 + 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: ebe73ca9363db456bacf42c025bb4847, 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, y: 1} + m_AdaptiveModeThreshold: 0.5 + m_SpriteTileMode: 0 + m_WasSpriteAssigned: 1 + m_MaskInteraction: 0 + m_SpriteSortPoint: 0 +--- !u!4 &1688767157 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1688767153} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -0.46, y: -2.02, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 6 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1919562618 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1919562621} + - component: {fileID: 1919562620} + - component: {fileID: 1919562619} + - component: {fileID: 1919562622} + m_Layer: 0 + m_Name: enemy (1) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 0 +--- !u!114 &1919562619 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1919562618} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: a515e7c6c1edfdd44a449609cf5191e2, type: 3} + m_Name: + m_EditorClassIdentifier: + moveSpeed: 0.01 +--- !u!212 &1919562620 +SpriteRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1919562618} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_DynamicOccludee: 1 + 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: ebe73ca9363db456bacf42c025bb4847, 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, y: 1} + m_AdaptiveModeThreshold: 0.5 + m_SpriteTileMode: 0 + m_WasSpriteAssigned: 1 + m_MaskInteraction: 0 + m_SpriteSortPoint: 0 +--- !u!4 &1919562621 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1919562618} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 5.87, y: 3.04, z: 0} + m_LocalScale: {x: 0.5, y: 0.5, z: 1} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 8 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!58 &1919562622 +CircleCollider2D: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1919562618} + m_Enabled: 1 + m_Density: 1 + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_UsedByEffector: 0 + m_UsedByComposite: 0 + m_Offset: {x: 0, y: 0} + serializedVersion: 2 + m_Radius: 0.5 --- !u!1 &1981446457 GameObject: m_ObjectHideFlags: 0 diff --git a/Assets/Scripts/Drawer.cs b/Assets/Scripts/Drawer.cs index a248583..736c20f 100644 --- a/Assets/Scripts/Drawer.cs +++ b/Assets/Scripts/Drawer.cs @@ -6,7 +6,7 @@ using UnityEngine.EventSystems; public class Drawer : MonoBehaviour { public LineRenderer lineRenderer; - public EdgeCollider2D edgeCollider2D; + public PolygonCollider2D edgeCollider2D; List points = new List(); @@ -20,14 +20,25 @@ public class Drawer : MonoBehaviour points = new List(); + // lineRenderer.transform.position = new Vector3(0, 0, 10); + //lineRenderer.GetComponent().simulated = false; + } Vector3 startedPoint = new Vector3(); public void OnMouseDrag(BaseEventData e) { PointerEventData ped = (PointerEventData) e as PointerEventData; + Vector3 worldPos = Camera.main.ScreenToWorldPoint(ped.position); + if(points.Count> 0) { + RaycastHit2D hit = Physics2D.Linecast(points[points.Count - 1], worldPos); + if (hit.collider != null) + { + return; + } + } - points.Add(Camera.main.ScreenToWorldPoint(ped.position)); + points.Add(worldPos); UpdateLine(); } @@ -54,7 +65,12 @@ public class Drawer : MonoBehaviour { points3.Add(point); } - edgeCollider2D.SetPoints(points3); + for(int i= points.Count-1; i >0; i--) + { + points3.Add(points[i] + new Vector3(0,0.1f,0)); + } + //edgeCollider2D.SetPoints(points3); + edgeCollider2D.SetPath(0, points3); edgeCollider2D.GetComponent().simulated = true; } @@ -62,7 +78,7 @@ public class Drawer : MonoBehaviour { if (edgeCollider2D == null) { - edgeCollider2D = lineRenderer.GetComponent(); + edgeCollider2D = lineRenderer.GetComponent(); } } } diff --git a/Assets/Scripts/Enemy.cs b/Assets/Scripts/Enemy.cs new file mode 100644 index 0000000..a3bd21f --- /dev/null +++ b/Assets/Scripts/Enemy.cs @@ -0,0 +1,14 @@ +using System.Collections; +using System.Collections.Generic; +using UnityEngine; + +public class Enemy : MonoBehaviour +{ + public float moveSpeed = 0.1f; + void FixedUpdate() + { + if (GameManager.Player == null) { return; } + + transform.Translate((GameManager.Player.position - transform.position).normalized * moveSpeed); + } +} diff --git a/Assets/Scripts/Enemy.cs.meta b/Assets/Scripts/Enemy.cs.meta new file mode 100644 index 0000000..3e36744 --- /dev/null +++ b/Assets/Scripts/Enemy.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: a515e7c6c1edfdd44a449609cf5191e2 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/GameManager.cs b/Assets/Scripts/GameManager.cs new file mode 100644 index 0000000..2f9ca1b --- /dev/null +++ b/Assets/Scripts/GameManager.cs @@ -0,0 +1,25 @@ +using System.Collections; +using System.Collections.Generic; +using UnityEngine; + +public class GameManager : MonoBehaviour +{ + public Transform player; + public static Transform Player { get { if (instance == null) { return null; } return instance.player; } } + + public static GameManager instance { get;private set; } + void Awake() + { + instance = this; + } + void Start() + { + + } + + // Update is called once per frame + void Update() + { + + } +} diff --git a/Assets/Scripts/GameManager.cs.meta b/Assets/Scripts/GameManager.cs.meta new file mode 100644 index 0000000..130154c --- /dev/null +++ b/Assets/Scripts/GameManager.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: d2f7f662bf5cf054bafc6df165d07f7a +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: