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

◆ Update()

void WeaponManager::Update ( float deltaT)
inlineprivate

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

890 {
891 if (m_WeaponInHand != m_player.GetItemInHands())
892 {
893 if( m_WeaponInHand )
894 {
895 m_SuitableMagazines.Clear();
897 }
898 m_WeaponInHand = Weapon_Base.Cast(m_player.GetItemInHands());
899 if ( m_WeaponInHand )
900 {
901 m_MagazineInHand = null;
902 //SET new magazine
904 m_WeaponInHand.SetSyncJammingChance(0);
905 }
907 }
908
909 if (m_WeaponInHand)
910 {
912 {
914
916 {
918 }
919 }
920
921 if (!g_Game.IsMultiplayer())
922 {
923 m_WeaponInHand.SetSyncJammingChance(m_WeaponInHand.GetChanceToJam());
924 }
925 else
926 {
927 if ( m_NewJamChance >= 0)
928 {
929 m_WeaponInHand.SetSyncJammingChance(m_NewJamChance);
930 m_NewJamChance = -1;
931 m_WaitToSyncJamChance = false;
932 }
933 if (g_Game.IsServer() && !m_WaitToSyncJamChance )
934 {
935 float actual_chance_to_jam;
936 actual_chance_to_jam = m_WeaponInHand.GetChanceToJam();
937 if ( Math.AbsFloat(m_WeaponInHand.GetSyncChanceToJam() - m_WeaponInHand.GetChanceToJam()) > 0.001 )
938 {
939 DayZPlayerSyncJunctures.SendWeaponJamChance(m_player, m_WeaponInHand.GetChanceToJam());
941 }
942 }
943 }
944
946 {
948 m_readyToStart = false;
949 return;
950 }
951
953 return;
954
955 if(m_canEnd)
956 {
957 if(m_WeaponInHand.IsIdle())
958 {
960 }
961 else if(m_justStart)
962 {
963 m_InIronSight = m_player.IsInIronsights();
964 m_InOptic = m_player.IsInOptics();
965
967 {
968 //'RequestResetADSSync' can be called here, if ADS reset is desired
969 m_player.ExitSights();
970 }
971
972 m_justStart = false;
973 }
974
975 }
976 else
977 {
978 m_canEnd = true;
979 m_justStart = true;
980 }
981 }
982 else
983 {
984 if ( m_MagazineInHand != m_player.GetItemInHands() )
985 {
986 m_MagazineInHand = MagazineStorage.Cast(m_player.GetItemInHands());
987 if ( m_MagazineInHand )
988 {
990 }
991 }
992
993
994 }
995 }
DayZGame g_Game
Определения DayZGame.c:3942
void SetSutableMagazines()
Определения WeaponManager.c:1268
PlayerBase m_player
Определения WeaponManager.c:5
bool m_justStart
Определения WeaponManager.c:16
bool m_readyToStart
Определения WeaponManager.c:22
bool m_IsEventSended
Определения WeaponManager.c:18
bool m_InProgress
Определения WeaponManager.c:17
float m_NewJamChance
Определения WeaponManager.c:39
bool m_WaitToSyncJamChance
Определения WeaponManager.c:40
ref array< Magazine > m_SuitableMagazines
Определения WeaponManager.c:35
void OnWeaponActionEnd()
Определения WeaponManager.c:997
void RefreshAnimationState()
Определения WeaponManager.c:1056
Weapon_Base m_WeaponInHand
Определения WeaponManager.c:23
bool m_InOptic
Определения WeaponManager.c:21
bool m_canEnd
Определения WeaponManager.c:15
MagazineStorage m_MagazineInHand
Определения WeaponManager.c:24
bool m_InIronSight
Определения WeaponManager.c:20
int m_AnimationRefreshCooldown
Определения WeaponManager.c:43
void StartPendingAction()
Определения WeaponManager.c:809

Перекрестные ссылки Math::AbsFloat(), g_Game, m_AnimationRefreshCooldown, m_canEnd, m_InIronSight, m_InOptic, m_InProgress, m_IsEventSended, m_justStart, m_MagazineInHand, m_NewJamChance, m_player, m_readyToStart, m_SuitableMagazines, m_WaitToSyncJamChance, m_WeaponInHand, OnWeaponActionEnd(), RefreshAnimationState(), DayZPlayerSyncJunctures::SendWeaponJamChance(), SetSutableMagazines() и StartPendingAction().