using System;
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
public class GetRealtimeConsume : MonoBehaviour {
///
/// 出水方实时消耗总量(data)= 各个出水方流量(Flow)之和 - 消火栓分担的流量(消火栓上的TotalFlow)
///
private FloatData data = new FloatData(0);
///
/// 统计实时消耗的事件
///
public static event Func getAllRealtimeConsume;
private void OnEnable()
{
data.Clear();
if(getAllRealtimeConsume != null)
{
data = getAllRealtimeConsume(data);
}
GetComponent().text = Math.Round(data.value,2) + "L/s";
StartCoroutine(GetRealtimeOnInternal());
}
private void OnDisable()
{
StopCoroutine(GetRealtimeOnInternal());
}
IEnumerator GetRealtimeOnInternal()
{
while (true)
{
yield return new WaitForSeconds(1.0f);
data.Clear();
if (getAllRealtimeConsume != null)
{
data = getAllRealtimeConsume(data);
}
GetComponent().text = Math.Round(data.value, 2) + "L/s";
}
}
}