public void Skip() { var bestAngle = 45; var bestDistance = Random.Range(2, 4); var angleMagnitude = 0.2f; var distanceMagnitude = 1.6f; nextLayer.gameObject.SetActive(true); nextLayer.Initialize(bestAngle, angleMagnitude, bestDistance, distanceMagnitude, Vector3.zero, nextLayerProvider); nextLayer.Activate(); currentState = State.Skip; }
public override void Initialize() { base.Initialize(); Score = 0; Number = 0; var index = 0; do { index = Random.Range(0, layerProviders.Count); } while (index == previousIndex); previousIndex = index; currentLayer = layer1; currentLayer.Activate(); previousLayer = layer2; previousLayer.Initialize(45, 0.2f, Random.Range(2, 4), 1.6f, Vector3.zero, layerProviders[index]); previousLayer.Deactivate(); }
private void TransformLayers(float deltaTime) { var currentLayerTransform = previousLayer.transform; var position = currentLayerTransform.position; var arrivalPoint = -currentLayer.LayerProvider.DistanceVector + new Vector3(0, 0, -10); position += (arrivalPoint - position) * (5 * deltaTime); currentLayerTransform.position = position; if (Vector3.Distance(currentLayerTransform.position, arrivalPoint) > 0.125f) { return; } var bestAngle = 45; var bestDistance = Random.Range(2, 4); var angleMagnitude = 0.2f; var distanceMagnitude = 1.6f; if (Number > 5) { angleMagnitude *= 1.2f; distanceMagnitude *= 1.2f; } else if (Number > 10) { angleMagnitude *= 1.5f; distanceMagnitude *= 1.5f; } else if (Number > 15) { angleMagnitude *= 2; distanceMagnitude *= 2; } var rand = Random.Range(0, layerProviders.Count); previousLayer.Finalize(); previousLayer.Initialize(bestAngle, angleMagnitude, bestDistance, distanceMagnitude, Vector3.zero, layerProviders[rand]); isTransforming = false; }