123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657 |
- class UndergroundBunkerHandlerClient : UndergroundHandlerClient
- {
- protected bool m_IsDoorOpening;
- protected float m_AnimPhasePrev;
-
- override protected bool CalculateEyeAcco(float timeSlice)
- {
- if (m_IsDoorOpening)
- {
- float adjustedOpen = Math.InverseLerp(0, 1, m_EyeAccoTarget);
- adjustedOpen = Math.Clamp(adjustedOpen,0,1);
- m_EyeAcco = Easing.EaseInOutCubic(adjustedOpen);
- }
- else
- {
- float adjustedClose = Math.InverseLerp(0.07, 1, m_EyeAccoTarget);
- adjustedClose = Math.Clamp(adjustedClose,0,1);
- m_EyeAcco = Easing.EaseOutQuad(adjustedClose);
- }
-
- return true;
- }
-
- override protected void CalculateEyeAccoTarget()
- {
- UndergroundBunkerTrigger trigger = UndergroundBunkerTrigger.Cast(m_TransitionalTrigger);
- if (trigger)
- {
- EntityAI building = EntityAI.Cast(trigger.GetParent());
- if (building)
- {
- float animPhase = building.GetAnimationPhase(trigger.m_LinkedDoorSelection);
- m_IsDoorOpening = animPhase > m_AnimPhasePrev;
- m_AnimPhasePrev = animPhase;
- m_EyeAccoTarget = animPhase;
-
- }
-
- }
- }
-
- override protected void ProcessLighting(float timeSlice)
- {
- //we don't want to change the lighting
- }
-
- override protected void ApplyEyeAcco()
- {
- m_LightingLerp = 0;
- super.ApplyEyeAcco();
- }
-
- override protected void ProcessSound(float timeSlice)
- {
- GetGame().GetWorld().SetExplicitVolumeFactor_EnvSounds2D(m_EyeAcco, 0);
- }
- }
|