Arma Reforger Explorer 1.7.0.54
Arma Reforger Code Explorer by Zeroy - Thanks to MisterOutofTime
Loading...
Searching...
No Matches
SCR_AvailableActionsConditionData.c
Go to the documentation of this file.
1//------------------------------------------------------------------------------------------------
6{
8 protected CharacterControllerComponent m_CharacterController;
9 protected SCR_InventoryStorageManagerComponent m_StorageManager;
10
12 protected bool m_bIsValid;
13
16 // Type of current compartment
19 protected bool m_bIsCharacterFreelook;
25 protected bool m_bIsCharacterADS;
35 protected bool m_bIsCharacterSwimming;
37 protected bool m_bIsCharacterFalling;
49 protected bool m_bIsCharacterBleeding;
51 protected bool m_bIsInventoryOpen;
55 protected bool m_bIsQuickSlotShown;
57 protected bool m_bIsGadgetSelection;
61 protected float m_fFocusMode;
63 protected float m_fBleedingTime;
65 protected float m_fSprintingTime;
69 protected int m_iMedicalItemCount;
82
85
89 protected float m_fTurboTime;
91 protected BaseControllerComponent m_CurrentVehicleController;
98
99 // Character health state
102 protected bool m_bHasBleedingLimbs;
103 protected bool m_bHasTourniquetLimb;
104
105 // Von variables ----------------------
106 protected SCR_VoNComponent m_VON;
107 protected SCR_VONController m_VONController;
108
115
117 protected bool m_bCanFetchInventory = true;
118
124 protected SCR_EntitiesManagerEditorComponent m_EditorEntitiesManagerComponent
125
132
133 //------------------------------------------------------------------------------------------------
134 private void OnItemAddedListener(IEntity item, BaseInventoryStorageComponent storage)
135 {
137 }
138
139 private void OnItemRemovedListener(IEntity item, BaseInventoryStorageComponent storage)
140 {
142 }
143
144 private void OnInventoryOpen(bool open)
145 {
146 if (open)
147 {
148 SCR_InventoryAvailableCondition.IncrementCounter();
149 }
150 m_bIsInventoryOpen = open;
151 }
152
153 private void OnQuickSlotOpen(bool open)
154 {
155 if (open)
156 {
157 SCR_WeaponQuickSlotAvailableCondition.IncrementCounter();
158 }
160 m_bIsQuickSlotShown = open;
161 }
162
163 //------------------------------------------------------------------------------------------------
165 {
166 return m_EditorManager;
167 }
168
169 //------------------------------------------------------------------------------------------------
170 SCR_EditorModeEntity GetEditorModeEntity()
171 {
173 }
174
175 //------------------------------------------------------------------------------------------------
176 SCR_PlacingEditorComponent GetEditorPlacingComponent()
177 {
179 }
180
181 //------------------------------------------------------------------------------------------------
182 SCR_StatesEditorComponent GetEditorStatesManagerComponent()
183 {
185 }
186
187 //------------------------------------------------------------------------------------------------
188 SCR_EntitiesManagerEditorComponent GetEditorEntitiesManagerComponent()
189 {
190 return m_EditorEntitiesManagerComponent;
191 }
192
193 //------------------------------------------------------------------------------------------------
196 private void Clear()
197 {
203 m_bIsCharacterADS = false;
209 m_bIsCharacterFalling = false;
214 m_bIsGadgetSelection = false;
216 m_fFocusMode = 0.0;
217 //m_iAdditionalMagazines = 0;
218 m_CurrentItemEntity = null;
220 m_CurrentWeapon = null;
221 m_CurrentMuzzle = null;
222 m_CurrentMagazine = null;
225
226 // Health
229 m_bHasBleedingLimbs = false;
230 m_bHasTourniquetLimb = false;
231
232 m_bIsValid = false;
233 }
234
235 /* Gadgets magic */
237
238 //------------------------------------------------------------------------------------------------
239 // Getters
240 //------------------------------------------------------------------------------------------------
241
242 //------------------------------------------------------------------------------------------------
244 {
245 return m_Character;
246 }
247
248 //------------------------------------------------------------------------------------------------
249 CharacterControllerComponent GetCharacterController()
250 {
252 }
253
254 //------------------------------------------------------------------------------------------------
257 {
258 if (m_GadgetManager)
259 return m_GadgetManager.GetHeldGadget();
260 return null;
261 }
262
263 //------------------------------------------------------------------------------------------------
265 SCR_GadgetComponent GetHeldGadgetComponent()
266 {
267 if (m_GadgetManager)
268 return m_GadgetManager.GetHeldGadgetComponent();
269 return null;
270 }
271
272 //------------------------------------------------------------------------------------------------
275 {
276 if (m_GadgetManager)
277 return m_GadgetManager.GetIsGadgetADS();
278 return null;
279 }
280
281 //------------------------------------------------------------------------------------------------
283 IEntity GetGadget(EGadgetType type)
284 {
285 if (m_GadgetManager)
286 return m_GadgetManager.GetGadgetByType(type);
287 return null;
288 }
289
290 //------------------------------------------------------------------------------------------------
296
297 //------------------------------------------------------------------------------------------------
303
304 //------------------------------------------------------------------------------------------------
310
311 //------------------------------------------------------------------------------------------------
317
318 //------------------------------------------------------------------------------------------------
324
325 //------------------------------------------------------------------------------------------------
328 {
329 return m_fFocusMode;
330 }
331
332 //------------------------------------------------------------------------------------------------
335 {
336 return m_fBleedingTime;
337 }
338
339 //------------------------------------------------------------------------------------------------
342 {
343 return m_fSprintingTime;
344 }
345
346 //------------------------------------------------------------------------------------------------
353
354 //------------------------------------------------------------------------------------------------
357 {
358 return m_iMedicalItemCount;
359 }
360
361 //------------------------------------------------------------------------------------------------
366
367 //------------------------------------------------------------------------------------------------
370 {
372 }
373
374 //------------------------------------------------------------------------------------------------
377 {
379 }
380
381 //------------------------------------------------------------------------------------------------
387
388 //------------------------------------------------------------------------------------------------
391 {
393 }
394
395 //------------------------------------------------------------------------------------------------
398 {
400 }
401
402 //------------------------------------------------------------------------------------------------
405 {
407 }
408
409 //------------------------------------------------------------------------------------------------
412 {
414 }
415
416 //------------------------------------------------------------------------------------------------
419 {
421 }
422
423 //------------------------------------------------------------------------------------------------
429
430 //------------------------------------------------------------------------------------------------
436
437 //------------------------------------------------------------------------------------------------
440 {
441 return m_bIsCharacterADS;
442 }
443
444 //------------------------------------------------------------------------------------------------
450
451 //------------------------------------------------------------------------------------------------
454
455 //------------------------------------------------------------------------------------------------
458 {
460 }
461
462 //------------------------------------------------------------------------------------------------
468
469 //------------------------------------------------------------------------------------------------
472 {
474 }
475
476 //------------------------------------------------------------------------------------------------
481
482 //------------------------------------------------------------------------------------------------
487
488 //------------------------------------------------------------------------------------------------
490 {
491 return m_bIsInventoryOpen;
492 }
493
494 //------------------------------------------------------------------------------------------------
496 {
498 }
499
500 //------------------------------------------------------------------------------------------------
502 {
503 return m_bIsQuickSlotShown;
504 }
505
506 //------------------------------------------------------------------------------------------------
508 {
510 }
511
512 //------------------------------------------------------------------------------------------------
514 {
516 }
517
518 //------------------------------------------------------------------------------------------------
524
525 //------------------------------------------------------------------------------------------------
531
532 //------------------------------------------------------------------------------------------------
538
539 //------------------------------------------------------------------------------------------------
542 {
543 return m_CurrentVehicle;
544 }
545
546 //------------------------------------------------------------------------------------------------
548 BaseControllerComponent GetCurrentVehicleController()
549 {
551 }
552
553 //------------------------------------------------------------------------------------------------
559
560 //------------------------------------------------------------------------------------------------
566
567 //------------------------------------------------------------------------------------------------
573
574 //------------------------------------------------------------------------------------------------
577 {
578 return m_fTurboTime;
579 }
580
581 //------------------------------------------------------------------------------------------------
584 {
585 if (m_Character)
586 return m_Character.GetAnimationComponent();
587
588 return null;
589 }
590
591 //------------------------------------------------------------------------------------------------
596
597 //------------------------------------------------------------------------------------------------
599 {
601 }
602
603 //------------------------------------------------------------------------------------------------
605 {
606 return m_bHasBleedingLimbs;
607 }
608
609 //------------------------------------------------------------------------------------------------
611 {
613 }
614
615 //------------------------------------------------------------------------------------------------
616 bool IsValid()
617 {
618 return m_bIsValid;
619 }
620
621 //------------------------------------------------------------------------------------------------
622 // Fetch data
623 //------------------------------------------------------------------------------------------------
624
625 //------------------------------------------------------------------------------------------------
627 {
628 SCR_CampaignBuildingGadgetToolComponent gadgetComponent = SCR_CampaignBuildingGadgetToolComponent.Cast(m_GadgetManager.GetHeldGadgetComponent());
629 if (!gadgetComponent)
630 return;
631
632 SCR_MultiPartDeployableItemComponent deployableItemComp = gadgetComponent.GetCurrentlyHandledComponent();
633 if (!deployableItemComp)
634 return;
635
636 IEntity item = deployableItemComp.GetOwner();
637 if (!item)
638 return;
639
640 if (item != m_LastPlacedItem)
641 {
643 if (!iic)
644 return;
645
646 UIInfo info = iic.GetUIInfo();
647 if (!info)
648 return;
649
650 m_sCurrentlyPlacedItemName = info.GetName();
651 m_LastPlacedItem = item;
652 }
653 }
654
655 //------------------------------------------------------------------------------------------------
656 protected void FetchEditorData()
657 {
658 if (!m_EditorManager)
659 {
661 if (!m_EditorManager)
662 return;
663 }
664
665 SCR_EditorModeEntity currentEditor = m_EditorManager.GetCurrentModeEntity();
666 if (currentEditor == m_CurrentlyUsedEditor)
667 return;
668
669 m_CurrentlyUsedEditor = currentEditor;
671 {
674 m_EditorEntitiesManagerComponent = null;
675 return;
676 }
677
680 m_EditorEntitiesManagerComponent = SCR_EntitiesManagerEditorComponent.Cast(m_CurrentlyUsedEditor.FindComponent(SCR_EntitiesManagerEditorComponent));
681 }
682
683 //------------------------------------------------------------------------------------------------
686 void FetchData(IEntity controlledEntity, float timeSlice)
687 {
688 // Detect when character changes
689 ChimeraCharacter character = ChimeraCharacter.Cast(controlledEntity);
690 if (character != m_Character)
691 {
692 m_Character = character;
693
694 if (character)
695 {
696 m_CharacterController = character.GetCharacterController();
698 m_VON = SCR_VoNComponent.Cast(character.FindComponent(SCR_VoNComponent));
699 }
700 }
701
702 if (m_GadgetManager)
704
706
707 if (!m_Character)
708 {
710 m_GadgetManager = null;
711 m_VON = null;
712
713 m_bIsValid = false;
714 return;
715 }
716
718 {
719 m_bIsValid = false;
720 return;
721 }
722
723 // Add inventory listeners for efficient magazine/grenade count updates
724 SCR_InventoryStorageManagerComponent storageManager = SCR_InventoryStorageManagerComponent.Cast(m_CharacterController.GetInventoryStorageManager());
725 if (storageManager != m_StorageManager)
726 {
728 {
729 m_StorageManager.m_OnItemAddedInvoker.Remove(OnItemAddedListener);
730 m_StorageManager.m_OnItemRemovedInvoker.Remove(OnItemRemovedListener);
731 m_StorageManager.m_OnInventoryOpenInvoker.Remove(OnInventoryOpen);
732 m_StorageManager.m_OnQuickBarOpenInvoker.Remove(OnQuickSlotOpen);
733 }
734
735 m_StorageManager = storageManager;
736
738 {
739 m_StorageManager.m_OnItemAddedInvoker.Insert(OnItemAddedListener);
740 m_StorageManager.m_OnItemRemovedInvoker.Insert(OnItemRemovedListener);
741 m_StorageManager.m_OnInventoryOpenInvoker.Insert(OnInventoryOpen);
742 m_StorageManager.m_OnQuickBarOpenInvoker.Insert(OnQuickSlotOpen);
743 }
744 }
745
746 // Invalidates and clears any data prior to following collection
747 Clear();
748
749 // Current character stance
751 // Is character freelooking?
752 m_bIsCharacterFreelook = m_CharacterController.IsFreeLookEnabled();
753 // Is character forced to freelook?
754 m_bIsCharacterFreelookForced = m_CharacterController.IsFreeLookForced() || m_CharacterController.IsFreeLookEnforced();
755 // Is character having freelook toggled?
756 m_bIsCharacterFreelookToggled = m_CharacterController.GetFreeLookInput() && !GetGame().GetInputManager().GetActionValue("Freelook") >= 0.5;
757 // Is character ADS?
759 // Is character sprinting?
761 // Is character swimming?
763 // Is character falling? (is airborne?)
765 // Is character in vehicle?
766 m_bIsCharacterInVehicle = m_Character.IsInVehicle();
767 // Can character get out?
768 m_bCanCharacterGetOutVehicle = m_CharacterController.CanGetOutVehicleScript();
769 // Is character weapon raised?
771 // Can character fire weapon
773 // Is character currently using an item?
775 // Item that character is holding in his right hand
776 m_CurrentItemEntity = m_CharacterController.GetAttachedGadgetAtLeftHandSlot();
777
778 // Temporary sprinting time tracking
779 if (m_bIsCharacterSprinting && !m_CharacterController.GetIsSprintingToggle())
780 m_fSprintingTime += timeSlice;
781 else
783
784 // Vehicle compartment and controls
785 CompartmentAccessComponent compartmentAccess = m_Character.GetCompartmentAccessComponent();
786
787 if (compartmentAccess)
788 {
789 m_bCanCharacterGetOutVehicle = m_bCanCharacterGetOutVehicle && compartmentAccess.CanGetOutVehicle();
790 m_bIsCharacterGettingIn = compartmentAccess.IsGettingIn();
791 m_bIsCharacterGettingOut = compartmentAccess.IsGettingOut();
792
793 // Vehicle compartment
794 BaseCompartmentSlot slot = compartmentAccess.GetCompartment();
795 if (slot)
796 {
797 // Is character forced to freelook by compartment?
799
800 // Vehicle
801 IEntity vehicle = slot.GetOwner();
802
803 // In case the slot is actually in the injected compartment, like the backseats of Jeep
804 vehicle = GetVehicle(vehicle);
805
806 if (vehicle != m_CurrentVehicle)
807 {
808 m_CurrentVehicle = vehicle;
809
810 if (vehicle)
811 {
813 }
814 }
815
816 // Temporary turbo time tracking
817 // TODO: Condition activation time
818 m_eCompartmentType = slot.GetType();
819 if (m_eCompartmentType == ECompartmentType.PILOT && GetGame().GetInputManager().GetActionTriggered("CarTurbo"))
820 m_fTurboTime += timeSlice;
821 else
822 m_fTurboTime = 0;
823
824 // Turret controls
825 m_CurrentVehicleController = slot.GetController();
828 {
829 BaseWeaponManagerComponent weaponManager = m_CurrentTurretController.GetWeaponManager();
830 if (weaponManager)
831 m_CurrentVehicleWeapon = weaponManager.GetCurrentWeapon();
832 }
833 }
834 else
835 {
836 m_CurrentVehicle = null;
837 }
838 }
839
840 // Clear vehicle variables
841 if (!m_CurrentVehicle)
842 {
845 }
846
847 // Current character weapon manager
848 // Current character weapon
849 BaseWeaponManagerComponent weaponManager = m_CharacterController.GetWeaponManagerComponent();
850 if (weaponManager)
851 {
852 // Weapon slot -> weapon entity
853 WeaponSlotComponent currentSlot = weaponManager.GetCurrentSlot();
854 if (currentSlot)
855 m_CurrentWeaponEntity = currentSlot.GetWeaponEntity();
856
857 // BaseWeaponComponent
858 BaseWeaponComponent currentWeapon = weaponManager.GetCurrent();
859 if (currentWeapon != m_CurrentWeapon)
860 {
861 m_CurrentWeapon = currentWeapon;
863 }
864
865 // Muzzle and magazine
866 if (m_CurrentWeapon)
867 {
868 m_CurrentMuzzle = m_CurrentWeapon.GetCurrentMuzzle();
869 m_CurrentMagazine = m_CurrentWeapon.GetCurrentMagazine();
870 }
871
872 // Is character reloading
874 }
875
876 // Does character have additional mags for current weapon?
878 {
879 if (m_CurrentWeapon)
880 m_iAdditionalMagazines = m_StorageManager.GetMagazineCountByWeapon(m_CurrentWeapon);
881
882 m_iMedicalItemCount = m_StorageManager.GetHealthComponentCount();
883
884 // Check medical items in quick slots
885 SCR_CharacterInventoryStorageComponent characterStorage = m_StorageManager.GetCharacterStorage();
886 if (characterStorage)
887 {
889
890 array<ref SCR_QuickslotBaseContainer> items = characterStorage.GetQuickSlotItems();
891 SCR_QuickslotEntityContainer entityContainer;
892 foreach (SCR_QuickslotBaseContainer container : items)
893 {
894 entityContainer = SCR_QuickslotEntityContainer.Cast(container);
895 if (entityContainer && entityContainer.GetEntity() && entityContainer.GetEntity().FindComponent(SCR_ConsumableItemComponent))
897 }
898 }
899
900 m_bCanFetchInventory = false;
901 }
902
903 // Camera handler to check focus mode
904 CameraHandlerComponent cameraHandler = m_CharacterController.GetCameraHandlerComponent();
905 if (cameraHandler)
906 m_fFocusMode = cameraHandler.GetFocusMode();
907
908 // Fetch available gadgets
909 m_bIsGadgetSelection = GetGame().GetInputManager().GetActionTriggered("GadgetSelection");
910 m_bIsWeaponManipulation = GetGame().GetInputManager().GetActionTriggered("WeaponManipulation");
911
912 // VON status
913 if (m_VONController)
914 m_bCharacterRadiosCount = m_VONController.GetVONEntryCount();
915
916 // VON usage
917 if (m_VON)
918 {
919 m_bCharacterIsUsingRadio = m_VON.IsTransmitingRadio();
922
923 m_bOwnsLongRangeRadio = m_VONController.IsLRRAvailable();
924 }
925
926 // Addition data
927 FetchHealthData(timeSlice);
928
929 // Map data
930 if (m_MapEntity && m_MapEntity.IsOpen())
931 FetchMapData(timeSlice);
932 }
933
934 //------------------------------------------------------------------------------------------------
936 protected IEntity GetVehicle(IEntity vehicle)
937 {
938 IEntity parent = null;
939
940 if (vehicle && vehicle.Type() != Vehicle)
941 parent = vehicle.GetParent();
942
943 if (parent)
944 vehicle = GetVehicle(parent);
945
946 return vehicle;
947 }
948
949 //------------------------------------------------------------------------------------------------
951 protected void FetchHealthData(float timeSlice)
952 {
955 {
956 Print("[SCR_AvailableActionsConditionData] - can't fetch health data!", LogLevel.WARNING);
957 return;
958 }
959
960 // Check bleeding
963
964 // Bleeding time tracking
966 m_fBleedingTime += timeSlice;
967 else
968 m_fBleedingTime = 0;
969
972
973 // Has tourniquet on any limb
974 array<ECharacterHitZoneGroup> limbs = {};
975 m_CharacterDamageComponent.GetAllExtremities(limbs);
976
977 for (int i = 0, count = limbs.Count(); i < count; i++)
978 {
979 m_bHasTourniquetLimb = m_CharacterDamageComponent.GetGroupTourniquetted(limbs[i]);
981 break;
982 }
983 }
984
985 //------------------------------------------------------------------------------------------------
987 protected void FetchMapData(float timeSlice)
988 {
990 m_bCanDragMapElement = false;
993
994 array<Widget> mapWidgetsUnderCursor = SCR_MapCursorModule.GetMapWidgetsUnderCursor();
995
997 foreach (Widget widget : mapWidgetsUnderCursor)
998 {
999 if (!widget)
1000 continue;
1001
1002 moveComp = SCR_MapElementMoveComponent.Cast(widget.FindHandler(SCR_MapElementMoveComponent));
1003 if (!moveComp)
1004 continue;
1005
1006 m_bCanRotateMapElement = moveComp.m_bCanRotate;
1007 m_bCanDragMapElement = moveComp.m_bCanDrag;
1008 m_bCanActivateMapElement = moveComp.m_bCanActivate;
1009 m_bCanResetElementRotation = moveComp.m_bCanResetRotation;
1010 }
1011 }
1012
1013 //------------------------------------------------------------------------------------------------
1014 // Contructor
1015 //------------------------------------------------------------------------------------------------
1016
1017 //------------------------------------------------------------------------------------------------
1020 {
1021 m_VONController = SCR_VONController.Cast(GetGame().GetPlayerController().FindComponent(SCR_VONController));
1023 }
1024};
ECompartmentType
ArmaReforgerScripted GetGame()
Definition game.c:1398
InputManager GetInputManager()
SCR_EditorManagerEntity GetEditorManager()
EDamageType type
void SCR_EditorManagerEntity(IEntitySource src, IEntity parent)
void SCR_QuickslotEntityContainer(IEntity entity)
proto external Managed FindComponent(typename typeName)
proto external IEntity GetParent()
void FetchMapData(float timeSlice)
Fetch 2D map related data.
BaseWeaponComponent GetCurrentWeapon()
Returns current weapon or none if null.
bool GetIsCharacterSprinting()
Returns whether character is sprinting.
SignalsManagerComponent m_CurrentVehicleSignals
Current vehicle signals.
bool m_bCanFetchInventory
Inventory fetching limitation.
SignalsManagerComponent GetCurrentVehicleSignals()
Returns current character weapon or null if none.
BaseControllerComponent GetCurrentVehicleController()
Returns current controlled vehicle's controller.
BaseMagazineComponent m_CurrentMagazine
Current weapon magazine.
bool m_bIsCharacterWeaponRaised
Is character weapon raised.
bool m_bIsCharacterInVehicle
Is character seated in a vehicle?
BaseMagazineComponent GetCurrentMagazine()
Returns current magazine or null if none.
void FetchHealthData(float timeSlice)
Fetch data related to character health state, bleeding, used medicals, etc.
bool m_bIsCharacterGettingOut
Is character getting out?
SCR_CharacterDamageManagerComponent m_CharacterDamageComponent
bool m_bIsCharacterUsingItem
Is character using an item at the moment.
bool m_bIsCharacterFreelookToggled
Is character freelooking toggled?
ECompartmentType GetCompartmentType()
Returns current compartment type.
bool GetIsCharacterReloading()
Returns whether character is reloading or not.
bool GetIsCharacterWeaponRaised()
Returns if character has raised weapon.
IEntity GetCurrentWeaponEntity()
Returns current character weapon or null if none.
TurretControllerComponent m_CurrentTurretController
Current turret controller.
float GetCharacterBleedingTime()
Returns for how long is character bleeding.
bool GetIsCharacterFalling()
Returns whether character is falling (airborne) or not.
bool m_bIsCharacterFreelookForced
Is character freelooking forced?
bool GetCanCharacterGetOutVehicle()
Returns whether character can get out of vehicle (if in any).
IEntity m_CurrentWeaponEntity
Current character weapon entity (if any).
string GetCurrentlyPlacedItemName()
Returns current character weapon or null if none.
SCR_GadgetComponent GetHeldGadgetComponent()
Returns held gadget component or null if none.
float m_fSprintingTime
How long is character sprinting.
float GetFocusModeAmount()
Returns <0,1> of focus mode amount; 0 = none, 1 = full focus.
bool m_bCanCharacterGetOutVehicle
Can character get out of vehicle?
IEntity m_CurrentItemEntity
Currently equipped item entity (if any).
bool GetIsCharacterGettingOut()
Returns whether character is getting out.
void FetchData(IEntity controlledEntity, float timeSlice)
CharacterAnimationComponent GetAnimationComponent()
Returns the actual animation controller.
bool m_bIsCharacterFalling
Is character falling? (airborne).
IEntity GetCurrentVehicle()
Returns current controlled vehicle.
bool GetIsCharacterUsingItem()
Returns if character is currently using an item.
bool m_bIsValid
Whether data is valid at current moment, FetchData has to be called prior to this to have it updated.
SCR_InventoryStorageManagerComponent m_StorageManager
bool GetIsCharacterFreelook()
Returns whether character is freelooking.
ECharacterStance m_eCharacterStance
Current character stance.
SCR_CharacterDamageManagerComponent GetCharacterDamageComponent()
bool GetIsCharacterADS()
Returns whether character is aiming down sights or not.
bool GetIsCharacterGettingIn()
Returns whether character is getting in.
bool m_bCharacterRadiosCount
Count of available radios.
float GetCurrentVehicleTurboTime()
Returns for how long is vehicle using turbo.
int m_iMedicalItemCountInQuickSlots
Number of medical items in quick slots.
BaseWeaponComponent GetCurrentVehicleWeapon()
Returns current controlled vehicle weapon or null if none.
bool m_bIsWeaponManipulation
Is weapon manipulation mode active.
bool GetIsCharacterFreelookToggled()
Returns whether character is freelooking toggled.
ECharacterStance GetCharacterStance()
Returns current character stance.
BaseControllerComponent m_CurrentVehicleController
Current vehicle controller.
BaseMuzzleComponent GetCurrentMuzzle()
Returns current weapon or none if null.
int m_iAdditionalMagazines
Number of additional magazines character has for current weapon.
bool m_bIsQuickSlotAvailable
Is quick slot bar available.
float GetCharacterSprintingTime()
Returns for how long is character bleeding.
int GetMedicalItemCount()
Returns count of medial items.
BaseWeaponComponent m_CurrentWeapon
Current weapon.
bool GetIsCharacterBleeding()
Returns if character is bleeding.
IEntity GetCurrentItemEntity()
Returns current character item or null if none.
IEntity GetHeldGadget()
Returns held gadget or null if none.
void SCR_AvailableActionsConditionData()
Creates condition data container.
bool m_bIsCharacterADS
Is character aiming down sights?
float m_fTurboTime
How long is player using turbo as driver of vehicle.
BaseMuzzleComponent m_CurrentMuzzle
Current weapon muzzle.
bool GetGadgetRaised()
Return held gadget being aimed with.
bool m_bIsGadgetSelection
Is gadget selection mode active.
IEntity GetVehicle(IEntity vehicle)
Gets vehicle entity from potentially attached entity.
bool GetIsCharacterFreelookForced()
Returns whether character is freelooking forced.
bool GetIsCharacterInVehicle()
Returns whether character is in a vehicle or not.
BaseWeaponComponent m_CurrentVehicleWeapon
Current vehicle weapon.
bool GetIsCharacterSwimming()
Returns whether character is swimming or not.
float m_fBleedingTime
How long is character bleeding.
CharacterControllerComponent GetCharacterController()
bool GetCanCharacterFireWeapon()
Return if player can fire weapon.
bool m_bCanCharacterFireWeapon
Can character fire with weapon.
TurretControllerComponent GetCurrentTurretController()
Returns controller of currently controlled turret.
IEntity GetGadget(EGadgetType type)
Returns gadget by type or null if none.
array< ref SCR_QuickslotBaseContainer > GetQuickSlotItems()
static SCR_GadgetManagerComponent GetGadgetManager(IEntity entity)
Attach this component to a widget in a map layout to configure interactions.
static SCR_MapEntity GetMapInstance()
Get map entity instance.
SCR_QuickslotBaseContainer is intended to be used for quickslots, to allow quickslotting of non-item ...
UIInfo - allows to define UI elements.
Definition UIInfo.c:14
enum EPhysicsLayerPresets Vehicle
Definition gameLib.c:24
ECharacterStance
proto void Print(void var, LogLevel level=LogLevel.NORMAL)
Prints content of variable to console/log.
LogLevel
Enum with severity of the logging message.
Definition LogLevel.c:14
proto external PlayerController GetPlayerController()
proto native void Clear()
Remove all calls from list.