IEnumerator Hatch(bool good) { //Microphone dialogueHandler.Narrate("Hatch", 2); isListening = false; eggPhysicalAI.isBusy = true; Vector3 initPos = tf.position; rg.isKinematic = true; float duration = 2.0f; float elapsedTime = 0; gameController.SpotLight.GetComponent <Animator>().SetBool("isOn", false); while (elapsedTime < duration) { tf.position = Vector3.Lerp(initPos, new Vector3(0, 0, 0.5f), elapsedTime / duration); elapsedTime += Time.deltaTime; yield return(null); } yield return(new WaitForSeconds(1)); eggShattered = Instantiate(EggShattered, transform.position, transform.rotation, transform.parent); eggParameter.TotalParPass = eggParameter.TotalParameter; for (int i = 0; i < eggShattered.transform.childCount; i++) { if (eggShattered.transform.GetChild(i).GetComponent <MeshRenderer>() == null) { continue; } Material eggShard = eggShattered.transform.GetChild(i).GetComponent <MeshRenderer>().material; shaderHandler.changeShatteredEggColor(eggShard, eggParameter.ParSpecColor(eggParameter.SoundParameter), eggParameter.ParSpecColor(eggParameter.KnockParameter), eggParameter.ParSpecColor(eggParameter.StareParameter), 1); } eggParameter.inhColor = new Color( eggParameter.ParSpecColor(eggParameter.SoundParameter), eggParameter.ParSpecColor(eggParameter.KnockParameter), eggParameter.ParSpecColor(eggParameter.StareParameter), 1 ); eggParameter.Initialize(); HideCleanEgg(); if (good) { } else { } yield return(new WaitForSeconds(0.5f)); eggShattered.transform.parent = GameObject.Find("Shells").transform; gameController.ReproduceEgg(); yield return(null); }
void Start() { StartCoroutine(RandomizeTarget()); StartCoroutine(LifeSpan()); transform.parent = GameObject.Find("IIncubate").transform; if (eggParameter.TotalParPass < eggParameter.PhaseD) { if (eggParameter.TotalParPass >= eggParameter.PhaseA) { transform.Find("Particle01").gameObject.SetActive(true); transform.Find("Particle02").gameObject.SetActive(true); if (eggParameter.TotalParPass >= eggParameter.PhaseB) { cBody.SetActive(true); cFeet.SetActive(true); transform.Find("Particle03").gameObject.SetActive(true); transform.Find("Particle04").gameObject.SetActive(true); if (eggParameter.TotalParPass >= eggParameter.PhaseC) { cWings.SetActive(true); transform.Find("Particle05").gameObject.SetActive(true); transform.Find("Particle06").gameObject.SetActive(true); GetComponent <Rigidbody>().isKinematic = true; } } } } if (eggParameter.TotalParPass >= eggParameter.PhaseC && eggParameter.TotalParPass < eggParameter.PhaseD) { StartCoroutine(FlyAround()); } else { StartCoroutine(WalkAround()); } shaderHandler.changeShatteredEggColor(cHead.GetComponent <MeshRenderer>().material, eggParameter.inhColor.r, eggParameter.inhColor.g, eggParameter.inhColor.b, 1); shaderHandler.changeShatteredEggColor(cBody.GetComponent <MeshRenderer>().material, eggParameter.inhColor.r, eggParameter.inhColor.g, eggParameter.inhColor.b, 1); shaderHandler.changeShatteredEggColor(cWings.transform.GetChild(0).GetComponent <MeshRenderer>().material, eggParameter.inhColor.r, eggParameter.inhColor.g, eggParameter.inhColor.b, 1); shaderHandler.changeShatteredEggColor(cWings.transform.GetChild(1).GetComponent <MeshRenderer>().material, eggParameter.inhColor.r, eggParameter.inhColor.g, eggParameter.inhColor.b, 1); }
void Start() { StartCoroutine(LifeSpan()); StartCoroutine(RandomizeTarget()); transform.parent = GameObject.Find("IIncubate").transform; PID = new PID(0.01f, 0, 2f); GameObject sphere = transform.Find("Sphere").gameObject; //This makes it slow somehow shaderHandler.changeShatteredEggColor(transform.Find("Sphere").GetComponent <MeshRenderer>().material, eggParameter.ParameterColor(eggParameter.TotalParPass)[0], eggParameter.ParameterColor(eggParameter.TotalParPass)[1], eggParameter.ParameterColor(eggParameter.TotalParPass)[2], 1); if (eggParameter.TotalParPass >= eggParameter.PhaseA) { sphere.transform.localScale = new Vector3(0.15f, 0.15f, 0.15f); //Particle01 transform.Find("Particle01").gameObject.SetActive(true); transform.Find("Particle02").gameObject.SetActive(true); if (eggParameter.TotalParPass >= eggParameter.PhaseB) { //Particle02 transform.Find("Particle03").gameObject.SetActive(true); transform.Find("Particle04").gameObject.SetActive(true); if (eggParameter.TotalParPass >= eggParameter.PhaseC) { //Particle03 transform.Find("Particle05").gameObject.SetActive(true); transform.Find("Particle06").gameObject.SetActive(true); if (eggParameter.TotalParPass >= eggParameter.PhaseD) { transform.Find("Particle01").gameObject.SetActive(false); transform.Find("Particle02").gameObject.SetActive(false); transform.Find("Particle03").gameObject.SetActive(false); transform.Find("Particle04").gameObject.SetActive(false); transform.Find("Particle05").gameObject.SetActive(false); transform.Find("Particle06").gameObject.SetActive(false); } } } } if (eggParameter.TotalParPass >= eggParameter.PhaseA && eggParameter.TotalParPass < eggParameter.PhaseB) { // sphere.transform.localScale = new Vector3(0.2f, 0.2f, 0.2f); hatchlingLight.intensity = 5; } else if (eggParameter.TotalParPass >= eggParameter.PhaseB && eggParameter.TotalParPass < eggParameter.PhaseC) { hatchlingLight.intensity = 10; // sphere.transform.localScale = new Vector3(0.25f, 0.25f, 0.25f); } else if (eggParameter.TotalParPass >= eggParameter.PhaseC && eggParameter.TotalParPass < eggParameter.PhaseD) { hatchlingLight.intensity = 15; // sphere.transform.localScale = new Vector3(0.3f, 0.3f, 0.3f); } else { } }