Updated EnemyReturn Script To Handle Dropping Item

This commit is contained in:
Philip W 2021-11-01 21:05:07 +00:00
parent 24b04cb208
commit aeae818f80
2 changed files with 95 additions and 14 deletions

View File

@ -404,7 +404,7 @@ Transform:
- {fileID: 213808747}
- {fileID: 565676025}
m_Father: {fileID: 0}
m_RootOrder: 4
m_RootOrder: 5
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!114 &267901559
MonoBehaviour:
@ -897,7 +897,7 @@ Transform:
- {fileID: 883890380}
- {fileID: 950081912}
m_Father: {fileID: 0}
m_RootOrder: 5
m_RootOrder: 6
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!1 &990867867
GameObject:
@ -910,6 +910,7 @@ GameObject:
- component: {fileID: 990867870}
- component: {fileID: 990867869}
- component: {fileID: 990867868}
- component: {fileID: 990867871}
m_Layer: 0
m_Name: CollisionDetector
m_TagString: Player
@ -928,7 +929,7 @@ BoxCollider2D:
m_Density: 1
m_Material: {fileID: 0}
m_IsTrigger: 0
m_UsedByEffector: 0
m_UsedByEffector: 1
m_UsedByComposite: 0
m_Offset: {x: 0, y: 0}
m_SpriteTilingProperty:
@ -970,6 +971,19 @@ Transform:
m_Father: {fileID: 0}
m_RootOrder: 3
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!114 &990867871
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 990867867}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: bba26da02d9d0b540be9dee579836806, type: 3}
m_Name:
m_EditorClassIdentifier:
droppedItemAmount: 3
--- !u!1 &1011785959
GameObject:
m_ObjectHideFlags: 0
@ -1043,6 +1057,63 @@ BoxCollider2D:
serializedVersion: 2
m_Size: {x: 12, y: 2}
m_EdgeRadius: 0
--- !u!1 &1019999843
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 1019999845}
- component: {fileID: 1019999844}
m_Layer: 0
m_Name: CollisionDetectorReturn
m_TagString: Finish
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!61 &1019999844
BoxCollider2D:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1019999843}
m_Enabled: 1
m_Density: 1
m_Material: {fileID: 0}
m_IsTrigger: 0
m_UsedByEffector: 1
m_UsedByComposite: 0
m_Offset: {x: 0, y: 0}
m_SpriteTilingProperty:
border: {x: 0.19999999, y: 0.22, z: 0.19999999, w: 0.24}
pivot: {x: 0.5, y: 0.5}
oldSize: {x: 1.28, y: 1.28}
newSize: {x: 17.75735, y: 1.2300253}
adaptiveTilingThreshold: 0.5
drawMode: 2
adaptiveTiling: 0
m_AutoTiling: 1
serializedVersion: 2
m_Size: {x: 1.28, y: 1.28}
m_EdgeRadius: 0
--- !u!4 &1019999845
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1019999843}
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
m_LocalPosition: {x: 0, y: 6.48, z: 0}
m_LocalScale: {x: 1, y: 1, z: 2}
m_Children: []
m_Father: {fileID: 0}
m_RootOrder: 4
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!1 &1066252771
GameObject:
m_ObjectHideFlags: 0

View File

@ -14,6 +14,8 @@ public class EnemyReturn : Physics2DObject
public GameObject droppedObject;
[Header("Death Effect When Shot")]
public GameObject deathEffect;
[Header("Has Droppable Object")]
public bool hasDroppableObject = false;
private bool isReturning = false;
private Vector2 movement = new Vector2(0f, 0f);
@ -47,12 +49,6 @@ public class EnemyReturn : Physics2DObject
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;
}
@ -63,11 +59,25 @@ public class EnemyReturn : Physics2DObject
GameObject newDeathEffect = Instantiate<GameObject>(deathEffect);
newDeathEffect.transform.position = this.transform.position;
}
float randomX = Random.Range(0, 1);
float randomY = Random.Range(0, 1);
GameObject newDroppedObject = Instantiate<GameObject>(droppedObject);
newDroppedObject.transform.position = new Vector2(randomX + this.transform.position.x, randomY + this.transform.position.y);
if (hasDroppableObject)
{
GameObject newDroppedObject = Instantiate<GameObject>(droppedObject);
newDroppedObject.transform.position = new Vector2(Random.Range(0, 1) + this.transform.position.x, Random.Range(0, 1) + this.transform.position.y);
}
Destroy(gameObject);
}
else if (playerTag == "Finish" && hasDroppableObject)
{
HealthSystemAttribute healthScript = GameObject.Find("CollisionDetector").gameObject.GetComponent<HealthSystemAttribute>();
if (healthScript != null)
{
// subtract health from the player
healthScript.ModifyHealth(-1);
}
Destroy(gameObject);
}
else if (playerTag == "Finish" && isReturning)
{
Destroy(gameObject);
}
}