Пример #1
0
    private void Update()
    {
        isGrounded = Physics2D.OverlapArea(onFloorTL.position, onFloorBR.position, GroundLayerMask);

        // Jumping
        if (isGrounded)
        {
            canDoubleJump = true;
        }
        if (Input.GetButtonDown("Jump"))
        {
            if (isGrounded)                     // First jump
            {
                doJump = true;
            }
            else if (!isGrounded && canDoubleJump)    // Second Jump
            {
                doJump        = true;
                canDoubleJump = false;
            }
        }

        // Attack
        if (Input.GetKeyDown(KeyCode.LeftArrow) && !isGrounded)
        {
            GameObject obj = Instantiate(getPlayerPlatObject(), new Vector3(transform.position.x - 1, transform.position.y, 0), transform.rotation);
            // change out getcomponent later, maybe use object types?
            obj.GetComponent <Rigidbody2D>().AddForce(Vector2.left * projectileLaunchSpeed);
        }
        else if (Input.GetKeyDown(KeyCode.RightArrow) && !isGrounded)
        {
            GameObject obj = Instantiate(getPlayerPlatObject(), new Vector3(transform.position.x + 1, transform.position.y, 0), transform.rotation);
            obj.GetComponent <Rigidbody2D>().AddForce(Vector2.right * projectileLaunchSpeed);
        }
        else if (Input.GetKeyDown(KeyCode.DownArrow) && !isGrounded)
        {
            GameObject obj = Instantiate(getPlayerPlatObject(), new Vector3(transform.position.x, transform.position.y - 1, 0), transform.rotation);
            obj.GetComponent <Rigidbody2D>().AddForce(Vector2.down * projectileLaunchSpeed);
        }

        // Platform Selection
        if (Input.GetKeyDown(KeyCode.LeftShift))
        {
            selectedPlat = (PlayerPlats)(((int)selectedPlat + 1) % playerPlatObjects.Length);
        }
    }
Пример #2
0
 private void Awake()
 {
     rb           = GetComponent <Rigidbody2D>();
     selectedPlat = PlayerPlats.cubeS;
 }