protected override void Start() { base.Start(); GameDetails.instance.fadeToBlack.gameObject.SetActive(true); // make a reference to the combat "main" script combatScript = GetComponent <ImpGiant>(); }
void Boom() { //create layer masks for the player and the obstacles ending a finalmask combining both int playerLayer = 10; int enemyLayer = 11; var playerlayerMask = 1 << playerLayer; var enemyLayerMask = 1 << enemyLayer; RaycastHit2D hitPlayer = Physics2D.Raycast(transform.position, (player.position - transform.position), 1f, playerlayerMask); RaycastHit2D hitBoss = Physics2D.Raycast(transform.position, (boss.position - transform.position), 1f, enemyLayerMask); if (hitPlayer.collider != null) { Debug.Log("hitPlayer hit: " + hitPlayer.collider.name); var playerStat = hitPlayer.collider.gameObject.transform.root.GetComponent <PlayerStats>(); playerStat.TakeDamage(damage); return; } if (hitBoss.collider != null) { //if (hitBoss.collider.transform.parent.name != "ImpGiant" && hitBoss.collider.transform.parent.name != "ImpGiant(Clone)") // return; Debug.Log("hitBoss hit: " + hitBoss.collider.name); EnemyStats enemyStat = hitBoss.collider.transform.parent.GetComponent <EnemyStats>(); ImpGiant bossScript = hitBoss.collider.transform.parent.GetComponent <ImpGiant>(); bossScript.DisableMagicShield(); bossScript.Stunned(); enemyStat.TakeDamage(damage); return; } }