private IEnumerator TransitionFromDownTheRabbitHole(DownTheRabbitHole rabbitHole) { State = SceneState.TransitioningTo; Alice = rabbitHole.Alice; MainCamera = rabbitHole.MainCamera; GradientSkybox = rabbitHole.GradientSkybox; while (rabbitHole.State != SceneState.Complete) { yield return(new WaitForEndOfFrame()); } GradientSkybox.ChangeColor(1, Ground); GradientSkybox.ChangeColor(2, Sky); GradientSkybox.ChangeIntensity(1, 3); ActivateObjects(); Joker.StartCoroutine(Joker.MoveTo(Joker.transform.position + new Vector3(0, 0, 5))); Joker.StartCoroutine(Joker.LookAt(Alice.transform.position, Vector3.up)); while (Joker.IsMoving) { yield return(new WaitForEndOfFrame()); } MainCamera.StartCoroutine(MainCamera.Follow(Alice.gameObject, PositionOffsets[0])); MainCamera.StartCoroutine(MainCamera.Track(Alice.gameObject, LookPositionOffsets[0])); State = SceneState.Active; StartCoroutine(Game()); }
private IEnumerator TransitionFromFlowerGarden(FlowerGarden flowerGarden) { State = SceneState.TransitioningTo; Alice = flowerGarden.Alice; MainCamera = flowerGarden.MainCamera; GradientSkybox = flowerGarden.GradientSkybox; while (flowerGarden.State != SceneState.Complete) { yield return(new WaitForEndOfFrame()); } GradientSkybox.ChangeColor(1, Ground); GradientSkybox.ChangeColor(2, Sky); GradientSkybox.ChangeIntensity(1, 3); Alice.Animator.SetBool("IsMoving", false); ActivateObjects(); Star = SceneObjects[2]; Star.SetActive(false); Joker.StartCoroutine(Joker.MoveTo(Joker.transform.position + new Vector3(0, 0, 5))); Joker.StartCoroutine(Joker.LookAt(Alice.transform.position, Vector3.up)); while (Joker.IsMoving) { yield return(new WaitForEndOfFrame()); } MainCamera.StartCoroutine(MainCamera.Follow(Alice.gameObject, PositionOffsets[0])); MainCamera.StartCoroutine(MainCamera.Track(Alice.gameObject, LookPositionOffsets[0])); State = SceneState.Active; StartCoroutine(Game()); }
void Start() { uiCanvas = GameObject.Find(CANVAS_UI_NAME); resultCanvas = GameObject.Find(CANVAS_RESULT_NAME); assetsManager = FindObjectOfType <AssetsManager>(); cameraController = FindObjectOfType <CameraController>(); skyboxController = FindObjectOfType <SkyboxController>(); scoreText = GameObject.Find(UI_TEXT_SCORE).GetComponent <TextMeshProUGUI>(); resultScoreText = GameObject.Find(UI_TEXT_SCORE_RESULT).GetComponent <TextMeshProUGUI>(); bestScoreImage = GameObject.Find(UI_IMAGE_BEST_SCORE); // 重力を設定する Physics.gravity = new Vector3(0, initGravity, 0); // スコアを設定する score = 1; scoreText.text = score.ToString(); magneCount = score; // レベルアップスコアリストを格納 levelupScoreList = new List <string>(); levelupScoreList.AddRange(levelupScoreBaseList); //結果画面を非表示 uiCanvas.SetActive(true); resultCanvas.SetActive(false); // ゲーム初期状態 gameState = GameState.INIT; nextGameState = GameState.INIT; InitStart(); }
// Awake. Persistent. private void Awake() { if (Instance == null) { Instance = this; DontDestroyOnLoad(gameObject); } else { Destroy(gameObject); } }
void Update() { playerPosition = player.transform.position; transform.LookAt(player.transform); float alt = UpdateSunPosition(); SkyboxController.BlendSkyboxes(alt); // Update skybox alpha blending SkyboxController.SetDayTexTint(alt); // Tint sky for sunset/-rise float intensityScalar = (alt < 0) ? Mathf.Lerp(0, 1, 1 - alt / -20F): 1F; // 20 deg below horizon is arbitrary GetComponent <Light>().intensity = initIntensity * intensityScalar; SkyboxController.IsDaytime = alt > 0; }
void Start() { _fireplace_controller = GameObject.Find("Fireplace").GetComponent <FireplaceController>(); _sun_controller = GameObject.Find("Sun Light").GetComponent <LightController>(); _skybox_controller = GetComponent <SkyboxController>(); _audio_source = gameObject.AddComponent <AudioSource>(); _audio_source.loop = false; _audio_source.playOnAwake = false; _audio_source.priority = 256; // top priority _audio_source_2 = gameObject.AddComponent <AudioSource>(); _audio_source_2.loop = false; _audio_source_2.playOnAwake = false; _audio_source_2.priority = 256; // top priority _voice_stopped = false; if (_clips.Length > 0) { _audio_lines = new AudioLine[_clips.Length]; for (int i = 0; i < _clips.Length; i++) { // _audio_lines[i] = new AudioLine(_clips[i]); _audio_lines[i] = new AudioLine { _clip = _clips[i], _seconds = 2.5f, _played = false, }; if (i == 0) { _audio_lines[i]._seconds = 5f; } } } _current = 0; _is_end = false; _sun_controller.StartSunset(); // StartCoroutine(WaitAndSurvive(10)); }
private void KeyboardNavigation() { // WASD or arrow Keys: // W - forward // s - backward // a - turn left // d - turn right if (Input.GetKey(KeyCode.W)) { m_rigidbody.MovePosition(transform.position + (transform.forward * -m_pushForce * Time.deltaTime)); anim.Play("Forward"); Vector3 deltaPosition = transform.forward * -globalVelocity * Time.deltaTime; globalPosition += deltaPosition; } if (Input.GetKey(KeyCode.S)) { m_rigidbody.MovePosition(transform.position + (transform.forward * m_pushForce * Time.deltaTime)); anim.Play("Reverse"); Vector3 deltaPosition = transform.forward * globalVelocity * Time.deltaTime; globalPosition += deltaPosition; } if (Input.GetKey(KeyCode.A)) { Quaternion deltaRotation = Quaternion.Euler(m_eulerAngleVelocity * -Time.deltaTime * 10f); m_rigidbody.MoveRotation(m_rigidbody.rotation * deltaRotation); } if (Input.GetKey(KeyCode.D)) { Quaternion deltaRotation = Quaternion.Euler(m_eulerAngleVelocity * Time.deltaTime * 10f); m_rigidbody.MoveRotation(m_rigidbody.rotation * deltaRotation); } if (Input.GetKey(KeyCode.F)) { string timeFormatted = SkyboxController.GetTimeOfDayFormatted(); clockUI.GetComponentInChildren <UnityEngine.UI.Text>().text = timeFormatted; clockUI.transform.position = eyeCamera.transform.position + eyeCamera.transform.forward * uiControllerDistance;//targetCamera.transform.TransformPoint(uiControllerDistance); clockUI.transform.LookAt(eyeCamera.transform); clockUI.transform.Rotate(Vector3.up * 180F); clockUI.enabled = true; } else { clockUI.enabled = false; } }
private IEnumerator TransitionFromQueenOfHearts(QueenOfHearts queenOfHearts) { State = SceneState.TransitioningTo; Alice = queenOfHearts.Alice; MainCamera = queenOfHearts.MainCamera; GradientSkybox = queenOfHearts.GradientSkybox; while (queenOfHearts.State != SceneState.Complete) { yield return(new WaitForEndOfFrame()); } Alice.Animator.Play("Sleeping"); Alice.transform.position = new Vector3(9.3f, 0, 8.5f); var lookDir = new Vector3(-1, 0, -0.5f).normalized; Alice.StartCoroutine(Alice.LookAt(Alice.transform.position + lookDir, Vector3.up)); var rabbitHole = new Vector3(3.4f, 0.9f, 21.4f); MainCamera.transform.position = rabbitHole; MainCamera.transform.LookAt(Alice.transform.position, Vector3.up); ActivateObjects(); GradientSkybox.ChangeIntensity(1); GradientSkybox.ChangeColor(1, Ground); GradientSkybox.ChangeColor(2, Sky); MainCamera.StartCoroutine(MainCamera.MoveTo(PositionOffsets[0])); MainCamera.StartCoroutine(MainCamera.Track(Alice.gameObject, LookPositionOffsets[0])); while (MainCamera.IsMoving) { yield return(new WaitForEndOfFrame()); } MainCamera.StartCoroutine(MainCamera.RotateAround(Alice.transform.position, PositionOffsets[1])); MainCamera.StartCoroutine(MainCamera.Track(Alice.gameObject, LookPositionOffsets[1])); yield return(new WaitForSeconds(5)); Application.Quit(); }
private IEnumerator TransitionFromDownTheRabbitHole(DownTheRabbitHole rabbitHole) { State = SceneState.TransitioningTo; Alice = rabbitHole.Alice; MainCamera = rabbitHole.MainCamera; GradientSkybox = rabbitHole.GradientSkybox; while (rabbitHole.State != SceneState.Complete) { yield return(new WaitForEndOfFrame()); } var triggerFlower = SceneObjects[0].GetComponent <Flower>(); triggerFlower.gameObject.SetActive(true); triggerFlower.StartCoroutine(triggerFlower.Shrink()); GradientSkybox.ChangeColor(1, Ground); GradientSkybox.ChangeColor(2, Sky); GradientSkybox.ChangeIntensity(1, 2); MainCamera.StartCoroutine(MainCamera.MoveTo(Alice.transform.position + Vector3.up * 5)); MainCamera.StartCoroutine(MainCamera.Track(Alice.gameObject, LookPositionOffsets[0])); while (GradientSkybox.Intensity < 1) { yield return(new WaitForEndOfFrame()); } ActivateObjects(); while (Alice.IsMoving) { yield return(new WaitForEndOfFrame()); } MainCamera.StartCoroutine(MainCamera.RotateAround(Alice.transform.position, PositionOffsets[0])); State = SceneState.Active; StartCoroutine(Game()); }
/* * VRPointer is a simple "point there go there" controller */ private void VRPointer() { // Controlled by the left controller if (m_leftController.triggerPressed) { // Adjust position Vector3 deltaPosition = transform.forward * m_pushForce * Time.deltaTime; m_rigidbody.MovePosition(transform.position + deltaPosition); // Register change in lat/long deltaPosition = new Vector3(deltaPosition.x, 0, deltaPosition.z).normalized *globalVelocity; globalPosition += deltaPosition; // Adjust rotation based on the angular difference between the controller and the canoe transform.eulerAngles = Vector3.Lerp(transform.eulerAngles, new Vector3(0f, m_leftController.transform.localRotation.eulerAngles.y, 0f), Time.deltaTime); if (Vector3.Angle(transform.eulerAngles, new Vector3(0f, m_leftController.transform.localRotation.eulerAngles.y, 0f)) < 0) { anim.Play("Forward"); } else { anim.Play("Reverse"); } } // Show timeofday ui if (m_rightController.gripped) { string timeFormatted = SkyboxController.GetTimeOfDayFormatted(); clockUI.GetComponentInChildren <UnityEngine.UI.Text>().text = timeFormatted; clockUI.transform.position = m_rightController.transform.position + m_rightController.transform.forward * uiControllerDistance; clockUI.transform.LookAt(eyeCamera.transform, Vector3.up); clockUI.transform.Rotate(clockUI.transform.up * 180F); clockUI.enabled = true; } else { clockUI.enabled = false; } }
private IEnumerator TransitionFromOpening(Opening opening) { State = SceneState.TransitioningTo; Alice = opening.Alice; MainCamera = opening.MainCamera; GradientSkybox = opening.GradientSkybox; ActivateObjects(); var triggerFlower = SceneObjects[0].GetComponent <Flower>(); while (opening.State != SceneState.Complete) { yield return(new WaitForEndOfFrame()); } while (MainCamera.IsMoving) { yield return(new WaitForEndOfFrame()); } GradientSkybox.ChangeIntensity(10); GradientSkybox.ChangeIntensity(0, FallTime); MainCamera.StartCoroutine(MainCamera.RotateAround(Alice.transform.position, PositionOffsets[0])); MainCamera.StartCoroutine(MainCamera.Track(Alice.gameObject, LookPositionOffsets[0])); while (GradientSkybox.Intensity > 0) { yield return(new WaitForEndOfFrame()); } Alice.Animator.SetBool("IsMoving", false); Alice.Animator.SetBool("IsFalling", false); yield return(new WaitForSeconds(2)); State = SceneState.Active; triggerFlower.transform.position = Alice.transform.position + new Vector3(2, 0, 1); triggerFlower.StartCoroutine(triggerFlower.Grow()); }
// Start is called before the first frame update void Start() { _materialController = GameObject.Find("MaterialController"); _controllerScript = _materialController.GetComponent <SkyboxController>(); }
public void InitPlayer(int index) { //adjust the Character Controller to fit the Box Collider that SHOULD be included with the suriyan models box = player.GetComponent <BoxCollider>(); Vector3 vec = new Vector3(1, 1, 1); Vector3 vec2 = new Vector3(1, 1, 1); if (box == null) { Debug.Log("Could not Get Box Collider component."); } else { vec = box.size; vec2 = box.center; } charControl = player.AddComponent <CharacterController> () as CharacterController; if (charControl != null) { charControl.radius = (vec.x + vec.y + vec.z) * 0.33f * 0.33f; // average all three box collider dimensions, then take a third of that charControl.center = new Vector3(0, (vec2.y), 0); charControl.height = vec2.y + 0.3f; //set the y value for when player block comes back up yStandCapture = box.center.y; yStandLatch = false; } anim = player.GetComponent <Animator>(); animId = Animator.StringToHash("animation"); moveDirClamp = player.transform.position; lookDirClamp = player.transform.position; moveDirection = Vector3.zero; jumpCtr = 0; // may be redundant. im paranoid at this point jumpDist = 0.0f; //setPlaneOnce = true; landOnce = true; player.tag = "Player"; jumpAmp = 2.0f; playerStuckOnce = false; playerDieSoundOnce = false; //character info stuff CharInfo c = player.GetComponentInChildren <CharInfo>(); if (c == null) { Debug.Log("No Character Info found"); } cName = c.Name; scaleFactor = c.ScaleFactor; colorA = c.colorA; colorB = c.colorB; DoAvatarScaling = c.DoAvatarScaling; musicLoop = c.MusicLoop; maxDistance = c.Distance; jumpTimes = c.JumpTimes; frozen = c.worldBottomColor; c.level = GameSaver.gSaver.charLevel[index]; charLevel = c.level; //calculate end level coin counter endLevelCoinCounter = 0; maxEndRoundCoinCount = 3 * 5 * charLevel; skyBox = GameObject.FindGameObjectWithTag("SkyBoxController").GetComponent <SkyboxController>(); if (skyBox == null) { Debug.Log("Player Controller couldnt get a reference to the skybox controller."); } else { skyBox.TopColor = c.worldTopColor; skyBox.BottomColor = c.worldBottomColor; } //init the distance halo. Need to call InitHalo() below the character info HaloScript hScript = halo.GetComponent <HaloScript>(); if (hScript == null) { Debug.Log("InitPlayer() couldnt get a reference to the halo script"); } else { hScript.InitHalo(maxDistance); halo.SetActive(true); } //update the jump x side bar ui text Text jumpX = GameObject.FindGameObjectWithTag("uiJumpTimes").GetComponent <Text>(); if (jumpX != null) { string str = "Jump X" + jumpTimes.ToString(); jumpX.text = str; } //god im not proud of this. shitty design work //update the sprite for the progress bar Image bar = GameObject.FindGameObjectWithTag("uiProgressIndicator").GetComponent <Image>(); MenuButton foo = GameObject.FindGameObjectWithTag("MenuButton").GetComponent <MenuButton>(); CharacterButton b; GameObject[] butts = GameObject.FindGameObjectsWithTag("uiCharButton"); if (butts != null) { foreach (GameObject g in butts) { b = g.GetComponent <CharacterButton>(); if (b != null) { if (b.charIndex == gScript.GetPlayerIndex()) { if (bar != null) { bar.sprite = b.GetSprite(); } if (foo != null) { foo.SetCharSelected(gScript.GetPlayerIndex(), b.GetSprite()); } } } } } SetCharacterName(cName); //SetNumLivesUI(); }