Example #1
0
    private void OnTriggerStay2D(Collider2D collision)
    {
        if (collision.CompareTag("digRange"))
        {
            lastGrave = collision.GetComponentInParent <GraveScript>();

            canDig = true;
        }
    }
Example #2
0
    private void OnTriggerExit2D(Collider2D collision)
    {
        if (collision.CompareTag("digRange"))
        {
            lastGrave = null;

            canDig = false;
        }
    }
Example #3
0
    // Use this for initialization
    void Start()
    {
        LeftTrigger     = "p" + playerNum + "LeftTrigger";
        RightTrigger    = "p" + playerNum + "RightTrigger";
        LeftBumper      = "p" + playerNum + "LeftBumper";
        RightBumper     = "p" + playerNum + "RightBumper";
        LeftX           = "p" + playerNum + "LeftX";
        LeftY           = "p" + playerNum + "LeftY";
        RightX          = "p" + playerNum + "RightX";
        RightY          = "p" + playerNum + "RightY";
        AButton         = "p" + playerNum + "A";
        RightStickClick = "p" + playerNum + "RightStickClick";

        rend      = GetComponent <SpriteRenderer>();
        rb        = GetComponent <Rigidbody2D>();
        playerCol = GetComponent <BoxCollider2D>();
        lastGrave = null;
        inHitstun = false;
        frames    = 0;

        //get enemy player num once lol this took me years
        enemyPlayerNum = (playerNum == 1) ? 2 : 1;

        dashCount = dashMax;

        playerShovel = GetComponentInChildren <ShovelScript>();

        //   acceleration = Vector2.zero;
        force = Vector2.zero;
        speed = Vector2.zero;

        spawnManager = GameObject.Find("RespawnManager").GetComponent <RespawnScript>();
        scoreManager = GameObject.Find("ScoreManager").GetComponent <ScoreScript>();
        collManager  = GameObject.Find("CollisionManager").GetComponent <CollisionScript>();
        cameraShake  = GameObject.Find("Main Camera").GetComponentInChildren <CameraShakeScript>();

        hpVisual = GameObject.Find("P" + playerNum + "HP").GetComponentInChildren <HPScript>();
        //transform.position = spawnManager.getSpawnpoint(playerNum).position;

        health = maxHealth;
        hpVisual.updateVisual(health);
        hitstunTimer = hitstunMaxTimer;

        slayTimer = 0;

        //position = transform.position;
    }
    public void sendCollisionData(GameObject a, GameObject b, CollisionType c)
    {
        switch (c)
        {
        case CollisionType.SHOVEL_PLAYER:
            Transform shovelPlayer = a.transform.parent;
            player = b.GetComponent <PlayerScript> ();

            GameObject sparks = Instantiate(shovelParticles, shovelPlayer.position, Quaternion.identity);

            player.markHitByPlayer();
            player.addForce(-shovelPlayer.up * playerHitForce);
            player.damageHealth();


            break;

        case CollisionType.PLAYER_GRAVE:
            player = a.GetComponent <PlayerScript> ();
            grave  = b.GetComponentInParent <GraveScript> ();

            grave.incrementHoleScore();

            player.triggerDeath();
            break;

        case CollisionType.PLAYER_PIT:
            player = a.GetComponent <PlayerScript> ();

            player.triggerDeath();
            break;

        case CollisionType.SHOVEL_UNDEAD:

            Transform shovelOwner = a.transform.parent;

            undead = b.GetComponent <DeadScript> ();

            GameObject deadSparks = Instantiate(shovelParticles, undead.transform.position, Quaternion.identity);
            //Vector2 hitVecShovel = new Vector2 (b.transform.position.x - a.transform.position.x, b.transform.position.y - a.transform.position.y);

            //undead.addForce ((hitVecShovel.normalized + -((Vector2)shovelOwner.up)) * undeadHitForce);
            undead.addForce(-shovelOwner.up * undeadHitForce);



            break;

        case CollisionType.UNDEAD_GRAVE:
            undead = a.GetComponent <DeadScript> ();
            grave  = b.GetComponentInParent <GraveScript> ();

            undead.triggerDeathAgain();
            grave.incrementHoleScore();
            break;

        case CollisionType.UNDEAD_PIT:
            undead = a.GetComponent <DeadScript> ();

            undead.triggerDeathAgain();
            break;

        case CollisionType.UNDEAD_PLAYER:
            player = b.GetComponent <PlayerScript> ();

            Vector2 hitVecUndead = new Vector2(b.transform.position.x - a.transform.position.x, b.transform.position.y - a.transform.position.y);

            player.addForce(hitVecUndead.normalized * undeadHitForce);
            player.damageHealth();
            break;

        case CollisionType.FLOWER_PLAYER:
            player = b.GetComponent <PlayerScript> ();
            player.pickupFlowers();
            Destroy(a.gameObject);
            break;

        case CollisionType.FLOWER_GRAVE:
            Destroy(a.gameObject);
            break;

        case CollisionType.FLOWER_PIT:
            Destroy(a.gameObject);
            break;

        default:
            break;
        }
    }