Esempio n. 1
0
    void OnTriggerEnter2D(Collider2D c)
    {
        if (c.CompareTag("Hookable"))
        {
            partManag.SendMessage("generateSalivaSplash", transform.position + offsetToHookPoint);
            hookedObject      = c.gameObject;
            offsetToHookPoint = transform.position - hookedObject.transform.position;
            offsetToHookPoint = Quaternion.Inverse(hookedObject.transform.rotation) * offsetToHookPoint;
            Rigidbody2D hookBody = GetComponent <Rigidbody2D>();
            hookBody.isKinematic = true;
            hookBody.velocity    = Vector3.zero;
            hookGun.HookOn();
            GetComponent <CircleCollider2D>().enabled = false;
        }
        else if (!TagsToIgnore(c))
        {
            hookGun.CancelHook();
        }

        if (c.CompareTag("Edible"))
        {
            Destroy(c.gameObject);
            hookGun.CancelHook();
        }
    }
Esempio n. 2
0
    IEnumerator Explosion()
    {
        respawning = true;
        playerSprite.SetActive(false);
        hook.CancelHook();
        player.velocity    = Vector2.zero;
        player.isKinematic = true;
        yield return(new WaitForSeconds(respawnDelay));

        player.isKinematic = false;
        transform.position = Vector2.up;
        playerSprite.SetActive(true);
        respawning = false;
        if (OnRespawn != null)
        {
            OnRespawn();
        }
    }
Esempio n. 3
0
    IEnumerator delayedRespawn()
    {
        playerSprite.gameObject.SetActive(false);
        reggieBody.isKinematic = true;
        ParticleSystem deathAnimation = Instantiate(death, transform.position, Quaternion.identity) as ParticleSystem;

        yield return(new WaitForSeconds(timeForRespawn));

        transform.position = lastSpawn.transform.position;
        playerSprite.gameObject.SetActive(true);
        reggieBody.isKinematic = false;
        Destroy(deathAnimation);
        hookshot.CancelHook();
    }