void Update() { Vector3 moveDirection = new Vector3(Input.GetAxis("Horizontal"), Input.GetAxis("Vertical"), 1); Vector3 objective = Vector3.zero; if (aimComponent != null && aimComponent.enabled) { objective = aimComponent.GetAimPosition(); moveDirection = (objective - transform.position).normalized; moveDirection.x *= 2f; moveDirection.y *= 2f; } if (moveComponent != null && moveComponent.enabled) { moveComponent.Move(moveDirection); moveComponent.LookAt(objective); if (Input.GetButton("Boost")) { moveComponent.Boost(); } else if (Input.GetButtonUp("Boost")) { moveComponent.StopBoosting(); } if (Input.GetButton("SlowDown")) { moveComponent.SlowDown(); } else if (Input.GetButtonUp("SlowDown")) { moveComponent.StopSlowingDown(); } if (Input.GetKeyDown("w")) { if (timeSinceLastTap_W < doubleTapTime) { moveComponent.Roll(Vector2.up); } timeSinceLastTap_W = 0; } if (Input.GetKeyDown("s")) { if (timeSinceLastTap_S < doubleTapTime) { moveComponent.Roll(Vector2.down); } timeSinceLastTap_S = 0; } if (Input.GetKeyDown("a")) { if (timeSinceLastTap_A < doubleTapTime) { moveComponent.Roll(Vector2.left); } moveComponent.StartTilting(-1); timeSinceLastTap_A = 0; } else if (Input.GetKeyUp("a")) { moveComponent.StopTilting(); } if (Input.GetKeyDown("d")) { if (timeSinceLastTap_D < doubleTapTime) { moveComponent.Roll(Vector2.right); } moveComponent.StartTilting(1); timeSinceLastTap_D = 0; } else if (Input.GetKeyUp("d")) { moveComponent.StopTilting(); } timeSinceLastTap_W += Time.deltaTime; timeSinceLastTap_S += Time.deltaTime; timeSinceLastTap_A += Time.deltaTime; timeSinceLastTap_D += Time.deltaTime; } if (attackComponent != null && attackComponent.enabled) { if (Input.GetButton("Fire1")) { attackComponent.BasicAttack(); } if (Input.GetButton("Fire2")) { attackComponent.SpecialAttack(); } } }