using System.Collections; using UnityEngine; using UnityEngine.Rendering.HighDefinition; public class DropsManager : MonoBehaviour { private float lastTime; public WaterSurface waterSurface; public DeformationManager deformationManager; private float gravity = -9.81f; private float lastSpeed; private float speed; private bool done; private void OnEnable() { lastTime = Time.time; lastSpeed = 0f; speed = 0f; base.transform.localPosition = Vector3.zero; done = false; } private void Update() { if (!done) { float num = Time.time - lastTime; speed = lastSpeed + gravity * num; float y = base.transform.localPosition.y; y += speed * num; base.transform.localPosition = new Vector3(0f, y, 0f); } if (base.transform.position.y < waterSurface.transform.position.y && !done) { done = true; base.transform.localPosition = Vector3.zero; deformationManager.gameObject.SetActive(value: true); StartCoroutine(WaitForAndInit(1f)); } else { lastTime = Time.time; lastSpeed = speed; } } private IEnumerator WaitForAndInit(float seconds) { yield return new WaitForSeconds(seconds); OnEnable(); } }