Files
Ultimate-Fishing-Simulator-…/Assets/Scripts/Assembly-CSharp/DropsManager.cs
2026-03-04 09:37:33 +08:00

60 lines
1.1 KiB
C#

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();
}
}