v2
This commit is contained in:
parent
ac7d2ce568
commit
e58928ef8b
@ -1308,6 +1308,7 @@ GameObject:
|
|||||||
- component: {fileID: 388196585}
|
- component: {fileID: 388196585}
|
||||||
- component: {fileID: 388196587}
|
- component: {fileID: 388196587}
|
||||||
- component: {fileID: 388196586}
|
- component: {fileID: 388196586}
|
||||||
|
- component: {fileID: 388196588}
|
||||||
m_Layer: 6
|
m_Layer: 6
|
||||||
m_Name: Spawners
|
m_Name: Spawners
|
||||||
m_TagString: Untagged
|
m_TagString: Untagged
|
||||||
@ -1925,6 +1926,63 @@ Tilemap:
|
|||||||
e31: 0
|
e31: 0
|
||||||
e32: 0
|
e32: 0
|
||||||
e33: 1
|
e33: 1
|
||||||
|
--- !u!1001 &669977698
|
||||||
|
PrefabInstance:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
serializedVersion: 2
|
||||||
|
m_Modification:
|
||||||
|
m_TransformParent: {fileID: 0}
|
||||||
|
m_Modifications:
|
||||||
|
- target: {fileID: 6962989255644195630, guid: 6cd87b398e7a0e94580f4fcbe2fd310a, type: 3}
|
||||||
|
propertyPath: m_Name
|
||||||
|
value: baseArcher
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 6962989255644195631, guid: 6cd87b398e7a0e94580f4fcbe2fd310a, type: 3}
|
||||||
|
propertyPath: m_RootOrder
|
||||||
|
value: 3
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 6962989255644195631, guid: 6cd87b398e7a0e94580f4fcbe2fd310a, type: 3}
|
||||||
|
propertyPath: m_LocalPosition.x
|
||||||
|
value: -6.51
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 6962989255644195631, guid: 6cd87b398e7a0e94580f4fcbe2fd310a, type: 3}
|
||||||
|
propertyPath: m_LocalPosition.y
|
||||||
|
value: 0.51
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 6962989255644195631, guid: 6cd87b398e7a0e94580f4fcbe2fd310a, type: 3}
|
||||||
|
propertyPath: m_LocalPosition.z
|
||||||
|
value: 1.8112363
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 6962989255644195631, guid: 6cd87b398e7a0e94580f4fcbe2fd310a, type: 3}
|
||||||
|
propertyPath: m_LocalRotation.w
|
||||||
|
value: 1
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 6962989255644195631, guid: 6cd87b398e7a0e94580f4fcbe2fd310a, type: 3}
|
||||||
|
propertyPath: m_LocalRotation.x
|
||||||
|
value: 0
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 6962989255644195631, guid: 6cd87b398e7a0e94580f4fcbe2fd310a, type: 3}
|
||||||
|
propertyPath: m_LocalRotation.y
|
||||||
|
value: 0
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 6962989255644195631, guid: 6cd87b398e7a0e94580f4fcbe2fd310a, type: 3}
|
||||||
|
propertyPath: m_LocalRotation.z
|
||||||
|
value: 0
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 6962989255644195631, guid: 6cd87b398e7a0e94580f4fcbe2fd310a, type: 3}
|
||||||
|
propertyPath: m_LocalEulerAnglesHint.x
|
||||||
|
value: 0
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 6962989255644195631, guid: 6cd87b398e7a0e94580f4fcbe2fd310a, type: 3}
|
||||||
|
propertyPath: m_LocalEulerAnglesHint.y
|
||||||
|
value: 0
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 6962989255644195631, guid: 6cd87b398e7a0e94580f4fcbe2fd310a, type: 3}
|
||||||
|
propertyPath: m_LocalEulerAnglesHint.z
|
||||||
|
value: 0
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
m_RemovedComponents: []
|
||||||
|
m_SourcePrefab: {fileID: 100100000, guid: 6cd87b398e7a0e94580f4fcbe2fd310a, type: 3}
|
||||||
--- !u!1001 &1431912647
|
--- !u!1001 &1431912647
|
||||||
PrefabInstance:
|
PrefabInstance:
|
||||||
m_ObjectHideFlags: 0
|
m_ObjectHideFlags: 0
|
||||||
@ -1946,11 +2004,11 @@ PrefabInstance:
|
|||||||
objectReference: {fileID: 0}
|
objectReference: {fileID: 0}
|
||||||
- target: {fileID: 6962989255644195631, guid: 377c7275c0001cc47a6b8926ac57d573, type: 3}
|
- target: {fileID: 6962989255644195631, guid: 377c7275c0001cc47a6b8926ac57d573, type: 3}
|
||||||
propertyPath: m_LocalPosition.x
|
propertyPath: m_LocalPosition.x
|
||||||
value: -3.5575664
|
value: 0.6
|
||||||
objectReference: {fileID: 0}
|
objectReference: {fileID: 0}
|
||||||
- target: {fileID: 6962989255644195631, guid: 377c7275c0001cc47a6b8926ac57d573, type: 3}
|
- target: {fileID: 6962989255644195631, guid: 377c7275c0001cc47a6b8926ac57d573, type: 3}
|
||||||
propertyPath: m_LocalPosition.y
|
propertyPath: m_LocalPosition.y
|
||||||
value: 1.5121906
|
value: 0.55
|
||||||
objectReference: {fileID: 0}
|
objectReference: {fileID: 0}
|
||||||
- target: {fileID: 6962989255644195631, guid: 377c7275c0001cc47a6b8926ac57d573, type: 3}
|
- target: {fileID: 6962989255644195631, guid: 377c7275c0001cc47a6b8926ac57d573, type: 3}
|
||||||
propertyPath: m_LocalPosition.z
|
propertyPath: m_LocalPosition.z
|
||||||
|
|||||||
1255
Assets/Prefabs/baseArcher.prefab
Normal file
1255
Assets/Prefabs/baseArcher.prefab
Normal file
File diff suppressed because it is too large
Load Diff
7
Assets/Prefabs/baseArcher.prefab.meta
Normal file
7
Assets/Prefabs/baseArcher.prefab.meta
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 6cd87b398e7a0e94580f4fcbe2fd310a
|
||||||
|
PrefabImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
||||||
@ -135,7 +135,7 @@ MonoBehaviour:
|
|||||||
m_Name:
|
m_Name:
|
||||||
m_EditorClassIdentifier:
|
m_EditorClassIdentifier:
|
||||||
_hp: 1000
|
_hp: 1000
|
||||||
_speed: 0.5
|
_speed: 0.1
|
||||||
_attack_damage: 2
|
_attack_damage: 2
|
||||||
_attack_speed: 3
|
_attack_speed: 3
|
||||||
--- !u!1 &6962989256011107503
|
--- !u!1 &6962989256011107503
|
||||||
|
|||||||
268
Assets/Prefabs/baseProjectile.prefab
Normal file
268
Assets/Prefabs/baseProjectile.prefab
Normal file
@ -0,0 +1,268 @@
|
|||||||
|
%YAML 1.1
|
||||||
|
%TAG !u! tag:unity3d.com,2011:
|
||||||
|
--- !u!1 &6962989255644195630
|
||||||
|
GameObject:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
serializedVersion: 6
|
||||||
|
m_Component:
|
||||||
|
- component: {fileID: 6962989255644195631}
|
||||||
|
- component: {fileID: 6072713849781841816}
|
||||||
|
- component: {fileID: -1491803373025033585}
|
||||||
|
- component: {fileID: 8133954670424616578}
|
||||||
|
m_Layer: 0
|
||||||
|
m_Name: baseProjectile
|
||||||
|
m_TagString: Untagged
|
||||||
|
m_Icon: {fileID: 0}
|
||||||
|
m_NavMeshLayer: 0
|
||||||
|
m_StaticEditorFlags: 0
|
||||||
|
m_IsActive: 1
|
||||||
|
--- !u!4 &6962989255644195631
|
||||||
|
Transform:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 6962989255644195630}
|
||||||
|
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||||
|
m_LocalPosition: {x: -6.61, y: -0.638, z: 1.8112363}
|
||||||
|
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||||
|
m_ConstrainProportionsScale: 0
|
||||||
|
m_Children:
|
||||||
|
- {fileID: 6962989256011107500}
|
||||||
|
- {fileID: 6802302589573039538}
|
||||||
|
m_Father: {fileID: 0}
|
||||||
|
m_RootOrder: 0
|
||||||
|
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||||
|
--- !u!1839735485 &6072713849781841816
|
||||||
|
Tilemap:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 6962989255644195630}
|
||||||
|
m_Enabled: 0
|
||||||
|
m_Tiles: {}
|
||||||
|
m_AnimatedTiles: {}
|
||||||
|
m_TileAssetArray: []
|
||||||
|
m_TileSpriteArray: []
|
||||||
|
m_TileMatrixArray: []
|
||||||
|
m_TileColorArray: []
|
||||||
|
m_TileObjectToInstantiateArray: []
|
||||||
|
m_AnimationFrameRate: 1
|
||||||
|
m_Color: {r: 1, g: 1, b: 1, a: 1}
|
||||||
|
m_Origin: {x: 0, y: 0, z: 0}
|
||||||
|
m_Size: {x: 0, y: 0, z: 1}
|
||||||
|
m_TileAnchor: {x: 0.5, y: 0.5, z: 0}
|
||||||
|
m_TileOrientation: 0
|
||||||
|
m_TileOrientationMatrix:
|
||||||
|
e00: 1
|
||||||
|
e01: 0
|
||||||
|
e02: 0
|
||||||
|
e03: 0
|
||||||
|
e10: 0
|
||||||
|
e11: 1
|
||||||
|
e12: 0
|
||||||
|
e13: 0
|
||||||
|
e20: 0
|
||||||
|
e21: 0
|
||||||
|
e22: 1
|
||||||
|
e23: 0
|
||||||
|
e30: 0
|
||||||
|
e31: 0
|
||||||
|
e32: 0
|
||||||
|
e33: 1
|
||||||
|
--- !u!50 &-1491803373025033585
|
||||||
|
Rigidbody2D:
|
||||||
|
serializedVersion: 4
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 6962989255644195630}
|
||||||
|
m_BodyType: 0
|
||||||
|
m_Simulated: 1
|
||||||
|
m_UseFullKinematicContacts: 0
|
||||||
|
m_UseAutoMass: 0
|
||||||
|
m_Mass: 1
|
||||||
|
m_LinearDrag: 0
|
||||||
|
m_AngularDrag: 0.05
|
||||||
|
m_GravityScale: 0
|
||||||
|
m_Material: {fileID: 0}
|
||||||
|
m_Interpolate: 0
|
||||||
|
m_SleepingMode: 1
|
||||||
|
m_CollisionDetection: 0
|
||||||
|
m_Constraints: 4
|
||||||
|
--- !u!114 &8133954670424616578
|
||||||
|
MonoBehaviour:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 6962989255644195630}
|
||||||
|
m_Enabled: 1
|
||||||
|
m_EditorHideFlags: 0
|
||||||
|
m_Script: {fileID: 11500000, guid: 01782bd631a6e1446956ed140a24c530, type: 3}
|
||||||
|
m_Name:
|
||||||
|
m_EditorClassIdentifier:
|
||||||
|
_detectionLinked: {fileID: 3172728477976940186}
|
||||||
|
_angle: 10
|
||||||
|
_speed: 2
|
||||||
|
--- !u!1 &6962989256011107503
|
||||||
|
GameObject:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
serializedVersion: 6
|
||||||
|
m_Component:
|
||||||
|
- component: {fileID: 6962989256011107500}
|
||||||
|
- component: {fileID: 6962989256011107501}
|
||||||
|
m_Layer: 0
|
||||||
|
m_Name: exmeple
|
||||||
|
m_TagString: Untagged
|
||||||
|
m_Icon: {fileID: 0}
|
||||||
|
m_NavMeshLayer: 0
|
||||||
|
m_StaticEditorFlags: 0
|
||||||
|
m_IsActive: 1
|
||||||
|
--- !u!4 &6962989256011107500
|
||||||
|
Transform:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 6962989256011107503}
|
||||||
|
m_LocalRotation: {x: 0, y: -0, z: 0.7071068, w: -0.7071068}
|
||||||
|
m_LocalPosition: {x: 0.0259, y: 0.01, z: 0}
|
||||||
|
m_LocalScale: {x: 0.5394133, y: 0.56488746, z: 0.9686}
|
||||||
|
m_ConstrainProportionsScale: 0
|
||||||
|
m_Children: []
|
||||||
|
m_Father: {fileID: 6962989255644195631}
|
||||||
|
m_RootOrder: 0
|
||||||
|
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 270}
|
||||||
|
--- !u!212 &6962989256011107501
|
||||||
|
SpriteRenderer:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 6962989256011107503}
|
||||||
|
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: 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_SortingLayerID: 0
|
||||||
|
m_SortingLayer: 0
|
||||||
|
m_SortingOrder: 4
|
||||||
|
m_Sprite: {fileID: 21300000, guid: b28a7c5aeb45b224983f69339965c55d, 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.06, y: 1.69}
|
||||||
|
m_AdaptiveModeThreshold: 0.5
|
||||||
|
m_SpriteTileMode: 0
|
||||||
|
m_WasSpriteAssigned: 1
|
||||||
|
m_MaskInteraction: 0
|
||||||
|
m_SpriteSortPoint: 0
|
||||||
|
--- !u!1 &8726647054546243319
|
||||||
|
GameObject:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
serializedVersion: 6
|
||||||
|
m_Component:
|
||||||
|
- component: {fileID: 6802302589573039538}
|
||||||
|
- component: {fileID: 7006189111012443782}
|
||||||
|
- component: {fileID: 3172728477976940186}
|
||||||
|
m_Layer: 0
|
||||||
|
m_Name: detection
|
||||||
|
m_TagString: Untagged
|
||||||
|
m_Icon: {fileID: 0}
|
||||||
|
m_NavMeshLayer: 0
|
||||||
|
m_StaticEditorFlags: 0
|
||||||
|
m_IsActive: 1
|
||||||
|
--- !u!4 &6802302589573039538
|
||||||
|
Transform:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 8726647054546243319}
|
||||||
|
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: 6962989255644195631}
|
||||||
|
m_RootOrder: 1
|
||||||
|
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||||
|
--- !u!61 &7006189111012443782
|
||||||
|
BoxCollider2D:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 8726647054546243319}
|
||||||
|
m_Enabled: 1
|
||||||
|
m_Density: 1
|
||||||
|
m_Material: {fileID: 0}
|
||||||
|
m_IsTrigger: 1
|
||||||
|
m_UsedByEffector: 0
|
||||||
|
m_UsedByComposite: 0
|
||||||
|
m_Offset: {x: 0.25, y: 0.01}
|
||||||
|
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
|
||||||
|
serializedVersion: 2
|
||||||
|
m_Size: {x: 0.2, y: 0.1}
|
||||||
|
m_EdgeRadius: 0
|
||||||
|
--- !u!114 &3172728477976940186
|
||||||
|
MonoBehaviour:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 8726647054546243319}
|
||||||
|
m_Enabled: 1
|
||||||
|
m_EditorHideFlags: 0
|
||||||
|
m_Script: {fileID: 11500000, guid: 531d7966d86bd0c4d83baf58bcb56cd5, type: 3}
|
||||||
|
m_Name:
|
||||||
|
m_EditorClassIdentifier:
|
||||||
|
_entityLinked: {fileID: 0}
|
||||||
7
Assets/Prefabs/baseProjectile.prefab.meta
Normal file
7
Assets/Prefabs/baseProjectile.prefab.meta
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 869a03bba705e8d4485aa73daad773dc
|
||||||
|
PrefabImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
||||||
8
Assets/Scripts/Ally.meta
Normal file
8
Assets/Scripts/Ally.meta
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 864cf5f1543a148488b21071dd02d666
|
||||||
|
folderAsset: yes
|
||||||
|
DefaultImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
||||||
48
Assets/Scripts/Ally/Archer.cs
Normal file
48
Assets/Scripts/Ally/Archer.cs
Normal file
@ -0,0 +1,48 @@
|
|||||||
|
using System.Collections;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using UnityEngine;
|
||||||
|
|
||||||
|
public class Archer : Ally
|
||||||
|
{
|
||||||
|
|
||||||
|
[SerializeField]
|
||||||
|
private GameObject _arrow;
|
||||||
|
|
||||||
|
private Rigidbody2D _rigidbodyAlly;
|
||||||
|
private Rigidbody2D _rigidbodyOpponent;
|
||||||
|
|
||||||
|
void Start() {
|
||||||
|
_rigidbodyAlly = GetComponent<Rigidbody2D>();
|
||||||
|
}
|
||||||
|
|
||||||
|
void Update() {
|
||||||
|
|
||||||
|
if(IsEnemyDetected) {
|
||||||
|
_rigidbodyOpponent = Enemy.GetComponent<Rigidbody2D>();
|
||||||
|
AttackEnemy();
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
void AttackEnemy() {
|
||||||
|
//Attack Cooldown
|
||||||
|
if(AttackSpeed < AttackSpeedWait) {
|
||||||
|
|
||||||
|
GameObject _newArrow = Instantiate(_arrow, _rigidbodyAlly.position, Quaternion.identity);
|
||||||
|
|
||||||
|
//Warning : the Speed of the arrow is equal to the speed of this unit, if this unit need to move, use an other variable !
|
||||||
|
_newArrow.GetComponent<Projectile>().Damage = AttackDamage;
|
||||||
|
_newArrow.GetComponent<Projectile>().EnemySpeed = Enemy.Speed;
|
||||||
|
_newArrow.GetComponent<Projectile>().VectorStart = _rigidbodyAlly.position;
|
||||||
|
_newArrow.GetComponent<Projectile>().VectorEnd = _rigidbodyOpponent.position;
|
||||||
|
_newArrow.GetComponent<Projectile>().Target = Enemy;
|
||||||
|
|
||||||
|
AttackSpeedWait = 0f;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
AttackSpeedWait += Time.deltaTime;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
11
Assets/Scripts/Ally/Archer.cs.meta
Normal file
11
Assets/Scripts/Ally/Archer.cs.meta
Normal file
@ -0,0 +1,11 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 4efc1afdf7c559a4cac25dad0d8917cb
|
||||||
|
MonoImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
serializedVersion: 2
|
||||||
|
defaultReferences: []
|
||||||
|
executionOrder: 0
|
||||||
|
icon: {instanceID: 0}
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
||||||
@ -8,25 +8,55 @@ public class Detection : MonoBehaviour
|
|||||||
[SerializeField]
|
[SerializeField]
|
||||||
private Entity _entityLinked;
|
private Entity _entityLinked;
|
||||||
|
|
||||||
|
//If it's a projectile damage > 0
|
||||||
|
private int _projectileDamage = 0;
|
||||||
|
|
||||||
void OnTriggerEnter2D(Collider2D other)
|
void OnTriggerEnter2D(Collider2D other)
|
||||||
{
|
{
|
||||||
//Detect the enemy and inform the Entity
|
|
||||||
if (other.gameObject.tag == "Opponent" && _entityLinked.GetType() == typeof(Ally)) {
|
if(_projectileDamage == 0) {
|
||||||
|
//Detect the enemy and inform the Ally
|
||||||
|
if (other.gameObject.tag == "Opponent" && _entityLinked is Ally) {
|
||||||
_entityLinked.IsEnemyDetected = true;
|
_entityLinked.IsEnemyDetected = true;
|
||||||
_entityLinked.Enemy = other.gameObject.GetComponent<Entity>();
|
_entityLinked.Enemy = other.gameObject.GetComponent<Entity>();
|
||||||
}
|
}
|
||||||
|
|
||||||
//Detect the enemy and inform the Entity
|
//Detect the enemy and inform the Opponent
|
||||||
if (other.gameObject.tag == "Ally" && _entityLinked.GetType() == typeof(Opponent)) {
|
if (other.gameObject.tag == "Ally" && _entityLinked is Opponent) {
|
||||||
_entityLinked.IsEnemyDetected = true;
|
_entityLinked.IsEnemyDetected = true;
|
||||||
_entityLinked.Enemy = other.gameObject.GetComponent<Entity>();
|
_entityLinked.Enemy = other.gameObject.GetComponent<Entity>();
|
||||||
}
|
}
|
||||||
|
}else {
|
||||||
|
//Projectiles detection
|
||||||
|
if(_projectileDamage > 0 && other.gameObject.GetComponent<Entity>() == _entityLinked) {
|
||||||
|
Debug.Log("Touchee !!");
|
||||||
|
other.gameObject.GetComponent<Entity>().Hp -= _projectileDamage;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void OnTriggerExit2D(Collider2D other)
|
void OnTriggerExit2D(Collider2D other)
|
||||||
{
|
{
|
||||||
|
if(_projectileDamage == 0) {
|
||||||
|
if ((other.gameObject.tag == "Opponent" && _entityLinked is Ally) || (other.gameObject.tag == "Ally" && _entityLinked is Opponent)) {
|
||||||
_entityLinked.IsEnemyDetected = false;
|
_entityLinked.IsEnemyDetected = false;
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
//Getter and Setter
|
||||||
|
public Entity EntityLinked
|
||||||
|
{
|
||||||
|
get { return _entityLinked; }
|
||||||
|
set { _entityLinked = value; }
|
||||||
|
}
|
||||||
|
|
||||||
|
public int ProjectileDamage
|
||||||
|
{
|
||||||
|
get { return _projectileDamage; }
|
||||||
|
set { _projectileDamage = value; }
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
8
Assets/Scripts/Opponent.meta
Normal file
8
Assets/Scripts/Opponent.meta
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 37583136525eee44183a84510289dc51
|
||||||
|
folderAsset: yes
|
||||||
|
DefaultImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
||||||
98
Assets/Scripts/Projectile.cs
Normal file
98
Assets/Scripts/Projectile.cs
Normal file
@ -0,0 +1,98 @@
|
|||||||
|
using System.Collections;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using UnityEngine;
|
||||||
|
|
||||||
|
public class Projectile : MonoBehaviour
|
||||||
|
{
|
||||||
|
|
||||||
|
[SerializeField]
|
||||||
|
private Detection _detectionLinked;
|
||||||
|
|
||||||
|
[SerializeField]
|
||||||
|
private float _angle = 10f; //Default
|
||||||
|
[SerializeField]
|
||||||
|
private float _speed = 2f; //Default
|
||||||
|
|
||||||
|
private Vector2 _vectorStart;
|
||||||
|
private Vector2 _vectorEnd;
|
||||||
|
|
||||||
|
private int _damage;
|
||||||
|
private float _enemySpeed;
|
||||||
|
private Entity _target;
|
||||||
|
|
||||||
|
private Rigidbody2D _rigidbodyProjectile;
|
||||||
|
private float _initialX;
|
||||||
|
private float _initialY;
|
||||||
|
private float _destinationX;
|
||||||
|
private float _speedTime = 0f;
|
||||||
|
|
||||||
|
void Start() {
|
||||||
|
_rigidbodyProjectile = GetComponent<Rigidbody2D>();
|
||||||
|
_initialX = transform.position.x;
|
||||||
|
_initialY = transform.position.y;
|
||||||
|
_destinationX = _vectorEnd.x - _initialX - _enemySpeed;
|
||||||
|
|
||||||
|
_detectionLinked.gameObject.GetComponent<Detection>().EntityLinked = _target;
|
||||||
|
_detectionLinked.gameObject.GetComponent<Detection>().ProjectileDamage = _damage;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Update is called once per frame
|
||||||
|
void Update()
|
||||||
|
{
|
||||||
|
float x = _speedTime;
|
||||||
|
float y = (_angle*-Mathf.Pow(x, 2) + _destinationX * x);
|
||||||
|
|
||||||
|
|
||||||
|
transform.position = new Vector2(_initialX + x*_angle, _initialY + y);
|
||||||
|
|
||||||
|
_speedTime += _speed * Time.deltaTime;
|
||||||
|
|
||||||
|
if(y < 0) {
|
||||||
|
Destroy(this.gameObject);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
//Getter and Setter
|
||||||
|
public float EnemySpeed
|
||||||
|
{
|
||||||
|
get { return _enemySpeed; }
|
||||||
|
set { _enemySpeed = value; }
|
||||||
|
}
|
||||||
|
|
||||||
|
public float Angle
|
||||||
|
{
|
||||||
|
get { return _angle; }
|
||||||
|
set { _angle = value; }
|
||||||
|
}
|
||||||
|
|
||||||
|
public float Speed
|
||||||
|
{
|
||||||
|
get { return _speed; }
|
||||||
|
set { _speed = value; }
|
||||||
|
}
|
||||||
|
|
||||||
|
public int Damage
|
||||||
|
{
|
||||||
|
get { return _damage; }
|
||||||
|
set { _damage = value; }
|
||||||
|
}
|
||||||
|
|
||||||
|
public Vector2 VectorStart
|
||||||
|
{
|
||||||
|
get { return _vectorStart; }
|
||||||
|
set { _vectorStart = value; }
|
||||||
|
}
|
||||||
|
|
||||||
|
public Vector2 VectorEnd
|
||||||
|
{
|
||||||
|
get { return _vectorEnd; }
|
||||||
|
set { _vectorEnd = value; }
|
||||||
|
}
|
||||||
|
|
||||||
|
public Entity Target
|
||||||
|
{
|
||||||
|
get { return _target; }
|
||||||
|
set { _target = value; }
|
||||||
|
}
|
||||||
|
}
|
||||||
11
Assets/Scripts/Projectile.cs.meta
Normal file
11
Assets/Scripts/Projectile.cs.meta
Normal file
@ -0,0 +1,11 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 01782bd631a6e1446956ed140a24c530
|
||||||
|
MonoImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
serializedVersion: 2
|
||||||
|
defaultReferences: []
|
||||||
|
executionOrder: 0
|
||||||
|
icon: {instanceID: 0}
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
||||||
Loading…
x
Reference in New Issue
Block a user