Collission Checker has been Added and Basic Patrolling Enemy Updated to use the Checkers
This commit is contained in:
		
							
								
								
									
										359
									
								
								Assets/Prefabs/Basic Patrolling Enemy.prefab
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										359
									
								
								Assets/Prefabs/Basic Patrolling Enemy.prefab
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,359 @@
 | 
				
			|||||||
 | 
					%YAML 1.1
 | 
				
			||||||
 | 
					%TAG !u! tag:unity3d.com,2011:
 | 
				
			||||||
 | 
					--- !u!1 &1835766140300886803
 | 
				
			||||||
 | 
					GameObject:
 | 
				
			||||||
 | 
					  m_ObjectHideFlags: 0
 | 
				
			||||||
 | 
					  m_CorrespondingSourceObject: {fileID: 0}
 | 
				
			||||||
 | 
					  m_PrefabInstance: {fileID: 0}
 | 
				
			||||||
 | 
					  m_PrefabAsset: {fileID: 0}
 | 
				
			||||||
 | 
					  serializedVersion: 6
 | 
				
			||||||
 | 
					  m_Component:
 | 
				
			||||||
 | 
					  - component: {fileID: 334282908223700766}
 | 
				
			||||||
 | 
					  m_Layer: 0
 | 
				
			||||||
 | 
					  m_Name: Collission Checkers
 | 
				
			||||||
 | 
					  m_TagString: Untagged
 | 
				
			||||||
 | 
					  m_Icon: {fileID: 0}
 | 
				
			||||||
 | 
					  m_NavMeshLayer: 0
 | 
				
			||||||
 | 
					  m_StaticEditorFlags: 0
 | 
				
			||||||
 | 
					  m_IsActive: 1
 | 
				
			||||||
 | 
					--- !u!4 &334282908223700766
 | 
				
			||||||
 | 
					Transform:
 | 
				
			||||||
 | 
					  m_ObjectHideFlags: 0
 | 
				
			||||||
 | 
					  m_CorrespondingSourceObject: {fileID: 0}
 | 
				
			||||||
 | 
					  m_PrefabInstance: {fileID: 0}
 | 
				
			||||||
 | 
					  m_PrefabAsset: {fileID: 0}
 | 
				
			||||||
 | 
					  m_GameObject: {fileID: 1835766140300886803}
 | 
				
			||||||
 | 
					  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: 3171748321895642525}
 | 
				
			||||||
 | 
					  - {fileID: 7648712865646313035}
 | 
				
			||||||
 | 
					  - {fileID: 8757415820976640968}
 | 
				
			||||||
 | 
					  - {fileID: 7155506815360630270}
 | 
				
			||||||
 | 
					  m_Father: {fileID: 3234632762428300599}
 | 
				
			||||||
 | 
					  m_RootOrder: 0
 | 
				
			||||||
 | 
					  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
 | 
				
			||||||
 | 
					--- !u!1 &4544581046616649083
 | 
				
			||||||
 | 
					GameObject:
 | 
				
			||||||
 | 
					  m_ObjectHideFlags: 0
 | 
				
			||||||
 | 
					  m_CorrespondingSourceObject: {fileID: 0}
 | 
				
			||||||
 | 
					  m_PrefabInstance: {fileID: 0}
 | 
				
			||||||
 | 
					  m_PrefabAsset: {fileID: 0}
 | 
				
			||||||
 | 
					  serializedVersion: 6
 | 
				
			||||||
 | 
					  m_Component:
 | 
				
			||||||
 | 
					  - component: {fileID: 7155506815360630270}
 | 
				
			||||||
 | 
					  - component: {fileID: 5662617623326585126}
 | 
				
			||||||
 | 
					  m_Layer: 0
 | 
				
			||||||
 | 
					  m_Name: Right Ground
 | 
				
			||||||
 | 
					  m_TagString: Untagged
 | 
				
			||||||
 | 
					  m_Icon: {fileID: 0}
 | 
				
			||||||
 | 
					  m_NavMeshLayer: 0
 | 
				
			||||||
 | 
					  m_StaticEditorFlags: 0
 | 
				
			||||||
 | 
					  m_IsActive: 1
 | 
				
			||||||
 | 
					--- !u!4 &7155506815360630270
 | 
				
			||||||
 | 
					Transform:
 | 
				
			||||||
 | 
					  m_ObjectHideFlags: 0
 | 
				
			||||||
 | 
					  m_CorrespondingSourceObject: {fileID: 0}
 | 
				
			||||||
 | 
					  m_PrefabInstance: {fileID: 0}
 | 
				
			||||||
 | 
					  m_PrefabAsset: {fileID: 0}
 | 
				
			||||||
 | 
					  m_GameObject: {fileID: 4544581046616649083}
 | 
				
			||||||
 | 
					  m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
 | 
				
			||||||
 | 
					  m_LocalPosition: {x: 0.8, y: -0.75, z: 0}
 | 
				
			||||||
 | 
					  m_LocalScale: {x: 0.5, y: 0.5, z: 1}
 | 
				
			||||||
 | 
					  m_ConstrainProportionsScale: 0
 | 
				
			||||||
 | 
					  m_Children: []
 | 
				
			||||||
 | 
					  m_Father: {fileID: 334282908223700766}
 | 
				
			||||||
 | 
					  m_RootOrder: 3
 | 
				
			||||||
 | 
					  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
 | 
				
			||||||
 | 
					--- !u!114 &5662617623326585126
 | 
				
			||||||
 | 
					MonoBehaviour:
 | 
				
			||||||
 | 
					  m_ObjectHideFlags: 0
 | 
				
			||||||
 | 
					  m_CorrespondingSourceObject: {fileID: 0}
 | 
				
			||||||
 | 
					  m_PrefabInstance: {fileID: 0}
 | 
				
			||||||
 | 
					  m_PrefabAsset: {fileID: 0}
 | 
				
			||||||
 | 
					  m_GameObject: {fileID: 4544581046616649083}
 | 
				
			||||||
 | 
					  m_Enabled: 1
 | 
				
			||||||
 | 
					  m_EditorHideFlags: 0
 | 
				
			||||||
 | 
					  m_Script: {fileID: 11500000, guid: 02e036b6321fff34cbd154fd665a8b23, type: 3}
 | 
				
			||||||
 | 
					  m_Name: 
 | 
				
			||||||
 | 
					  m_EditorClassIdentifier: 
 | 
				
			||||||
 | 
					  LayerMask:
 | 
				
			||||||
 | 
					    serializedVersion: 2
 | 
				
			||||||
 | 
					    m_Bits: 4294967103
 | 
				
			||||||
 | 
					--- !u!1 &5991452379241120368
 | 
				
			||||||
 | 
					GameObject:
 | 
				
			||||||
 | 
					  m_ObjectHideFlags: 0
 | 
				
			||||||
 | 
					  m_CorrespondingSourceObject: {fileID: 0}
 | 
				
			||||||
 | 
					  m_PrefabInstance: {fileID: 0}
 | 
				
			||||||
 | 
					  m_PrefabAsset: {fileID: 0}
 | 
				
			||||||
 | 
					  serializedVersion: 6
 | 
				
			||||||
 | 
					  m_Component:
 | 
				
			||||||
 | 
					  - component: {fileID: 8757415820976640968}
 | 
				
			||||||
 | 
					  - component: {fileID: 7220208958583308284}
 | 
				
			||||||
 | 
					  m_Layer: 0
 | 
				
			||||||
 | 
					  m_Name: Left Ground
 | 
				
			||||||
 | 
					  m_TagString: Untagged
 | 
				
			||||||
 | 
					  m_Icon: {fileID: 0}
 | 
				
			||||||
 | 
					  m_NavMeshLayer: 0
 | 
				
			||||||
 | 
					  m_StaticEditorFlags: 0
 | 
				
			||||||
 | 
					  m_IsActive: 1
 | 
				
			||||||
 | 
					--- !u!4 &8757415820976640968
 | 
				
			||||||
 | 
					Transform:
 | 
				
			||||||
 | 
					  m_ObjectHideFlags: 0
 | 
				
			||||||
 | 
					  m_CorrespondingSourceObject: {fileID: 0}
 | 
				
			||||||
 | 
					  m_PrefabInstance: {fileID: 0}
 | 
				
			||||||
 | 
					  m_PrefabAsset: {fileID: 0}
 | 
				
			||||||
 | 
					  m_GameObject: {fileID: 5991452379241120368}
 | 
				
			||||||
 | 
					  m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
 | 
				
			||||||
 | 
					  m_LocalPosition: {x: -0.8, y: -0.75, z: 0}
 | 
				
			||||||
 | 
					  m_LocalScale: {x: 0.5, y: 0.5, z: 1}
 | 
				
			||||||
 | 
					  m_ConstrainProportionsScale: 0
 | 
				
			||||||
 | 
					  m_Children: []
 | 
				
			||||||
 | 
					  m_Father: {fileID: 334282908223700766}
 | 
				
			||||||
 | 
					  m_RootOrder: 2
 | 
				
			||||||
 | 
					  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
 | 
				
			||||||
 | 
					--- !u!114 &7220208958583308284
 | 
				
			||||||
 | 
					MonoBehaviour:
 | 
				
			||||||
 | 
					  m_ObjectHideFlags: 0
 | 
				
			||||||
 | 
					  m_CorrespondingSourceObject: {fileID: 0}
 | 
				
			||||||
 | 
					  m_PrefabInstance: {fileID: 0}
 | 
				
			||||||
 | 
					  m_PrefabAsset: {fileID: 0}
 | 
				
			||||||
 | 
					  m_GameObject: {fileID: 5991452379241120368}
 | 
				
			||||||
 | 
					  m_Enabled: 1
 | 
				
			||||||
 | 
					  m_EditorHideFlags: 0
 | 
				
			||||||
 | 
					  m_Script: {fileID: 11500000, guid: 02e036b6321fff34cbd154fd665a8b23, type: 3}
 | 
				
			||||||
 | 
					  m_Name: 
 | 
				
			||||||
 | 
					  m_EditorClassIdentifier: 
 | 
				
			||||||
 | 
					  LayerMask:
 | 
				
			||||||
 | 
					    serializedVersion: 2
 | 
				
			||||||
 | 
					    m_Bits: 4294967103
 | 
				
			||||||
 | 
					--- !u!1 &7391517555913877016
 | 
				
			||||||
 | 
					GameObject:
 | 
				
			||||||
 | 
					  m_ObjectHideFlags: 0
 | 
				
			||||||
 | 
					  m_CorrespondingSourceObject: {fileID: 0}
 | 
				
			||||||
 | 
					  m_PrefabInstance: {fileID: 0}
 | 
				
			||||||
 | 
					  m_PrefabAsset: {fileID: 0}
 | 
				
			||||||
 | 
					  serializedVersion: 6
 | 
				
			||||||
 | 
					  m_Component:
 | 
				
			||||||
 | 
					  - component: {fileID: 3234632762428300599}
 | 
				
			||||||
 | 
					  - component: {fileID: 8510568918136408618}
 | 
				
			||||||
 | 
					  - component: {fileID: 2564862039932993934}
 | 
				
			||||||
 | 
					  - component: {fileID: 1030411162175245191}
 | 
				
			||||||
 | 
					  m_Layer: 0
 | 
				
			||||||
 | 
					  m_Name: Basic Patrolling Enemy
 | 
				
			||||||
 | 
					  m_TagString: Untagged
 | 
				
			||||||
 | 
					  m_Icon: {fileID: 0}
 | 
				
			||||||
 | 
					  m_NavMeshLayer: 0
 | 
				
			||||||
 | 
					  m_StaticEditorFlags: 0
 | 
				
			||||||
 | 
					  m_IsActive: 1
 | 
				
			||||||
 | 
					--- !u!4 &3234632762428300599
 | 
				
			||||||
 | 
					Transform:
 | 
				
			||||||
 | 
					  m_ObjectHideFlags: 0
 | 
				
			||||||
 | 
					  m_CorrespondingSourceObject: {fileID: 0}
 | 
				
			||||||
 | 
					  m_PrefabInstance: {fileID: 0}
 | 
				
			||||||
 | 
					  m_PrefabAsset: {fileID: 0}
 | 
				
			||||||
 | 
					  m_GameObject: {fileID: 7391517555913877016}
 | 
				
			||||||
 | 
					  m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
 | 
				
			||||||
 | 
					  m_LocalPosition: {x: -0.4136911, y: 0.5090097, z: 0}
 | 
				
			||||||
 | 
					  m_LocalScale: {x: 1, y: 1, z: 1}
 | 
				
			||||||
 | 
					  m_ConstrainProportionsScale: 0
 | 
				
			||||||
 | 
					  m_Children:
 | 
				
			||||||
 | 
					  - {fileID: 334282908223700766}
 | 
				
			||||||
 | 
					  m_Father: {fileID: 0}
 | 
				
			||||||
 | 
					  m_RootOrder: 0
 | 
				
			||||||
 | 
					  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
 | 
				
			||||||
 | 
					--- !u!212 &8510568918136408618
 | 
				
			||||||
 | 
					SpriteRenderer:
 | 
				
			||||||
 | 
					  m_ObjectHideFlags: 0
 | 
				
			||||||
 | 
					  m_CorrespondingSourceObject: {fileID: 0}
 | 
				
			||||||
 | 
					  m_PrefabInstance: {fileID: 0}
 | 
				
			||||||
 | 
					  m_PrefabAsset: {fileID: 0}
 | 
				
			||||||
 | 
					  m_GameObject: {fileID: 7391517555913877016}
 | 
				
			||||||
 | 
					  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: 7482667652216324306, guid: 311925a002f4447b3a28927169b83ea6, 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!61 &2564862039932993934
 | 
				
			||||||
 | 
					BoxCollider2D:
 | 
				
			||||||
 | 
					  m_ObjectHideFlags: 0
 | 
				
			||||||
 | 
					  m_CorrespondingSourceObject: {fileID: 0}
 | 
				
			||||||
 | 
					  m_PrefabInstance: {fileID: 0}
 | 
				
			||||||
 | 
					  m_PrefabAsset: {fileID: 0}
 | 
				
			||||||
 | 
					  m_GameObject: {fileID: 7391517555913877016}
 | 
				
			||||||
 | 
					  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}
 | 
				
			||||||
 | 
					  m_SpriteTilingProperty:
 | 
				
			||||||
 | 
					    border: {x: 0, y: 0, z: 0, w: 0}
 | 
				
			||||||
 | 
					    pivot: {x: 0.5, y: 0.5}
 | 
				
			||||||
 | 
					    oldSize: {x: 1, y: 1}
 | 
				
			||||||
 | 
					    newSize: {x: 1, y: 1}
 | 
				
			||||||
 | 
					    adaptiveTilingThreshold: 0.5
 | 
				
			||||||
 | 
					    drawMode: 0
 | 
				
			||||||
 | 
					    adaptiveTiling: 0
 | 
				
			||||||
 | 
					  m_AutoTiling: 0
 | 
				
			||||||
 | 
					  serializedVersion: 2
 | 
				
			||||||
 | 
					  m_Size: {x: 1, y: 1}
 | 
				
			||||||
 | 
					  m_EdgeRadius: 0
 | 
				
			||||||
 | 
					--- !u!50 &1030411162175245191
 | 
				
			||||||
 | 
					Rigidbody2D:
 | 
				
			||||||
 | 
					  serializedVersion: 4
 | 
				
			||||||
 | 
					  m_ObjectHideFlags: 0
 | 
				
			||||||
 | 
					  m_CorrespondingSourceObject: {fileID: 0}
 | 
				
			||||||
 | 
					  m_PrefabInstance: {fileID: 0}
 | 
				
			||||||
 | 
					  m_PrefabAsset: {fileID: 0}
 | 
				
			||||||
 | 
					  m_GameObject: {fileID: 7391517555913877016}
 | 
				
			||||||
 | 
					  m_BodyType: 0
 | 
				
			||||||
 | 
					  m_Simulated: 1
 | 
				
			||||||
 | 
					  m_UseFullKinematicContacts: 0
 | 
				
			||||||
 | 
					  m_UseAutoMass: 0
 | 
				
			||||||
 | 
					  m_Mass: 1
 | 
				
			||||||
 | 
					  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!1 &7883981671222168568
 | 
				
			||||||
 | 
					GameObject:
 | 
				
			||||||
 | 
					  m_ObjectHideFlags: 0
 | 
				
			||||||
 | 
					  m_CorrespondingSourceObject: {fileID: 0}
 | 
				
			||||||
 | 
					  m_PrefabInstance: {fileID: 0}
 | 
				
			||||||
 | 
					  m_PrefabAsset: {fileID: 0}
 | 
				
			||||||
 | 
					  serializedVersion: 6
 | 
				
			||||||
 | 
					  m_Component:
 | 
				
			||||||
 | 
					  - component: {fileID: 3171748321895642525}
 | 
				
			||||||
 | 
					  - component: {fileID: 7670569826422979744}
 | 
				
			||||||
 | 
					  m_Layer: 0
 | 
				
			||||||
 | 
					  m_Name: Left Wall
 | 
				
			||||||
 | 
					  m_TagString: Untagged
 | 
				
			||||||
 | 
					  m_Icon: {fileID: 0}
 | 
				
			||||||
 | 
					  m_NavMeshLayer: 0
 | 
				
			||||||
 | 
					  m_StaticEditorFlags: 0
 | 
				
			||||||
 | 
					  m_IsActive: 1
 | 
				
			||||||
 | 
					--- !u!4 &3171748321895642525
 | 
				
			||||||
 | 
					Transform:
 | 
				
			||||||
 | 
					  m_ObjectHideFlags: 0
 | 
				
			||||||
 | 
					  m_CorrespondingSourceObject: {fileID: 0}
 | 
				
			||||||
 | 
					  m_PrefabInstance: {fileID: 0}
 | 
				
			||||||
 | 
					  m_PrefabAsset: {fileID: 0}
 | 
				
			||||||
 | 
					  m_GameObject: {fileID: 7883981671222168568}
 | 
				
			||||||
 | 
					  m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
 | 
				
			||||||
 | 
					  m_LocalPosition: {x: -0.8, y: 0, z: 0}
 | 
				
			||||||
 | 
					  m_LocalScale: {x: 0.5, y: 0.75, z: 1}
 | 
				
			||||||
 | 
					  m_ConstrainProportionsScale: 0
 | 
				
			||||||
 | 
					  m_Children: []
 | 
				
			||||||
 | 
					  m_Father: {fileID: 334282908223700766}
 | 
				
			||||||
 | 
					  m_RootOrder: 0
 | 
				
			||||||
 | 
					  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
 | 
				
			||||||
 | 
					--- !u!114 &7670569826422979744
 | 
				
			||||||
 | 
					MonoBehaviour:
 | 
				
			||||||
 | 
					  m_ObjectHideFlags: 0
 | 
				
			||||||
 | 
					  m_CorrespondingSourceObject: {fileID: 0}
 | 
				
			||||||
 | 
					  m_PrefabInstance: {fileID: 0}
 | 
				
			||||||
 | 
					  m_PrefabAsset: {fileID: 0}
 | 
				
			||||||
 | 
					  m_GameObject: {fileID: 7883981671222168568}
 | 
				
			||||||
 | 
					  m_Enabled: 1
 | 
				
			||||||
 | 
					  m_EditorHideFlags: 0
 | 
				
			||||||
 | 
					  m_Script: {fileID: 11500000, guid: 02e036b6321fff34cbd154fd665a8b23, type: 3}
 | 
				
			||||||
 | 
					  m_Name: 
 | 
				
			||||||
 | 
					  m_EditorClassIdentifier: 
 | 
				
			||||||
 | 
					  LayerMask:
 | 
				
			||||||
 | 
					    serializedVersion: 2
 | 
				
			||||||
 | 
					    m_Bits: 4294967103
 | 
				
			||||||
 | 
					--- !u!1 &7984300476647789986
 | 
				
			||||||
 | 
					GameObject:
 | 
				
			||||||
 | 
					  m_ObjectHideFlags: 0
 | 
				
			||||||
 | 
					  m_CorrespondingSourceObject: {fileID: 0}
 | 
				
			||||||
 | 
					  m_PrefabInstance: {fileID: 0}
 | 
				
			||||||
 | 
					  m_PrefabAsset: {fileID: 0}
 | 
				
			||||||
 | 
					  serializedVersion: 6
 | 
				
			||||||
 | 
					  m_Component:
 | 
				
			||||||
 | 
					  - component: {fileID: 7648712865646313035}
 | 
				
			||||||
 | 
					  - component: {fileID: 2338888552764836054}
 | 
				
			||||||
 | 
					  m_Layer: 0
 | 
				
			||||||
 | 
					  m_Name: Right Wall
 | 
				
			||||||
 | 
					  m_TagString: Untagged
 | 
				
			||||||
 | 
					  m_Icon: {fileID: 0}
 | 
				
			||||||
 | 
					  m_NavMeshLayer: 0
 | 
				
			||||||
 | 
					  m_StaticEditorFlags: 0
 | 
				
			||||||
 | 
					  m_IsActive: 1
 | 
				
			||||||
 | 
					--- !u!4 &7648712865646313035
 | 
				
			||||||
 | 
					Transform:
 | 
				
			||||||
 | 
					  m_ObjectHideFlags: 0
 | 
				
			||||||
 | 
					  m_CorrespondingSourceObject: {fileID: 0}
 | 
				
			||||||
 | 
					  m_PrefabInstance: {fileID: 0}
 | 
				
			||||||
 | 
					  m_PrefabAsset: {fileID: 0}
 | 
				
			||||||
 | 
					  m_GameObject: {fileID: 7984300476647789986}
 | 
				
			||||||
 | 
					  m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
 | 
				
			||||||
 | 
					  m_LocalPosition: {x: 0.8, y: 0, z: 0}
 | 
				
			||||||
 | 
					  m_LocalScale: {x: 0.5, y: 0.75, z: 1}
 | 
				
			||||||
 | 
					  m_ConstrainProportionsScale: 0
 | 
				
			||||||
 | 
					  m_Children: []
 | 
				
			||||||
 | 
					  m_Father: {fileID: 334282908223700766}
 | 
				
			||||||
 | 
					  m_RootOrder: 1
 | 
				
			||||||
 | 
					  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
 | 
				
			||||||
 | 
					--- !u!114 &2338888552764836054
 | 
				
			||||||
 | 
					MonoBehaviour:
 | 
				
			||||||
 | 
					  m_ObjectHideFlags: 0
 | 
				
			||||||
 | 
					  m_CorrespondingSourceObject: {fileID: 0}
 | 
				
			||||||
 | 
					  m_PrefabInstance: {fileID: 0}
 | 
				
			||||||
 | 
					  m_PrefabAsset: {fileID: 0}
 | 
				
			||||||
 | 
					  m_GameObject: {fileID: 7984300476647789986}
 | 
				
			||||||
 | 
					  m_Enabled: 1
 | 
				
			||||||
 | 
					  m_EditorHideFlags: 0
 | 
				
			||||||
 | 
					  m_Script: {fileID: 11500000, guid: 02e036b6321fff34cbd154fd665a8b23, type: 3}
 | 
				
			||||||
 | 
					  m_Name: 
 | 
				
			||||||
 | 
					  m_EditorClassIdentifier: 
 | 
				
			||||||
 | 
					  LayerMask:
 | 
				
			||||||
 | 
					    serializedVersion: 2
 | 
				
			||||||
 | 
					    m_Bits: 4294967103
 | 
				
			||||||
