// Update is called once per frame void Update() { if (activePaddle == null) { return; //this script reference has no active paddle been set so don't do any computer control logic } timeSinceLastPrediction += Time.deltaTime; timeSinceLastOffsetChange += Time.deltaTime; if (timeSinceLastOffsetChange > offsetChangeTimer) { SetNewOffset(); timeSinceLastOffsetChange = 0f; } if (predictionConfidence == 0) { if (timeSinceLastPrediction > .1f) { DoPrediction(); } } else if (predictionConfidence == 1) { if (timeSinceLastPrediction > .6f) { DoPrediction(); } } else if (predictionConfidence == 2) { if (timeSinceLastPrediction > 1f) { DoPrediction(); } } else if (predictionConfidence == 3) { } if (predictionInfo != null) { if (transform.position.y < predictedHitPoint.y - jitterFactor + randomOffset) { moveFactor = maxInput; } else if (transform.position.y > predictedHitPoint.y + jitterFactor + randomOffset) { moveFactor = -maxInput; } else if (transform.position.y > predictedHitPoint.y - jitterFactor + randomOffset && transform.position.y < predictedHitPoint.y + jitterFactor + randomOffset) { moveFactor = 0f; } } else //we have no predicted point so we move to y = 0, this should never trigger anymore because we never clearing predictionInfo { if (transform.position.y < -jitterFactor) { moveFactor = maxInput; } else if (transform.position.y > jitterFactor) { moveFactor = -maxInput; } else if (transform.position.y > -jitterFactor && transform.position.y < jitterFactor) { moveFactor = 0f; } } //Debug.Log("movement factor: " + movementFactor); activePaddle.MoveVertical(moveFactor); }
// Update is called once per frame void Update() { if (activePaddle != null) { if (doOnce) { LoadKeyboardSettings(); doOnce = false; } //activePaddle.MoveVertical(Input.GetAxis("Vertical")); //activePaddle.MoveHorizontal(Input.GetAxis("Horizontal")); if (Input.GetKeyDown(up)) { movingUp = true; moveSpeed = Vector2.zero; } if (Input.GetKeyUp(up)) { movingUp = false; } if (Input.GetKeyDown(down)) { movingDown = true; moveSpeed = Vector2.zero; } if (Input.GetKeyUp(down)) { movingDown = false; } if (Input.GetKeyDown(left)) { movingLeft = true; moveSpeed = Vector2.zero; } if (Input.GetKeyUp(left)) { movingLeft = false; } if (Input.GetKeyDown(right)) { movingRight = true; moveSpeed = Vector2.zero; } if (Input.GetKeyUp(right)) { movingRight = false; } if (movingUp) { if (moveSpeed.y < maxMovespeed) { moveSpeed.y += accelerationRate; } } else { if (moveSpeed.y > 0) { moveSpeed.y -= decelerationRate; } } if (movingDown) { if (moveSpeed.y > -maxMovespeed) { moveSpeed.y -= accelerationRate; } } else { if (moveSpeed.y < 0) { moveSpeed.y += decelerationRate; } } activePaddle.MoveVertical(moveSpeed.y); //activePaddle.MoveHorizontal(Input.GetAxis("Horizontal")); } }