private IEnumerator RaiseFromFlower(Flower _target) { Mat.SetColor("_EmissionColor", origin); skinRenderer.enabled = true; while (transform.position.y < _target.flowerCenter.position.y + 2f) { Rig.MovePosition(transform.position + Vector3.up * Time.deltaTime * 0.5f); yield return(null); } Rig.velocity = Vector3.zero; lastFlower = startFlower; m_energyCount = m_energyCountDown; m_IsDisabled = false; ThisPlayerMove.SetLaunchable(); //origin = Mat.GetColor("_EmissionColor"); float startTime = Time.time - 0.3f; float multipler = -Mathf.Cos((Time.time - startTime) * 3f) + 2; //print("value " + multipler); while (multipler > 1.01f) { multipler = -Mathf.Cos((Time.time - startTime) * 3f) + 2; //print("value " + multipler); Mat.SetColor("_EmissionColor", origin * multipler * 1f); yield return(null); } Mat.SetColor("_EmissionColor", origin); }
public IEnumerator MoveToFlower(Flower _target) { m_isInCinematic = true; skinRenderer.enabled = false; if (_target.HasLanded == false) { _target.HasLanded = true; } while ((transform.position - _target.flowerCenter.position).sqrMagnitude > 0.01f) { Rig.MovePosition(Vector3.Lerp(transform.position, _target.flowerCenter.position, 0.02f)); yield return(null); } yield return(new WaitForSeconds(0.5f)); yield return(StartCoroutine(RaiseFromFlower(_target))); m_isInCinematic = false; }