@@ -1,135 +0,0 @@
 | 
				
			|||||||
%YAML 1.1
 | 
					 | 
				
			||||||
%TAG !u! tag:unity3d.com,2011:
 | 
					 | 
				
			||||||
--- !u!1 &7391517555913877016
 | 
					 | 
				
			||||||
GameObject:
 | 
					 | 
				
			||||||
  m_ObjectHideFlags: 0
 | 
					 | 
				
			||||||
  m_CorrespondingSourceObject: {fileID: 0}
 | 
					 | 
				
			||||||
  m_PrefabInstance: {fileID: 0}
 | 
					 | 
				
			||||||
  m_PrefabAsset: {fileID: 0}
 | 
					 | 
				
			||||||
  serializedVersion: 6
 | 
					 | 
				
			||||||
  m_Component:
 | 
					 | 
				
			||||||
  - component: {fileID: 3234632762428300599}
 | 
					 | 
				
			||||||
  - component: {fileID: 8510568918136408618}
 | 
					 | 
				
			||||||
  - component: {fileID: 2564862039932993934}
 | 
					 | 
				
			||||||
  - component: {fileID: 1030411162175245191}
 | 
					 | 
				
			||||||
  m_Layer: 0
 | 
					 | 
				
			||||||
  m_Name: BasicPatrollingEnemy
 | 
					 | 
				
			||||||
  m_TagString: Untagged
 | 
					 | 
				
			||||||
  m_Icon: {fileID: 0}
 | 
					 | 
				
			||||||
  m_NavMeshLayer: 0
 | 
					 | 
				
			||||||
  m_StaticEditorFlags: 0
 | 
					 | 
				
			||||||
  m_IsActive: 1
 | 
					 | 
				
			||||||
