Pull request #4: Dev/Entities attacks
Merge in CGD/gather-and-defend from dev/Entities-attacks to main * commit '7d225ccbd0149e6c7128d8dc924fb4487937fb64': v3 v2 no message v1 attack ally and enemy
This commit is contained in:
commit
bc57e9595d
@ -1308,6 +1308,7 @@ GameObject:
|
||||
- component: {fileID: 388196585}
|
||||
- component: {fileID: 388196587}
|
||||
- component: {fileID: 388196586}
|
||||
- component: {fileID: 388196588}
|
||||
m_Layer: 6
|
||||
m_Name: Spawners
|
||||
m_TagString: Untagged
|
||||
@ -1483,6 +1484,22 @@ Tilemap:
|
||||
e31: 0
|
||||
e32: 0
|
||||
e33: 1
|
||||
--- !u!19719996 &388196588
|
||||
TilemapCollider2D:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 388196584}
|
||||
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_MaximumTileChangeCount: 1000
|
||||
m_ExtrusionFactor: 0
|
||||
--- !u!1 &456843627
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
|
||||
21
Assets/LevelEditor/Levels/Level0.asset
Normal file
21
Assets/LevelEditor/Levels/Level0.asset
Normal file
@ -0,0 +1,21 @@
|
||||
%YAML 1.1
|
||||
%TAG !u! tag:unity3d.com,2011:
|
||||
--- !u!114 &11400000
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 0}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 2b25d284985e65e48b50826c522a5ec3, type: 3}
|
||||
m_Name: Level0
|
||||
m_EditorClassIdentifier:
|
||||
_data:
|
||||
- _key: Background
|
||||
tiles: []
|
||||
- _key: Entities
|
||||
tiles: []
|
||||
- _key: Spawners
|
||||
tiles: []
|
||||
8
Assets/LevelEditor/Levels/Level0.asset.meta
Normal file
8
Assets/LevelEditor/Levels/Level0.asset.meta
Normal file
@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: a6e34739c9325da4cac4fbaea30d052c
|
||||
NativeFormatImporter:
|
||||
externalObjects: {}
|
||||
mainObjectFileID: 11400000
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
15
Assets/LevelEditor/Levels/Level1.asset
Normal file
15
Assets/LevelEditor/Levels/Level1.asset
Normal file
@ -0,0 +1,15 @@
|
||||
%YAML 1.1
|
||||
%TAG !u! tag:unity3d.com,2011:
|
||||
--- !u!114 &11400000
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 0}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 2b25d284985e65e48b50826c522a5ec3, type: 3}
|
||||
m_Name: Level1
|
||||
m_EditorClassIdentifier:
|
||||
_data: []
|
||||
8
Assets/LevelEditor/Levels/Level1.asset.meta
Normal file
8
Assets/LevelEditor/Levels/Level1.asset.meta
Normal file
@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: d37561e153d6a6448a03839488fdec5e
|
||||
NativeFormatImporter:
|
||||
externalObjects: {}
|
||||
mainObjectFileID: 11400000
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
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:
|
||||
296
Assets/Prefabs/baseMonster.prefab
Normal file
296
Assets/Prefabs/baseMonster.prefab
Normal file
@ -0,0 +1,296 @@
|
||||
%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: -7538281095464317747}
|
||||
- component: {fileID: 7342363932249177917}
|
||||
m_Layer: 0
|
||||
m_Name: baseMonster
|
||||
m_TagString: Opponent
|
||||
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!61 &-7538281095464317747
|
||||
BoxCollider2D:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 6962989255644195630}
|
||||
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, 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: 1, y: 1}
|
||||
m_EdgeRadius: 0
|
||||
--- !u!114 &7342363932249177917
|
||||
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: 5c6a370a8a12ae547a4509f3b98339cf, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
_hp: 1000
|
||||
_speed: 0.1
|
||||
_attack_damage: 2
|
||||
_attack_speed: 3
|
||||
--- !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, w: 1}
|
||||
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: 0}
|
||||
--- !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: 3
|
||||
m_Sprite: {fileID: 21300000, guid: 5abf039e8de5d03488e6b435ea7f1753, 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.5, y: 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
|
||||
serializedVersion: 2
|
||||
m_Size: {x: 0.5, y: 0.5}
|
||||
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: 7342363932249177917}
|
||||
7
Assets/Prefabs/baseMonster.prefab.meta
Normal file
7
Assets/Prefabs/baseMonster.prefab.meta
Normal file
@ -0,0 +1,7 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 377c7275c0001cc47a6b8926ac57d573
|
||||
PrefabImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
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:
|
||||
@ -1,5 +1,77 @@
|
||||
%YAML 1.1
|
||||
%TAG !u! tag:unity3d.com,2011:
|
||||
--- !u!1 &270769315063318434
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 71124047072817123}
|
||||
- component: {fileID: 2608989659328117942}
|
||||
- component: {fileID: 3358069652062874313}
|
||||
m_Layer: 0
|
||||
m_Name: detection
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!4 &71124047072817123
|
||||
Transform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 270769315063318434}
|
||||
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: 2
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
--- !u!61 &2608989659328117942
|
||||
BoxCollider2D:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 270769315063318434}
|
||||
m_Enabled: 1
|
||||
m_Density: 1
|
||||
m_Material: {fileID: 0}
|
||||
m_IsTrigger: 1
|
||||
m_UsedByEffector: 0
|
||||
m_UsedByComposite: 0
|
||||
m_Offset: {x: 0.5, y: 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
|
||||
serializedVersion: 2
|
||||
m_Size: {x: 0.5, y: 0.5}
|
||||
m_EdgeRadius: 0
|
||||
--- !u!114 &3358069652062874313
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 270769315063318434}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 531d7966d86bd0c4d83baf58bcb56cd5, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
_entityLinked: {fileID: 8585520847943034727}
|
||||
--- !u!1 &6962989255035248094
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
@ -325,9 +397,13 @@ GameObject:
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 6962989255644195631}
|
||||
- component: {fileID: 8585520847943034727}
|
||||
- component: {fileID: 6072713849781841816}
|
||||
- component: {fileID: -1491803373025033585}
|
||||
- component: {fileID: -7538281095464317747}
|
||||
m_Layer: 0
|
||||
m_Name: baseStick
|
||||
m_TagString: Untagged
|
||||
m_TagString: Ally
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
@ -346,9 +422,111 @@ Transform:
|
||||
m_Children:
|
||||
- {fileID: 6962989256011107500}
|
||||
- {fileID: 6962989255883535387}
|
||||
- {fileID: 71124047072817123}
|
||||
m_Father: {fileID: 0}
|
||||
m_RootOrder: 0
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
--- !u!114 &8585520847943034727
|
||||
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: 27e69fa6018bf654196267d829031f1a, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
_hp: 100
|
||||
_speed: 0
|
||||
_attack_damage: 1
|
||||
_attack_speed: 1.2
|
||||
--- !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: 1000000
|
||||
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!61 &-7538281095464317747
|
||||
BoxCollider2D:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 6962989255644195630}
|
||||
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, 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: 1, y: 1}
|
||||
m_EdgeRadius: 0
|
||||
--- !u!1 &6962989255710846697
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
|
||||
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:
|
||||
34
Assets/Scripts/Ally/Ally.cs
Normal file
34
Assets/Scripts/Ally/Ally.cs
Normal file
@ -0,0 +1,34 @@
|
||||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using UnityEngine;
|
||||
|
||||
public class Ally : Entity
|
||||
{
|
||||
|
||||
void Update() {
|
||||
|
||||
if(IsEnemyDetected) {
|
||||
AttackEnemy();
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
void AttackEnemy() {
|
||||
//Attack Cooldown
|
||||
if(AttackSpeed < AttackSpeedWait) {
|
||||
|
||||
Enemy.Hp-=AttackDamage;
|
||||
Debug.Log("Opponent Hp = " + Enemy.Hp);
|
||||
|
||||
//Kill if no hp
|
||||
if(Enemy.Hp <= 0) {
|
||||
Destroy(Enemy);
|
||||
}
|
||||
|
||||
AttackSpeedWait = 0f;
|
||||
}
|
||||
|
||||
AttackSpeedWait += Time.deltaTime;
|
||||
}
|
||||
|
||||
}
|
||||
11
Assets/Scripts/Ally/Ally.cs.meta
Normal file
11
Assets/Scripts/Ally/Ally.cs.meta
Normal file
@ -0,0 +1,11 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 27e69fa6018bf654196267d829031f1a
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
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:
|
||||
69
Assets/Scripts/Detection.cs
Normal file
69
Assets/Scripts/Detection.cs
Normal file
@ -0,0 +1,69 @@
|
||||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using UnityEngine;
|
||||
|
||||
public class Detection : MonoBehaviour
|
||||
{
|
||||
|
||||
[SerializeField]
|
||||
private Entity _entityLinked;
|
||||
|
||||
//If it's a projectile damage > 0
|
||||
private int _projectileDamage = 0;
|
||||
|
||||
void OnTriggerEnter2D(Collider2D other)
|
||||
{
|
||||
//Projectiles detection + damage deal
|
||||
if(_projectileDamage > 0 && other.gameObject.GetComponent<Entity>() == _entityLinked) {
|
||||
|
||||
other.gameObject.GetComponent<Entity>().Hp -= _projectileDamage;
|
||||
//Kill if no hp
|
||||
if(other.gameObject.GetComponent<Entity>().Hp <= 0) {
|
||||
Destroy(other.gameObject);
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
void OnTriggerStay2D(Collider2D other) {
|
||||
|
||||
if(_entityLinked.Enemy == null) {
|
||||
//Detect the enemy and inform the Ally
|
||||
if (other.gameObject.tag == "Opponent" && _entityLinked is Ally) {
|
||||
_entityLinked.IsEnemyDetected = true;
|
||||
_entityLinked.Enemy = other.gameObject.GetComponent<Entity>();
|
||||
}
|
||||
|
||||
//Detect the enemy and inform the Opponent
|
||||
if (other.gameObject.tag == "Ally" && _entityLinked is Opponent) {
|
||||
_entityLinked.IsEnemyDetected = true;
|
||||
_entityLinked.Enemy = other.gameObject.GetComponent<Entity>();
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
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;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
//Getter and Setter
|
||||
public Entity EntityLinked
|
||||
{
|
||||
get { return _entityLinked; }
|
||||
set { _entityLinked = value; }
|
||||
}
|
||||
|
||||
public int ProjectileDamage
|
||||
{
|
||||
get { return _projectileDamage; }
|
||||
set { _projectileDamage = value; }
|
||||
}
|
||||
|
||||
}
|
||||
11
Assets/Scripts/Detection.cs.meta
Normal file
11
Assets/Scripts/Detection.cs.meta
Normal file
@ -0,0 +1,11 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 531d7966d86bd0c4d83baf58bcb56cd5
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
78
Assets/Scripts/Entity.cs
Normal file
78
Assets/Scripts/Entity.cs
Normal file
@ -0,0 +1,78 @@
|
||||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using UnityEngine;
|
||||
|
||||
public class Entity : MonoBehaviour
|
||||
{
|
||||
|
||||
//Attribut
|
||||
[SerializeField]
|
||||
private int _hp;
|
||||
[SerializeField]
|
||||
private float _speed;
|
||||
[SerializeField]
|
||||
private int _attack_damage;
|
||||
[SerializeField]
|
||||
private float _attack_speed;
|
||||
private float _attack_speed_wait = 0f;
|
||||
|
||||
//Enemy Spotted
|
||||
private bool _isEnemyDetected = false;
|
||||
private Entity _enemy;
|
||||
|
||||
//GETTERS AND SETTERS
|
||||
|
||||
public int Hp
|
||||
{
|
||||
get { return _hp; }
|
||||
set { _hp = value; }
|
||||
}
|
||||
|
||||
public float Speed
|
||||
{
|
||||
get { return _speed; }
|
||||
set { _speed = value; }
|
||||
}
|
||||
|
||||
public int AttackDamage
|
||||
{
|
||||
get { return _attack_damage; }
|
||||
set { _attack_damage = value; }
|
||||
}
|
||||
|
||||
public float AttackSpeed
|
||||
{
|
||||
get { return _attack_speed; }
|
||||
set { _attack_speed = value; }
|
||||
}
|
||||
|
||||
public float AttackSpeedWait
|
||||
{
|
||||
get { return _attack_speed_wait; }
|
||||
set { _attack_speed_wait = value; }
|
||||
}
|
||||
|
||||
public bool IsEnemyDetected
|
||||
{
|
||||
get { return _isEnemyDetected; }
|
||||
set { _isEnemyDetected = value; }
|
||||
}
|
||||
|
||||
public Entity Enemy
|
||||
{
|
||||
get { return _enemy; }
|
||||
set { _enemy = value; }
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
void Start()
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
void Update()
|
||||
{
|
||||
|
||||
}*/
|
||||
}
|
||||
11
Assets/Scripts/Entity.cs.meta
Normal file
11
Assets/Scripts/Entity.cs.meta
Normal file
@ -0,0 +1,11 @@
|
||||
fileFormatVersion: 2
|
||||
guid: d2c97fa69fd00f2419a42544b2e8a306
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
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:
|
||||
48
Assets/Scripts/Opponent/Opponent.cs
Normal file
48
Assets/Scripts/Opponent/Opponent.cs
Normal file
@ -0,0 +1,48 @@
|
||||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using UnityEngine;
|
||||
|
||||
public class Opponent : Entity
|
||||
{
|
||||
|
||||
private Vector2 _movementVector = Vector2.zero;
|
||||
private Rigidbody2D _rigidbody;
|
||||
|
||||
void Start()
|
||||
{
|
||||
_rigidbody = GetComponent<Rigidbody2D>();
|
||||
}
|
||||
|
||||
void Update() {
|
||||
|
||||
_movementVector.x = -Time.deltaTime * Speed;
|
||||
|
||||
_movementVector.Normalize();
|
||||
|
||||
_rigidbody.velocity = _movementVector * Speed;
|
||||
|
||||
if(IsEnemyDetected) {
|
||||
AttackEnemy();
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
void AttackEnemy() {
|
||||
//Attack Cooldown
|
||||
if(AttackSpeed < AttackSpeedWait) {
|
||||
|
||||
Enemy.Hp-=AttackDamage;
|
||||
Debug.Log("Ally Hp = " + Enemy.Hp);
|
||||
|
||||
//Kill if no hp
|
||||
if(Enemy.Hp <= 0) {
|
||||
Destroy(Enemy);
|
||||
}
|
||||
|
||||
AttackSpeedWait = 0f;
|
||||
}
|
||||
|
||||
AttackSpeedWait += Time.deltaTime;
|
||||
}
|
||||
|
||||
}
|
||||
11
Assets/Scripts/Opponent/Opponent.cs.meta
Normal file
11
Assets/Scripts/Opponent/Opponent.cs.meta
Normal file
@ -0,0 +1,11 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 5c6a370a8a12ae547a4509f3b98339cf
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
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:
|
||||
@ -3,7 +3,9 @@
|
||||
--- !u!78 &1
|
||||
TagManager:
|
||||
serializedVersion: 2
|
||||
tags: []
|
||||
tags:
|
||||
- Opponent
|
||||
- Ally
|
||||
layers:
|
||||
- Default
|
||||
- TransparentFX
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user