- component: {fileID: 243225409}
- component: {fileID: 243225414}
- component: {fileID: 243225413}
+ - component: {fileID: 243225412}
m_Layer: 8
m_Name: snail
m_TagString: Boss
m_HasTransformHierarchy: 1
m_AllowConstantClipSamplingOptimization: 1
m_KeepAnimatorControllerStateOnDisable: 0
+--- !u!114 &243225412
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 243225404}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: ed66910e4a1d1484897de833329dc42a, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ flashingTime: 0.3
--- !u!114 &243225413
MonoBehaviour:
m_ObjectHideFlags: 0
--- /dev/null
+using System.Collections;
+using System.Collections.Generic;
+using UnityEngine;
+
+public class BossCollision : MonoBehaviour
+{
+ Boss boss;
+
+ SpriteRenderer spriteRenderer;
+
+ public float flashingTime;
+ bool invulnerable;
+
+ private void Start()
+ {
+ boss = GetComponent<Boss>();
+ spriteRenderer = GetComponent<SpriteRenderer>();
+ }
+
+ //Bei Beruehrung mit der Schere wird die Gesundheit um 1 verringert
+ public void OnCollisionEnter2D(Collision2D collision)
+ {
+ if (boss.bossfight && !invulnerable)
+ {
+ if (collision.gameObject.CompareTag("Bullet"))
+ {
+ boss.bossHealth--;
+ Destroy(collision.gameObject);
+ StartCoroutine("GetInvincible");
+ }
+ }
+ }
+
+ IEnumerator GetInvincible()
+ {
+ invulnerable = true;
+ Physics2D.IgnoreLayerCollision(7, 8, true);
+ for (int i = 0; i < 4; i++)
+ {
+ spriteRenderer.enabled = false;
+ yield return new WaitForSeconds(flashingTime);
+ spriteRenderer.enabled = true;
+ yield return new WaitForSeconds(flashingTime);
+ }
+ Physics2D.IgnoreLayerCollision(7, 8, false);
+ spriteRenderer.enabled = true;
+ invulnerable = false;
+ }
+}
private void OnCollisionEnter2D(Collision2D collision)
{
- if (collision.gameObject.CompareTag("Player") && invulnerable == false)
+ if (collision.gameObject.CompareTag("Player") && !invulnerable)
{
powerUps.mouseIsGardener = false;
health.DealDamage(eS.enemyDamage);