public static IEnumerator lerpFloat(float lengthInSec, float start, float end, floatDel callback) { //Debug.Log("coroutine started"); for (float i = 0; i < lengthInSec; i += Time.deltaTime) { float currentPoint = Mathf.Lerp(start, end, i / lengthInSec); callback(currentPoint); yield return null; } callback(end); }
static void Main(string[] args) { emptyDel empty = new emptyDel(opgave1); empty(); floatDel floaty = new floatDel(opgave2); Console.WriteLine(floaty()); fullDel fully = new fullDel(opgave3); fully("Grønne", 19, 185f); }
public static Coroutine LerpMinToMax(float lengthInSec, float min, float max, float currentPoint, floatDel callback, bool lerpInverse) { if (!lerpInverse) { if (currentPoint == min) { return currentInstance.StartCoroutine(lerpFloat(lengthInSec, min, max, callback)); } else if (currentPoint != max) { return currentInstance.StartCoroutine(lerpFloat(lengthInSec, currentPoint, max, callback)); } } else { if (currentPoint == max) { return currentInstance.StartCoroutine(lerpFloat(lengthInSec, max, min, callback)); } else if (currentPoint != min) { return currentInstance.StartCoroutine(lerpFloat(lengthInSec, currentPoint, min, callback)); } } return null; }