// Update is called once per frame void Update() { if (timerOn) { if (Time.time - time > duration) { timerOn = false; if (final != null) { final.Invoke(); } } else { if (update != null) { update.Invoke((Time.time - time) / duration); } } } float totalHeight = 0; foreach (RectTransform r in GetComponentsInChildren <RectTransform>()) { if (r != this.GetComponent <RectTransform>() && r.GetComponent <TextMessage>() != null) { totalHeight += r.sizeDelta.y + 8; } } textOwner.GetComponent <RectTransform>().position = //textOwner.transform.parent.GetComponent<RectTransform>().position new Vector3(offset.x, offset.y + totalHeight * (weirdScale), 0); }
void UpdateText() { var span = DateTime.UtcNow - startTime; string format; if (span.TotalHours >= 1) { format = @"h\:mm\:ss"; } else { format = @"mm\:ss"; } onUpdate.Invoke(span.ToString(format)); }