--- !u!4 &3234632762428300599
 | 
					 | 
				
			||||||
Transform:
 | 
					 | 
				
			||||||
  m_ObjectHideFlags: 0
 | 
					 | 
				
			||||||
  m_CorrespondingSourceObject: {fileID: 0}
 | 
					 | 
				
			||||||
  m_PrefabInstance: {fileID: 0}
 | 
					 | 
				
			||||||
  m_PrefabAsset: {fileID: 0}
 | 
					 | 
				
			||||||
  m_GameObject: {fileID: 7391517555913877016}
 | 
					 | 
				
			||||||
  m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
 | 
					 | 
				
			||||||
  m_LocalPosition: {x: -0.4136911, y: 0.5090097, z: 0}
 | 
					 | 
				
			||||||
  m_LocalScale: {x: 1, y: 1, z: 1}
 | 
					 | 
				
			||||||
  m_ConstrainProportionsScale: 0
 | 
					 | 
				
			||||||
  m_Children: []
 | 
					 | 
				
			||||||
  m_Father: {fileID: 0}
 | 
					 | 
				
			||||||
  m_RootOrder: 0
 | 
					 | 
				
			||||||
  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
 | 
					 | 
				
			||||||
--- !u!212 &8510568918136408618
 | 
					 | 
				
			||||||
