DayZ 1.27
DayZ Explorer by KGB
 
Загрузка...
Поиск...
Не найдено

◆ ToggleAnimation()

void ItemBase::ToggleAnimation ( string selection)
inlineprotected

См. определение в файле TentBase.c строка 674

675 {
676 if (m_State == PACKED)
677 {
678 return;
679 }
680
681 bool is_closed;
682 ResetToggle();
683
684 for (int i = 0; i < m_ToggleAnimations.Count(); i++)
685 {
686 ToggleAnimations toggle = m_ToggleAnimations.GetKey(i);
687
688 string toggle_off = toggle.GetToggleOff();
689 toggle_off.ToLower();
690 string toggle_on = toggle.GetToggleOn();
691 toggle_on.ToLower();
692
693 if (toggle_off == selection || toggle_on == selection)
694 {
695 is_closed = m_OpeningMask & toggle.GetOpeningBit();
696 if (is_closed)
697 {
698 SetAnimationPhase(toggle.GetToggleOff(), 0);
699 AddProxyPhysics(toggle.GetToggleOff());
700 SetAnimationPhase(toggle.GetToggleOn(), 1);
701 RemoveProxyPhysics(toggle.GetToggleOn());
702 m_ToggleAnimations.Set(toggle, false);
703 m_IsToggle = true;
704 m_OpeningMask &= ~toggle.GetOpeningBit();
705
706 if (selection.Contains("window"))
707 {
709 if (GetSoundOpenWindow() != string.Empty)
710 StartItemSoundServer(SoundConstants.ITEM_TENT_WINDOW_OPEN);
711 }
712
713 if (selection.Contains("entrance") || selection.Contains("door"))
714 {
716 if (GetSoundOpen() != string.Empty)
717 StartItemSoundServer(SoundConstants.ITEM_TENT_OPEN);
718 }
719
720 AnimateCamonetToggle(toggle);
721 }
722 else
723 {
724 SetAnimationPhase(toggle.GetToggleOff(), 1);
725 RemoveProxyPhysics(toggle.GetToggleOff());
726 SetAnimationPhase(toggle.GetToggleOn(), 0);
727 AddProxyPhysics(toggle.GetToggleOn());
728 m_ToggleAnimations.Set(toggle, true);
729 m_IsToggle = false;
730 m_OpeningMask |= toggle.GetOpeningBit();
731
732 if (selection.Contains("window"))
733 {
735 if (GetSoundCloseWindow() != string.Empty)
736 StartItemSoundServer(SoundConstants.ITEM_TENT_WINDOW_CLOSE);
737 }
738
739 if (selection.Contains("entrance") || selection.Contains("door"))
740 {
742 if (GetSoundClose() != string.Empty)
743 StartItemSoundServer(SoundConstants.ITEM_TENT_CLOSE);
744 }
745
746 AnimateCamonetToggle(toggle);
747 }
748 }
749 }
750 SetSynchDirty();
751 }
Empty
Определения Hand_States.c:14
void StartItemSoundServer(int id)
Определения ItemBase.c:9114
string GetSoundCloseWindow()
Определения TentBase.c:768
int m_OpeningMask
Определения TentBase.c:30
string GetSoundOpenWindow()
Определения TentBase.c:766
string GetSoundOpen()
Определения TentBase.c:762
bool m_IsToggle
Определения TentBase.c:28
void ResetToggle()
Определения TentBase.c:646
void ManipulateEntrance()
Определения TentBase.c:653
int m_State
Определения TentBase.c:24
void AnimateCamonetToggle(ToggleAnimations toggle)
Определения TentBase.c:758
string GetSoundClose()
Определения TentBase.c:764
void ManipulateWindow()
Определения TentBase.c:658
ref map< ref ToggleAnimations, bool > m_ToggleAnimations
Определения TentBase.c:33
static const int PACKED
Определения TentBase.c:20
int GetOpeningBit()
Определения ToggleSelections.c:28
string GetToggleOn()
Определения ToggleSelections.c:23
string GetToggleOff()
Определения ToggleSelections.c:18
bool Contains(string sample)
Returns true if sample is substring of string.
Определения EnString.c:286
proto int ToLower()
Changes string to lowercase. Returns length.

Перекрестные ссылки TentBase::AnimateCamonetToggle(), string::Contains(), Empty, ToggleAnimations::GetOpeningBit(), TentBase::GetSoundClose(), TentBase::GetSoundCloseWindow(), TentBase::GetSoundOpen(), TentBase::GetSoundOpenWindow(), ToggleAnimations::GetToggleOff(), ToggleAnimations::GetToggleOn(), m_IsToggle, m_OpeningMask, m_State, m_ToggleAnimations, ManipulateEntrance(), ManipulateWindow(), PACKED, ResetToggle(), StartItemSoundServer() и string::ToLower().