// Update is called once per frame void Update() { if (Input.GetKeyDown(KeyCode.Escape)) { if (appstate > 0) { ResetCamera(); appstate = 0; } else if (appstate == 0) { Debug.Log("Application.Quit()"); Application.Quit(); } } if (appstate == 1) { countdown -= Time.deltaTime; if (lerping == false) { if (countdown <= 0.0f) { countdown = timewait; lerping = true; startTime = Time.time; journeyLength = Vector3.Distance(startMarker, endMarker); } } else { float distCovered = (Time.time - startTime) * speed; float fracJourney = distCovered / journeyLength; camera.transform.position = Vector3.Lerp(startMarker, endMarker, fracJourney); if (foundside == false) { int side = cubescript.getside(); if (side != 0) { foundside = true; appstate = 2; countdown = 1f; lerping = false; Debug.Log("cube side = " + side); } } } } else if (appstate == 2) { countdown -= Time.deltaTime; if (lerping == false) { if (countdown <= 0.0f) { countdown = 1f; lerping = true; startTime = Time.time; journeyLength = Vector3.Distance(endMarker, startMarker); } } else { float distCovered = (Time.time - startTime) * speed; float fracJourney = distCovered / journeyLength; camera.transform.position = Vector3.Lerp(endMarker, startMarker, fracJourney); } if (camera.transform.position == startMarker) { appstate = 3; countdown = 0f; lerping = false; } } else if (appstate == 3) { countdown -= Time.deltaTime; if (lerping == false) { if (countdown <= 0.0f) { countdown = 1f; lerping = true; startTime = Time.time; journeyLength = Vector3.Distance(NaasendMarker, NaasstartMarker); } } else { float distCovered = (Time.time - startTime) * speed; float fracJourney = distCovered / journeyLength; NaasHomself.transform.position = Vector3.Lerp(NaasstartMarker, NaasendMarker, fracJourney); } if (NaasHomself.transform.position == NaasendMarker) { appstate = 4; speechstart = Time.time; speechcount = 0; } } else if (appstate == 4) { SpeechMesh.enabled = true; SpeechMeshBubble.enabled = true; if (Time.time - speechstart > 0.15) { speechstart = Time.time; if (speechcount < sideV[cubescript.getside() - 1].Length) { Speech.text = Speech.text + sideV[cubescript.getside() - 1][speechcount++]; Debug.Log(Speech.text); } } } }