void ReleaseDesignerOutlets() { if (GetWeatherButton != null) { GetWeatherButton.Dispose(); GetWeatherButton = null; } if (HumidityText != null) { HumidityText.Dispose(); HumidityText = null; } if (ResultsTitle != null) { ResultsTitle.Dispose(); ResultsTitle = null; } if (SunriseText != null) { SunriseText.Dispose(); SunriseText = null; } if (SunsetText != null) { SunsetText.Dispose(); SunsetText = null; } if (TempText != null) { TempText.Dispose(); TempText = null; } if (VisibilityText != null) { VisibilityText.Dispose(); VisibilityText = null; } if (WindText != null) { WindText.Dispose(); WindText = null; } if (ZipCodeEdit != null) { ZipCodeEdit.Dispose(); ZipCodeEdit = null; } }
private void FixedUpdate() { if (shoot) { if (increase) { if (power > maxPower) { if (time >= 0) { power = maxPower; time -= Time.fixedUnscaledDeltaTime; return; } else { increase = false; time = wait; return; } } power += .67f; } else { if (power < 1f) { if (time >= 0) { power = 1f; time -= Time.fixedUnscaledDeltaTime; return; } else { increase = true; time = wait; return; } } power -= .67f; } } WindText.SetText("Wind Speed: " + windSpd[2] + "km/h\nWind Direction: " + windDir + "\nPower: " + power + "\nMax Power: " + maxPower + "\nCoins: " + CoinBehaviour.Collected + "\nCooldown: " + timer); }
// Update is called once per frame void Update() { if (resume || pause) { resume = false; return; } // if (rb.velocity.sqrMagnitude <= 0.025) // stopBall(); if (calcWind && timer == 0) { windDir = new Vector3(UnityEngine.Random.Range(-1f, 1.1f), 0, UnityEngine.Random.Range(-1f, 1.1f)); windSpd[2] = UnityEngine.Random.Range(windSpd[0], windSpd[1] + 1); //((Text)windTxt).text = "Wind Speed: " + windSpd[2] +"\nWind Direction:" + windDir; WindText.SetText("Wind Speed: " + windSpd[2] + "km/h\nWind Direction: " + windDir + "\nPower: " + power + "\nMax Power: " + maxPower + "\nCoins: " + CoinBehaviour.Collected + "Cooldown: " + timer); calcWind = false; updatePos(); } color.r = power / maxPower; arrowRend.material.color = color; if (!shoot && timer == 0 && Input.GetKeyUp("mouse 0")) { force = cam.transform.forward; shoot = true; BallCamController.Disabled(false); } else if (shoot && Input.GetKeyUp("mouse 0")) { timer = 5 * (int)power; shoot = false; BallCamController.Disabled(false); shot++; calcWind = true; /*Possibly account for ball being on slope */ //Vector3 planeNorm = rb.getPlane(); Vector3 planeNorm = new Vector3(0, 1, 0); //Use the norm of the x,z plane force = Vector3.ProjectOnPlane(force, planeNorm).normalized; //Project onto a flat surface as we dont care about camera height Debug.Log(force); rb.AddForce(force * power * power + windDir * windSpd[2] * windSpd[2]); power = 1f; } else if (shoot && Input.GetKeyUp("mouse 1")) { shoot = false; BallCamController.Disabled(false); power = 1f; } if (timer != 0) { timer -= 1; } if (!incognitoMode) { if (Input.GetKeyDown("s")) { stopBall(); } else if (Input.GetKeyDown("r")) { resetBall(); } else if (Input.GetKeyDown("j")) { jump(jumpPower * jumpPower); } else if (Input.GetKeyDown("d")) { if (curr.prev != null) { stopBall(); rb.transform.position = curr.prev.pos; curr = curr.prev; shot--; calcWind = true; cheated = true; } } else if (Input.GetKeyDown("f")) { if (curr.next != null) { stopBall(); rb.transform.position = curr.next.pos; curr = curr.next; shot++; calcWind = true; cheated = true; } } } // Hide arrow when ball is in motion if (timer == 0) { arrowRend.enabled = true; } else { arrowRend.enabled = false; } }