diff --git a/Unity-Files/Assets/Examples/Defender/Enemy Ship.prefab b/Unity-Files/Assets/Examples/Defender/Enemy Ship.prefab index 3cdaac4..d1c0190 100644 --- a/Unity-Files/Assets/Examples/Defender/Enemy Ship.prefab +++ b/Unity-Files/Assets/Examples/Defender/Enemy Ship.prefab @@ -11,11 +11,10 @@ GameObject: - component: {fileID: 416926} - component: {fileID: 21256868} - component: {fileID: 5058630} - - component: {fileID: 114000011533140650} - - component: {fileID: 114000012881949288} - - component: {fileID: 11441764} - - component: {fileID: 114000012184921828} - component: {fileID: 4441117583140911826} + - component: {fileID: -2225950841401146330} + - component: {fileID: 114000011533140650} + - component: {fileID: 114000012184921828} - component: {fileID: -7020474658778450613} m_Layer: 0 m_Name: Enemy Ship @@ -81,7 +80,7 @@ SpriteRenderer: m_Sprite: {fileID: 21300000, guid: d3e5ee0eb24b6d84ea3c1965e4cbefdb, type: 3} m_Color: {r: 1, g: 1, b: 1, a: 1} m_FlipX: 0 - m_FlipY: 0 + m_FlipY: 1 m_DrawMode: 0 m_Size: {x: 1, y: 1} m_AdaptiveModeThreshold: 0.5 @@ -101,78 +100,15 @@ Rigidbody2D: m_Simulated: 1 m_UseFullKinematicContacts: 0 m_UseAutoMass: 1 - m_Mass: 1.0318747 + m_Mass: 1 m_LinearDrag: 4 m_AngularDrag: 0.05 - m_GravityScale: 1 + m_GravityScale: 0 m_Material: {fileID: 0} m_Interpolate: 0 m_SleepingMode: 1 m_CollisionDetection: 0 m_Constraints: 0 ---- !u!114 &114000011533140650 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 105984} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: bdab9334f9a2a4efe8c019b5d37595cd, type: 3} - m_Name: - m_EditorClassIdentifier: - actions: - - {fileID: 114000012881949288} - useCustomActions: 0 - customActions: - m_PersistentCalls: - m_Calls: [] - happenOnlyOnce: 1 - filterByTag: 0 - filterTag: Player ---- !u!114 &114000012881949288 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 105984} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: be840ffee03ed4abe9b3dc9b48f9cae7, type: 3} - m_Name: - m_EditorClassIdentifier: - target: 0 - deathEffect: {fileID: 1496494696399852, guid: 61bb6781d7b9444e89d1fd6eef729832, - type: 3} ---- !u!114 &11441764 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 105984} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 0fa3c260db47248a18ecb8112019040d, type: 3} - m_Name: - m_EditorClassIdentifier: - destroyWhenActivated: 0 - healthChange: -1 ---- !u!114 &114000012184921828 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 105984} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: b9c4adaf25c56477b836b81ad48e3bdb, type: 3} - m_Name: - m_EditorClassIdentifier: - pointsWorth: 1 --- !u!60 &4441117583140911826 PolygonCollider2D: m_ObjectHideFlags: 0 @@ -183,7 +119,7 @@ PolygonCollider2D: m_Enabled: 1 m_Density: 1 m_Material: {fileID: 0} - m_IsTrigger: 0 + m_IsTrigger: 1 m_UsedByEffector: 0 m_UsedByComposite: 0 m_Offset: {x: 0, y: 0} @@ -225,6 +161,55 @@ PolygonCollider2D: - {x: -0.044999998, y: 0.42499998} - {x: -0.065, y: 0.375} - {x: -0.055, y: 0.375} +--- !u!114 &-2225950841401146330 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 105984} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 1cf824a8218b19a4f843a9fa0642f548, type: 3} + m_Name: + m_EditorClassIdentifier: + rigidbody2D: {fileID: 0} + normalSpeed: 5 + returnSpeed: 5 +--- !u!114 &114000011533140650 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 105984} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: bdab9334f9a2a4efe8c019b5d37595cd, type: 3} + m_Name: + m_EditorClassIdentifier: + actions: + - {fileID: 0} + useCustomActions: 0 + customActions: + m_PersistentCalls: + m_Calls: [] + happenOnlyOnce: 1 + filterByTag: 0 + filterTag: Player +--- !u!114 &114000012184921828 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 105984} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: b9c4adaf25c56477b836b81ad48e3bdb, type: 3} + m_Name: + m_EditorClassIdentifier: + pointsWorth: 1 --- !u!210 &-7020474658778450613 SortingGroup: m_ObjectHideFlags: 0 diff --git a/Unity-Files/Assets/Scripts/Movement/EnemyReturn.cs b/Unity-Files/Assets/Scripts/Movement/EnemyReturn.cs index eec94df..6b4e1d4 100644 --- a/Unity-Files/Assets/Scripts/Movement/EnemyReturn.cs +++ b/Unity-Files/Assets/Scripts/Movement/EnemyReturn.cs @@ -5,15 +5,52 @@ using UnityEngine; [RequireComponent(typeof(Rigidbody2D))] public class EnemyReturn : Physics2DObject { + [Header("Movement Speed")] + [Tooltip("The amount of speed in which the boat moves towards the castle")] + public float normalSpeed = 5f; + [Tooltip("The amount of speed in which the boat moves away from the castle")] + public float returnSpeed = 5f; + + private bool isReturning = false; + private Vector2 movement = new Vector2(0f, 0f); + // Start is called before the first frame update void Start() { - + } // Update is called once per frame void Update() { - + if (isReturning) + { + movement = new Vector2(0f, returnSpeed); + } + else + { + movement = new Vector2(0f, -normalSpeed); + } + } + + //FixedUpdate is called every frame when the physics are calculated + void FixedUpdate() + { + rigidbody2D.AddForce(movement); + } + void OnTriggerEnter2D(Collider2D otherCollider) + { + string playerTag = otherCollider.gameObject.tag; + if (playerTag == "Player" || playerTag == "Player2") + { + HealthSystemAttribute healthScript = otherCollider.gameObject.GetComponent(); + if (healthScript != null) + { + // subtract health from the player + healthScript.ModifyHealth(-1); + } + this.GetComponent().flipY = false; + isReturning = true; + } } }