void LocalPlayerStartSetup() { Cursor.visible = false; AudioListener audioListener = GetComponentInChildren <AudioListener>(); Camera camera = GetComponentInChildren <Camera>(); player2MouseLook = GetComponent <MouseLook>(); player2Movement = GetComponent <Movement>(); spawn1 = new Vector3(5, 2, 0); if (isLocalPlayer) { camera.enabled = true; audioListener.enabled = true; } if (!isLocalPlayer) { camera.enabled = false; audioListener.enabled = false; } // IF this Player starts at Player 1's position if (transform.position == spawn1) { Cursor.visible = true; player2MouseLook.enabled = false; player2Movement.enabled = false; body.GetComponent <MeshRenderer>().enabled = false; body.GetComponent <SphereCollider>().enabled = false; CharacterController charCont = GetComponent <CharacterController>(); charCont.enabled = false; transform.position = new Vector3(8, 300, 0); transform.Rotate(90, 0, 180); camera.orthographic = true; camera.orthographicSize = 91; player1Input = GetComponent <Player1Input>(); player1Input.enabled = true; } }
public void ReceiveInput(Player1Input input, float value) { switch (input) { case Player1Input.Horizontal: if (!forceFieldIsUp) { rb.velocity = new Vector2(runtimePlayerStats.moveSpeed * value, rb.velocity.y); //if we press the key that corresponds with KeyCode left, then we want the rigidbody to move to the left moveDirection = (value > 0.1f) ? Vector2.right : (value < -0.1f) ? Vector2.left : moveDirection; if (dashingLeft || dashingRight) { float leftD, rightD; leftD = dashingLeft ? 1 : 0; rightD = dashingRight ? 1 : 0; float dashDirection = rightD - leftD; Debug.Log("DASH DIRECTION: " + dashDirection); rb.velocity = new Vector2(dashDirection * dashSpeed, 0); } if (IsPlayerCloseToObstacle((GetComponent <BoxCollider2D>().size.x / 2) + 1.4f)) { rb.velocity = new Vector2(0, rb.velocity.y); } if (hasGatlingGun && justUsedRangedAttack) { rb.velocity = new Vector2(rb.velocity.x * gatlingMovespeedMultiplier, rb.velocity.y); } } break; case Player1Input.Attack: if (!CanPlayerAttack()) { return; } if (runtimePlayerStats.rangedAttacks) { RangedAttack(); return; } if (runtimePlayerStats.meleeAttacks) { MeleeAttack(); return; } break; case Player1Input.Jump: if (isGrounded && !forceFieldIsUp) { audioList.PlayWithVariablePitch(audioList.jump); rb.AddForce(runtimePlayerStats.jumpForce * Vector2.up, ForceMode2D.Impulse); } break; case Player1Input.JumpHold: if (value == 1) { isHoldingJump = true; } else { isHoldingJump = false; } break; case Player1Input.DoubleTapLeft: if (isGrounded || dashOnCooldown) { return; } dashingLeft = true; dashOnCooldown = true; //dashTimer = 0; break; case Player1Input.DoubleTapRight: if (isGrounded || dashOnCooldown) { return; } dashingRight = true; dashOnCooldown = true; //dashTimer = 0; break; case Player1Input.Explosion: explosionEvent.Raise(); break; case Player1Input.StopForceField: if (forceFieldIsUp && timeUntilForceFieldIsReady <= 0) { ToggleForceField(false); } break; case Player1Input.UseForceField: if (isGrounded && timeUntilForceFieldIsReady <= 0) { if (forcefieldInstance == null) { rb.velocity = Vector2.zero; ToggleForceField(true); } } break; } }