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

◆ Update()

void WeaponManager::Update ( float deltaT)
inlineprivate

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

888 {
889 if (m_WeaponInHand != m_player.GetItemInHands())
890 {
891 if( m_WeaponInHand )
892 {
893 m_SuitableMagazines.Clear();
895 }
896 m_WeaponInHand = Weapon_Base.Cast(m_player.GetItemInHands());
897 if ( m_WeaponInHand )
898 {
899 m_MagazineInHand = null;
900 //SET new magazine
902 m_WeaponInHand.SetSyncJammingChance(0);
903 }
905 }
906
907 if (m_WeaponInHand)
908 {
910 {
912
914 {
916 }
917 }
918
919 if (!GetGame().IsMultiplayer())
920 {
921 m_WeaponInHand.SetSyncJammingChance(m_WeaponInHand.GetChanceToJam());
922 }
923 else
924 {
925 if ( m_NewJamChance >= 0)
926 {
927 m_WeaponInHand.SetSyncJammingChance(m_NewJamChance);
928 m_NewJamChance = -1;
929 m_WaitToSyncJamChance = false;
930 }
931 if (GetGame().IsServer() && !m_WaitToSyncJamChance )
932 {
933 float actual_chance_to_jam;
934 actual_chance_to_jam = m_WeaponInHand.GetChanceToJam();
935 if ( Math.AbsFloat(m_WeaponInHand.GetSyncChanceToJam() - m_WeaponInHand.GetChanceToJam()) > 0.001 )
936 {
937 DayZPlayerSyncJunctures.SendWeaponJamChance(m_player, m_WeaponInHand.GetChanceToJam());
939 }
940 }
941 }
942
944 {
946 m_readyToStart = false;
947 return;
948 }
949
951 return;
952
953 if(m_canEnd)
954 {
955 if(m_WeaponInHand.IsIdle())
956 {
958 }
959 else if(m_justStart)
960 {
961 m_InIronSight = m_player.IsInIronsights();
962 m_InOptic = m_player.IsInOptics();
963
965 {
966 //'RequestResetADSSync' can be called here, if ADS reset is desired
967 m_player.ExitSights();
968 }
969
970 m_justStart = false;
971 }
972
973 }
974 else
975 {
976 m_canEnd = true;
977 m_justStart = true;
978 }
979 }
980 else
981 {
982 if ( m_MagazineInHand != m_player.GetItemInHands() )
983 {
984 m_MagazineInHand = MagazineStorage.Cast(m_player.GetItemInHands());
985 if ( m_MagazineInHand )
986 {
988 }
989 }
990
991
992 }
993 }
void SetSutableMagazines()
Определения WeaponManager.c:1264
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:995
void RefreshAnimationState()
Определения WeaponManager.c:1052
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:807
proto native CGame GetGame()

Перекрестные ссылки Math::AbsFloat(), GetGame(), 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().