Added Enemy Return Script Functionality

This commit is contained in:
Philip W 2021-11-01 19:32:04 +00:00
parent 5394ae8f79
commit 914070f0f3
2 changed files with 95 additions and 73 deletions

View File

@ -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

View File

@ -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<HealthSystemAttribute>();
if (healthScript != null)
{
// subtract health from the player
healthScript.ModifyHealth(-1);
}
this.GetComponent<SpriteRenderer>().flipY = false;
isReturning = true;
}
}
}