public void ExplodeEmporer() { Debug.Log("Emporer Destroyed"); sequenceState = 2; CameraAngle newCameraAngle = new CameraAngle(); newCameraAngle.distanceRange = new Vector2(2500f, 2500f); newCameraAngle.fovRange = new Vector2(45f, 60f); newCameraAngle.timeRange = new Vector2(10f, 10f); newCameraAngle.interestTime = 5f; newCameraAngle.stationary = true; newCameraAngle.localOffset = true; newCameraAngle.focus = (new GameObject("Emporer Explosion")).transform; newCameraAngle.focus.position = emporerPosition; Director.main.cameraAngles = new List <CameraAngle> (); Director.main.NewCameraAngle(newCameraAngle); }
private void Scene3() { Debug.Log("Scene 3"); sequenceState = 2; Ship randomShip = GetRandomShip(); if (randomShip != null) { CameraAngle newCameraAngle = new CameraAngle(); newCameraAngle.distanceRange = new Vector2(3500f, 4500f); newCameraAngle.fovRange = new Vector2(45f, 60f); newCameraAngle.timeRange = new Vector2(6f, 8f); newCameraAngle.interestTime = 5f; newCameraAngle.stationary = true; newCameraAngle.localOffset = true; newCameraAngle.focus = randomShip.transform; Director.main.NewCameraAngle(newCameraAngle); } }
private IEnumerator CinematicAngle() { yield return(new WaitForSeconds(Random.Range(0f, 5f))); while (enabled) { if ((Random.Range(0f, 1f) < 0.1f) && (target != null)) { CameraAngle newCameraAngle = new CameraAngle(); newCameraAngle.fovRange = new Vector2(65f, 80f); newCameraAngle.distanceRange = new Vector2(35f, 65f); newCameraAngle.timeRange = new Vector2(2f, 4f); newCameraAngle.interestTime = 5f; newCameraAngle.interest = 1f; newCameraAngle.stationary = true; newCameraAngle.localOffset = true; newCameraAngle.focus = transform; Director.main.AddAngle(newCameraAngle); } yield return(new WaitForSeconds(Random.Range(4.5f, 11.5f))); } }
private void Scene2() { Debug.Log("Scene 2"); sequenceState = 1; vasudansShips.SetActive(true); Ship randomShip = GetRandomShip(Ship.Faction.Vasudans); if (randomShip != null) { CameraAngle newCameraAngle = new CameraAngle(); newCameraAngle.fovRange = new Vector2(65f, 80f); newCameraAngle.timeRange = new Vector2(6f, 8f); newCameraAngle.interestTime = 5f; newCameraAngle.stationary = true; newCameraAngle.localOffset = true; newCameraAngle.focus = randomShip.transform; Director.main.cameraAngles = new List <CameraAngle> (); Director.main.NewCameraAngle(newCameraAngle); } }
public void NewCameraAngle(CameraAngle newAngle) { angleTimeLeft = Random.Range(newAngle.timeRange.x, newAngle.timeRange.y); angleFov = Random.Range(newAngle.fovRange.x, newAngle.fovRange.y); angleOffset = new Vector3(Random.Range(-1f, 1f), Random.Range(-1f, 1f), Random.Range(-1f, 1f)); angleOffset *= Random.Range(newAngle.distanceRange.x, newAngle.distanceRange.y); if (currentAngle.localOffset) { mainCamera.transform.position = newAngle.focus.position + angleOffset; } else { mainCamera.transform.position = newAngle.focus.TransformPoint(angleOffset); } mainCamera.fieldOfView = angleFov; lookAtComponent.NewTarget(newAngle.focus); currentAngle = newAngle; }
private CameraAngle GetBestAngle() { CameraAngle cameraAngle = null; float bestInterest = 0f; for (int i = cameraAngles.Count - 1; i >= 0; i--) { if (cameraAngles[i].focus != null) { if (cameraAngles[i].interest > bestInterest) { bestInterest = cameraAngles[i].interest; cameraAngle = cameraAngles[i]; } } else { cameraAngles.RemoveAt(i); } } return(cameraAngle); }
private IEnumerator ICinematicShips(float delay) { yield return(null); yield return(new WaitForSeconds(delay)); CameraAngle cameraAngle = new CameraAngle(); cameraAngle.interest = 1f; while ((enabled) && (ships.Count > 0)) { if ((Random.Range(0f, 1f) >= 0.25f) || (sequenceState != 2)) { Ship randomShip = null; switch (sequenceState) { case 0: randomShip = GetRandomShip(Ship.Faction.Terrans); break; case 1: randomShip = GetRandomShip(Ship.Faction.Vasudans); break; case 2: randomShip = GetRandomShip(); break; } if (randomShip != null) { cameraAngle.timeRange = new Vector2(3f, 6f); cameraAngle.interestTime = 5f; if (Random.Range(0f, 1f) < 0.5f) { cameraAngle.stationary = true; } else { cameraAngle.stationary = false; } if (Random.Range(0f, 1f) < 0.5f) { cameraAngle.localOffset = true; } else { cameraAngle.localOffset = false; } cameraAngle.focus = randomShip.transform; Director.main.AddAngle(cameraAngle); } } else { Director.main.AddAngle(emporerCameraAngle); } yield return(new WaitForSeconds(Random.Range(3f, 5f))); } cinematicShipSo = null; }
public void AddAngle(CameraAngle newAngle) { cameraAngles.Add(newAngle); }