Ejemplo n.º 1
0
    // Colliders
    void OnTriggerEnter2D(Collider2D other)
    {
        if (dead) return;

        if (other.gameObject.tag == "Hammer")
        {
            Destroy(other.gameObject);
            //StartCoroutine(hammerTimer());
        }
        if (hammerTime == true && other.gameObject.tag == "Enemy")
        {
            PlayerData.Instance.Score += 100;
            Destroy(other.gameObject);
        }
        else if (hammerTime == false && other.gameObject.tag == "Enemy")
        {
            //dead = true;
            //this.animator.SetTrigger("DeathTrigger");
            OSCSender.SendMessage(OSCSender.PDClient, OSCSender.enemyCollisionCmd, 1.0f );
            gameObject.transform.position = initialPosition;
        }
        if (other.gameObject.tag == "WinLadder" && Input.GetKey(KeyCode.UpArrow))
        {
            //this.animator.SetTrigger("WinTrigger");
        }
    }
Ejemplo n.º 2
0
    void OnTriggerStay2D(Collider2D other)
    {
        switch (other.gameObject.tag)
        {
            case "EG":
                OSCSender.SendMessage(OSCSender.PDClient, OSCSender.floorCmd, 0 );
                break;
            case "Floor1":
                OSCSender.SendMessage(OSCSender.PDClient, OSCSender.floorCmd, 1 );
                break;
            case "Floor2":
                OSCSender.SendMessage(OSCSender.PDClient, OSCSender.floorCmd, 2 );
                break;
            case "Floor3":
                OSCSender.SendMessage(OSCSender.PDClient, OSCSender.floorCmd, 3 );
                break;
            case "Floor4":
                OSCSender.SendMessage(OSCSender.PDClient, OSCSender.floorCmd, 4 );
                break;
            default:
            break;
        }

        if (other.gameObject.tag == "Ladder")
        {
            isOnLadder = true;
            if (Input.GetKey(KeyCode.UpArrow) || Input.GetKey(KeyCode.DownArrow))
            {
                this.animator.SetInteger("AnimState", 3);
            }
        }
    }
Ejemplo n.º 3
0
 void OnCollisionEnter2D(Collision2D coll)
 {
     Debug.Log("collide and send");
     OSCSender.SendMessage(OSCSender.PDClient, OSCSender.hitCmd + GATE_NUMBER, new List <float>()
     {
         Init.gateNotes[GATE_NUMBER].x, Init.gateNotes[GATE_NUMBER].y
     });
 }
Ejemplo n.º 4
0
    void Update()
    {
        if (dead) return;

        // Restart
        if ( Input.GetKeyUp( KeyCode.R ) ) {
            gameObject.transform.position = initialPosition;
            hammerTime = false;

        } else if ( Input.GetKeyUp( KeyCode.H ) ) { // Hammer Time
            hammerTime = !hammerTime;
            if (hammerTime) {
                OSCSender.SendMessage(OSCSender.PDClient, OSCSender.hammerTimeCmd, 1 );
            } else {
                OSCSender.SendMessage(OSCSender.PDClient, OSCSender.hammerTimeCmd, 0 );
            }
        }

        CheckGround();

        var forceX = 0f;
        var forceY = 0f;

        var absVelX = Mathf.Abs(rb2d.velocity.x);
        var absVelY = Mathf.Abs(rb2d.velocity.y);

        if (absVelY < .2f)
        {
            standing = true;
        }
        else
        {
            standing = false;
        }

        // Moving Left or Right
        if (controller.moving.x != 0)
        {
            if (absVelX < maxVelocity.x)
            {
                forceX = standing ? speed * controller.moving.x : (speed * controller.moving.x);
                transform.localScale = new Vector3(forceX > 0 ? -3 : 3, 3, 0);
                OSCSender.SendMessage(OSCSender.PDClient, OSCSender.movingCmd, forceX > 0 ? -1.0f : 1.0f );
            }
        }
        // Standing
        else if (controller.moving.x == 0)
        {
            if (!hammerTime) this.animator.SetInteger("AnimState", 0);

            else if (hammerTime)
            {
                this.animator.SetInteger("AnimState", 5);
            }
            OSCSender.SendMessage(OSCSender.PDClient, OSCSender.movingCmd, 0.0f );
        }
        // Moving Up or Down, Only if Mario is on a ladder trigger
        if (controller.moving.y > 0 && isOnLadder == true)
        {
            if (absVelY < maxVelocity.y)
            {
                forceY = controller.moving.y * climbSpeed;
                this.animator.SetInteger("AnimState", 4);
            } else {
                this.animator.SetInteger("AnimState", 3);
            }
        }
        else if (absVelY > 0 && isOnGround == true)
        {
            this.animator.SetInteger("AnimState", 0);
        }
        // Jumping only if Mario is on the ground
        if (isOnGround == true && Input.GetKeyDown(KeyCode.Space))
        {
            Debug.Log("Space");
            rb2d.AddForce(Vector2.up * jumpForce);
            this.animator.SetInteger("AnimState", 2);
            OSCSender.SendMessage(OSCSender.PDClient, OSCSender.jumpCmd, 1.0f );
            if (!hammerTime){
                PlaySound(this.jumpClip);
            }
        }
        // Play sound clip once
        if (isOnGround == true && (Input.GetKeyDown(KeyCode.LeftArrow) || Input.GetKeyDown(KeyCode.RightArrow)))
        {
            if (!hammerTime)
            {
                PlaySound(this.walkingClip);
                this.animator.SetInteger("AnimState", 1);
            }
            else if (hammerTime)
            {
                this.animator.SetInteger("AnimState", 6);
            }
        }

        rb2d.AddForce(new Vector2(forceX, forceY));

        // Lower left is 0 0 (6.5, 5.0)

        // float[] xy = {rb2d.transform.position.x, rb2d.transform.position.y};
        List<float> xy = new List<float>();
        xy.Add((rb2d.transform.position.x + width/2)/width);
        xy.Add(1.0f - ((rb2d.transform.position.y + height/2)/height));
        xy.Add(rb2d.velocity.x);
        xy.Add(rb2d.velocity.y);

        OSCSender.SendMessage(OSCSender.PDClient, OSCSender.positionCmd, xy);
    }