Exemplo n.º 1
0
    protected override void Start()
    {
        base.Start();


        GameDetails.instance.fadeToBlack.gameObject.SetActive(true);

        // make a reference to the combat "main" script
        combatScript = GetComponent <ImpGiant>();
    }
Exemplo n.º 2
0
    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;
        }
    }