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

◆ ToggleAnimation()

void ItemBase::ToggleAnimation ( string selection)
inlineprotected

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

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