SpriteRenderer:
 | 
					 | 
				
			||||||
  m_ObjectHideFlags: 0
 | 
					 | 
				
			||||||
  m_CorrespondingSourceObject: {fileID: 0}
 | 
					 | 
				
			||||||
  m_PrefabInstance: {fileID: 0}
 | 
					 | 
				
			||||||
  m_PrefabAsset: {fileID: 0}
 | 
					 | 
				
			||||||
  m_GameObject: {fileID: 7391517555913877016}
 | 
					 | 
				
			||||||
  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: 7482667652216324306, guid: 311925a002f4447b3a28927169b83ea6, 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!61 &2564862039932993934
 | 
					 | 
				
			||||||
BoxCollider2D:
 | 
					 | 
				
			||||||
  m_ObjectHideFlags: 0
 | 
					 | 
				
			||||||
  m_CorrespondingSourceObject: {fileID: 0}
 | 
					 | 
				
			||||||
  m_PrefabInstance: {fileID: 0}
 | 
					 | 
				
			||||||
  m_PrefabAsset: {fileID: 0}
 | 
					 | 
				
			||||||
  m_GameObject: {fileID: 7391517555913877016}
 | 
					 | 
				
			||||||
  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}
 | 
					 | 
				
			||||||
  m_SpriteTilingProperty:
 | 
					 | 
				
			||||||
    border: {x: 0, y: 0, z: 0, w: 0}
 | 
					 | 
				
			||||||
    pivot: {x: 0.5, y: 0.5}
 | 
					 | 
				
			||||||
    oldSize: {x: 1, y: 1}
 | 
					 | 
				
			||||||
    newSize: {x: 1, y: 1}
 | 
					 | 
				
			||||||
    adaptiveTilingThreshold: 0.5
 | 
					 | 
				
			||||||
    drawMode: 0
 | 
					 | 
				
			||||||
    adaptiveTiling: 0
 | 
					 | 
				
			||||||
  m_AutoTiling: 0
 | 
					 | 
				
			||||||
  serializedVersion: 2
 | 
					 | 
				
			||||||
  m_Size: {x: 1, y: 1}
 | 
					 | 
				
			||||||
  m_EdgeRadius: 0
 | 
					 | 
				
			||||||
