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

◆ ToggleAnimation()

void ItemBase::ToggleAnimation ( string selection)
inlineprotected

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

698 {
699 if (m_State == PACKED)
700 {
701 return;
702 }
703
704 bool is_closed;
705 ResetToggle();
706
707 for (int i = 0; i < m_ToggleAnimations.Count(); i++)
708 {
709 ToggleAnimations toggle = m_ToggleAnimations.GetKey(i);
710
711 string toggle_off = toggle.GetToggleOff();
712 toggle_off.ToLower();
713 string toggle_on = toggle.GetToggleOn();
714 toggle_on.ToLower();
715
716 if (toggle_off == selection || toggle_on == selection)
717 {
718 is_closed = m_OpeningMask & toggle.GetOpeningBit();
719 if (is_closed)
720 {
721 SetAnimationPhase(toggle.GetToggleOff(), 0);
722 AddProxyPhysics(toggle.GetToggleOff());
723 SetAnimationPhase(toggle.GetToggleOn(), 1);
724 RemoveProxyPhysics(toggle.GetToggleOn());
725 m_ToggleAnimations.Set(toggle, false);
726 m_IsToggle = true;
727 m_OpeningMask &= ~toggle.GetOpeningBit();
728
729 if (selection.Contains("window"))
730 {
732 if (GetSoundOpenWindow() != string.Empty)
733 StartItemSoundServer(SoundConstants.ITEM_TENT_WINDOW_OPEN);
734 }
735
736 if (selection.Contains("entrance") || selection.Contains("door"))
737 {
739 if (GetSoundOpen() != string.Empty)
740 StartItemSoundServer(SoundConstants.ITEM_TENT_OPEN);
741 }
742
743 AnimateCamonetToggle(toggle);
744 }
745 else
746 {
747 SetAnimationPhase(toggle.GetToggleOff(), 1);
748 RemoveProxyPhysics(toggle.GetToggleOff());
749 SetAnimationPhase(toggle.GetToggleOn(), 0);
750 AddProxyPhysics(toggle.GetToggleOn());
751 m_ToggleAnimations.Set(toggle, true);
752 m_IsToggle = false;
753 m_OpeningMask |= toggle.GetOpeningBit();
754
755 if (selection.Contains("window"))
756 {
758 if (GetSoundCloseWindow() != string.Empty)
759 StartItemSoundServer(SoundConstants.ITEM_TENT_WINDOW_CLOSE);
760 }
761
762 if (selection.Contains("entrance") || selection.Contains("door"))
763 {
765 if (GetSoundClose() != string.Empty)
766 StartItemSoundServer(SoundConstants.ITEM_TENT_CLOSE);
767 }
768
769 AnimateCamonetToggle(toggle);
770 }
771 }
772 }
773 SetSynchDirty();
774 }
Empty
Определения Hand_States.c:14
void StartItemSoundServer(int id, int slotId)
Определения ItemBase.c:4436
string GetSoundCloseWindow()
Определения TentBase.c:791
int m_OpeningMask
Определения TentBase.c:30
string GetSoundOpenWindow()
Определения TentBase.c:789
string GetSoundOpen()
Определения TentBase.c:785
bool m_IsToggle
Определения TentBase.c:28
void ResetToggle()
Определения TentBase.c:669
void ManipulateEntrance()
Определения TentBase.c:676
int m_State
Определения TentBase.c:24
void AnimateCamonetToggle(ToggleAnimations toggle)
Определения TentBase.c:781
string GetSoundClose()
Определения TentBase.c:787
void ManipulateWindow()
Определения TentBase.c:681
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().