1234567891011121314151617181920212223242526272829303132333435 |
- class TemperatureAccessComponent
- {
- protected EntityAI m_Owner;
- protected TemperatureAccessTypeBase m_AccessDataCurrent;
- protected float m_LastAccessTime;
-
- void TemperatureAccessComponent(EntityAI owner)
- {
- m_Owner = owner;
- }
-
- bool TryAccessSource(TemperatureData data)
- {
- if (PriorityCheck(data) || CheckAccessTimeout(data))
- {
- m_AccessDataCurrent = TemperatureAccessManager.GetTAData(data.m_AccessType);
- m_LastAccessTime = GetGame().GetTickTime();
- return true;
- }
-
- return false;
- }
-
- protected bool PriorityCheck(TemperatureData data)
- {
- TemperatureAccessTypeBase dataNew = TemperatureAccessManager.GetTAData(data.m_AccessType);
- return !m_AccessDataCurrent || dataNew.GetPriority() >= m_AccessDataCurrent.GetPriority();
- }
-
- protected bool CheckAccessTimeout(TemperatureData data)
- {
- float timeCurrent = GetGame().GetTickTime();
- return (timeCurrent - m_LastAccessTime) > data.m_UpdateTimeInfo;
- }
- }
|