public void Play() { if (_currentState != CinematicState.Playing) { cinematicCamera.gameObject.SetActive(true); if (_currentIndex == 0) { Camera.main.gameObject.SetActive(false); _currentPoint = allPoints[_currentIndex]; cinematicCamera.position = _currentPoint.pointTransform.position; cinematicCamera.rotation = _currentPoint.pointTransform.rotation; if (allPoints.Count > 0) { _lastPoint = allPoints[_currentIndex]; _currentIndex = 1; _currentPoint = allPoints[_currentIndex]; } } if (_currentState == CinematicState.Waiting) { _lastPoint = allPoints[_currentIndex]; if (allPoints.Count > _currentIndex) { _currentIndex++; _currentPoint = allPoints[_currentIndex]; } } _currentState = CinematicState.Playing; } }
// Use this for initialization void Start() { s = CinematicState.INIT; textToScreen = "Nov 2, 1989" + '\n' + "Infinite Pastures, Alabama"; auSou = gameObject.GetComponent<AudioSource>(); StartCoroutine(TypingText(textToScreen)); UFO.transform.position =new Vector3(transform.position.x,10.0f,transform.position.z - 20.0f); }
private void SetCinematicState(CinematicState cinematicState) { if (_cinematicState == cinematicState) { return; } _cinematicState = cinematicState; }
// Use this for initialization void Start() { s = CinematicState.INIT; textToScreen = "Nov 2, 1989" + '\n' + "Infinite Pastures, Alabama"; auSou = gameObject.GetComponent<AudioSource>(); StartCoroutine(TypingText(textToScreen)); UFO.transform.position =new Vector3(transform.position.x,10.0f,transform.position.z - 20.0f); auSou.enabled = true; GameManager.instance.mainCamera.CameraControlable = false; }
public void Pause() { if (_currentState == CinematicState.Playing || _currentState == CinematicState.Waiting) { _stateBeforePause = _currentState; _currentState = CinematicState.Pause; } else if (_currentState == CinematicState.Pause) { _currentState = _stateBeforePause; } }
IEnumerator TypingText(string inputText) { UFO.UFOControlling = false; UI.SetActive(false); foreach(char letter in inputText.ToCharArray()) { mainText.text += letter; auSou.PlayOneShot(listAudioClip[0]); yield return new WaitForSeconds(0.05f); } s = CinematicState.UFOENTER; }
public void UpdateStreaming(JArray streamingMessage) { foreach (var singleStreaming in streamingMessage) { try { JObject streamingObject = singleStreaming.Value <JObject>(); string id = streamingObject.GetValue("id").Value <string>(); CinematicState component = state.sensors.kinematics.Find(x => x.Id == id); if (component != null) { JToken scan; if (streamingObject.TryGetValue("acc", out scan)) { dynamic acc = scan.Value <JObject>(); component.accelerometer.X = acc.x; component.accelerometer.Y = acc.y; component.accelerometer.Z = acc.z; } if (streamingObject.TryGetValue("gyr", out scan)) { dynamic gyr = scan.Value <JObject>(); component.gyroscope.X = gyr.x; component.gyroscope.Y = gyr.y; component.gyroscope.Z = gyr.z; } if (streamingObject.TryGetValue("pos", out scan)) { dynamic pos = scan.Value <JObject>(); component.position.X = pos.x; component.position.Y = pos.y; component.position.Z = pos.z; } } } catch (Exception) { Debug.Log("Error parse event " + singleStreaming.ToString()); } } EventUdp?.Invoke(); }
private void Update() { if (_currentState == CinematicState.Playing) { _currentProgressionPosition += Time.deltaTime * _currentPoint.speed; _currentProgressionRotation += Time.deltaTime * _currentPoint.speed; cinematicCamera.position = Vector3.Lerp(_lastPoint.pointTransform.position, _currentPoint.pointTransform.position, _currentProgressionPosition); if (_currentPoint.moveRotation) { cinematicCamera.rotation = Quaternion.Lerp(_lastPoint.pointTransform.rotation, _currentPoint.pointTransform.rotation, _currentProgressionRotation); } else if (_currentPoint.useTarget && _currentPoint.targetCamera != null) { cinematicCamera.LookAt(_currentPoint.targetCamera.position); } if (_currentProgressionPosition >= 0.99f) { cinematicCamera.position = _currentPoint.pointTransform.position; if (_currentPoint.moveRotation) { cinematicCamera.rotation = _currentPoint.pointTransform.rotation; } _currentProgressionPosition = 0.0f; _currentProgressionRotation = 0.0f; _currentState = CinematicState.Waiting; } } else if (_currentState == CinematicState.Waiting) { _waitingTime += Time.deltaTime; if (_waitingTime >= _currentPoint.waitingTime) { _waitingTime = 0; Play(); } } }
public void Stop() { _currentState = CinematicState.Stopped; Camera.main.gameObject.SetActive(true); }
// Update is called once per frame void Update() { if(s == CinematicState.UFOENTER) { UFOAppear(new Vector3(transform.position.x,10.0f,transform.position.z)); if(Vector3.Distance (UFO.transform.position,new Vector3(transform.position.x,10.0f,transform.position.z)) < 1.0f) s = CinematicState.DONE; } else if(s == CinematicState.DONE) { mainText.enabled = false; UI.gameObject.SetActive(true); timer.StartTimer(); UFO.UFOControlling = true; Destroy(this); } }