--- !u!50 &1030411162175245191
 | 
					 | 
				
			||||||
Rigidbody2D:
 | 
					 | 
				
			||||||
  serializedVersion: 4
 | 
					 | 
				
			||||||
  m_ObjectHideFlags: 0
 | 
					 | 
				
			||||||
  m_CorrespondingSourceObject: {fileID: 0}
 | 
					 | 
				
			||||||
  m_PrefabInstance: {fileID: 0}
 | 
					 | 
				
			||||||
  m_PrefabAsset: {fileID: 0}
 | 
					 | 
				
			||||||
  m_GameObject: {fileID: 7391517555913877016}
 | 
					 | 
				
			||||||
  m_BodyType: 0
 | 
					 | 
				
			||||||
  m_Simulated: 1
 | 
					 | 
				
			||||||
  m_UseFullKinematicContacts: 0
 | 
					 | 
				
			||||||
  m_UseAutoMass: 0
 | 
					 | 
				
			||||||
  m_Mass: 1
 | 
					 | 
				
			||||||
  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
 | 
					 | 
				
			||||||
@@ -7,52 +7,39 @@ namespace AI
 | 
				
			|||||||
    {
 | 
					    {
 | 
				
			||||||
        [SerializeField] protected bool isMovingRight = false;
 | 
					        [SerializeField] protected bool isMovingRight = false;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        [Space]
 | 
					 | 
				
			||||||
        [Header("Left Detector")]
 | 
					 | 
				
			||||||
        [SerializeField] protected Vector2 leftCliffDetectorOrigin = Vector2.left;
 | 
					 | 
				
			||||||
        [SerializeField] protected Vector2 leftCliffDetectorSize = Vector2.one;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
        [Space]
 | 
					 | 
				
			||||||
        [Header("Right Detector")]
 | 
					 | 
				
			||||||
        [SerializeField] protected Vector2 rightCliffDetectorOrigin = Vector2.right;
 | 
					 | 
				
			||||||
        [SerializeField] protected Vector2 rightCliffDetectorSize = Vector2.one;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
        [Space]
 | 
					 | 
				
			||||||
        [Header("Right Detector")]
 | 
					 | 
				
			||||||
        [SerializeField] protected LayerMask groundLayerMask = ~(1 << 6); // Everything except the "Player" layer
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
        protected IMovement movement = null;
 | 
					        protected IMovement movement = null;
 | 
				
			||||||
        protected Collider2D[] nonAllocColliderArray = new Collider2D[10];
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
        protected Vector2 leftCliffPosition => GetCliffPositionInWorld(leftCliffDetectorOrigin);
 | 
					        protected CollissionChecker leftWallChecker = null;
 | 
				
			||||||
        protected Vector2 rightCliffPosition => GetCliffPositionInWorld(rightCliffDetectorOrigin);
 | 
					        protected CollissionChecker rightWallChecker = null;
 | 
				
			||||||
 | 
					        protected CollissionChecker leftGroundChecker = null;
 | 
				
			||||||
 | 
					        protected CollissionChecker rightGroundChecker = null;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        protected bool IsLeftDetectorCollided => Physics2D.OverlapBoxNonAlloc(leftCliffPosition, leftCliffDetectorSize, 0, nonAllocColliderArray, groundLayerMask) != 0;
 | 
					
 | 
				
			||||||
        protected bool IsRightDetectorCollided => Physics2D.OverlapBoxNonAlloc(rightCliffPosition, rightCliffDetectorSize, 0, nonAllocColliderArray, groundLayerMask) != 0;
 | 
					        // If moving Right, and either there's no more ground to move into or there is a wall at the Right side of the enemy OR
 | 
				
			||||||
 | 
					        // If moving Left, and either there's no more ground to move into or there is a wall at the Left side of the enemy
 | 
				
			||||||
 | 
					        // We should change directions
 | 
				
			||||||
 | 
					        private bool ShouldChangeDirection
 | 
				
			||||||
 | 
					            => (isMovingRight && (rightWallChecker.IsCollided || !rightGroundChecker.IsCollided)) ||
 | 
				
			||||||
 | 
					                (!isMovingRight && (leftWallChecker.IsCollided || !leftGroundChecker.IsCollided));
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        protected virtual void Awake()
 | 
					        protected virtual void Awake()
 | 
				
			||||||
        {
 | 
					        {
 | 
				
			||||||
            movement = gameObject.AddComponent<EnemyMovement>();
 | 
					            movement = gameObject.AddComponent<EnemyMovement>();
 | 
				
			||||||
 | 
					            leftWallChecker = GetCollissionCheckerOnChild("Collission Checkers/Left Wall");
 | 
				
			||||||
 | 
					            rightWallChecker = GetCollissionCheckerOnChild("Collission Checkers/Right Wall");
 | 
				
			||||||
 | 
					            leftGroundChecker = GetCollissionCheckerOnChild("Collission Checkers/Left Ground");
 | 
				
			||||||
 | 
					            rightGroundChecker = GetCollissionCheckerOnChild("Collission Checkers/Right Ground");
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        protected virtual void FixedUpdate()
 | 
					        protected virtual void FixedUpdate()
 | 
				
			||||||
        {
 | 
					        {
 | 
				
			||||||
            if ((isMovingRight && !IsRightDetectorCollided) || (!isMovingRight && !IsLeftDetectorCollided))
 | 
					            if (ShouldChangeDirection)
 | 
				
			||||||
                isMovingRight = !isMovingRight;
 | 
					                isMovingRight = !isMovingRight;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            movement.Move(isMovingRight ? 1f : -1f);
 | 
					            movement.Move(isMovingRight ? 1f : -1f);
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        protected Vector2 GetCliffPositionInWorld(Vector2 cliffPosition)
 | 
					        protected CollissionChecker GetCollissionCheckerOnChild(string childName)
 | 
				
			||||||
            => cliffPosition + (Vector2)transform.position;
 | 
					            => transform.Find(childName).GetComponent<CollissionChecker>();
 | 
				
			||||||
 | 
					 | 
				
			||||||
        protected virtual void OnDrawGizmosSelected()
 | 
					 | 
				
			||||||
        {
 | 
					 | 
				
			||||||
            Gizmos.color = IsLeftDetectorCollided ? Color.green : Color.red;
 | 
					 | 
				
			||||||
            Gizmos.DrawWireCube(leftCliffPosition, leftCliffDetectorSize);
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
            Gizmos.color = IsRightDetectorCollided ? Color.green : Color.red;
 | 
					 | 
				
			||||||
            Gizmos.DrawWireCube(rightCliffPosition, rightCliffDetectorSize);
 | 
					 | 
				
			||||||
        }
 | 
					 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										18
									
								
								Assets/Scripts/Movement/CollissionChecker.cs
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										18
									
								
								Assets/Scripts/Movement/CollissionChecker.cs
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,18 @@
 | 
				
			|||||||
 | 
					using UnityEngine;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					namespace Movement
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
					    public class CollissionChecker : MonoBehaviour
 | 
				
			||||||
 | 
					    {
 | 
				
			||||||
 | 
					        private Collider2D[] nonAllocColliderArray = new Collider2D[5];
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        public LayerMask LayerMask = ~((1 << 6) | (1 << 7)); // Everything except the "Player" and "Enemy" layer
 | 
				
			||||||
 | 
					        public bool IsCollided => Physics2D.OverlapBoxNonAlloc(transform.position, transform.localScale, 0, nonAllocColliderArray, LayerMask) != 0;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        public void OnDrawGizmosSelected()
 | 
				
			||||||
 | 
					        {
 | 
				
			||||||
 | 
					            Gizmos.color = IsCollided ? Color.green : Color.red;
 | 
				
			||||||
 | 
					            Gizmos.DrawWireCube(transform.position, transform.localScale);
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
							
								
								
									
										11
									
								
								Assets/Scripts/Movement/CollissionChecker.cs.meta
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										11
									
								
								Assets/Scripts/Movement/CollissionChecker.cs.meta
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,11 @@
 | 
				
			|||||||
 | 
					fileFormatVersion: 2
 | 
				
			||||||
 | 
					guid: 02e036b6321fff34cbd154fd665a8b23
 | 
				
			||||||
 | 
					MonoImporter:
 | 
				
			||||||
 | 
					  externalObjects: {}
 | 
				
			||||||
 | 
					  serializedVersion: 2
 | 
				
			||||||
 | 
					  defaultReferences: []
 | 
				
			||||||
 | 
					  executionOrder: 0
 | 
				
			||||||
 | 
					  icon: {instanceID: 0}
 | 
				
			||||||
 | 
					  userData: 
 | 
				
			||||||
 | 
					  assetBundleName: 
 | 
				
			||||||
 | 
					  assetBundleVariant: 
 | 
				
			||||||
		Reference in New Issue
	
	Block a user