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); } }
private void Awake() { rb = GetComponent <Rigidbody2D>(); selectedPlat = PlayerPlats.cubeS; }