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

◆ SetBuildingAnimationEx()

void SetBuildingAnimationEx ( PlayerBase player,
ActionTarget target,
ItemBase item,
ActionData action_data,
Param extra_data = NULL )
protected

here we base anims on targeted part

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

586 : ActionReciveData
587{
588 string m_PartType;
589}
590
591class BuildPartActionData : ActionData
592{
593 string m_PartType;
594};
595
597{
598 override void CreateActionComponent()
599 {
600 float time = SetCallbackDuration(m_ActionData.m_MainItem);
601 m_ActionData.m_ActionComponent = new CAContinuousTime(time);
602 }
603
604 float SetCallbackDuration(ItemBase item)
605 {
606 #ifdef DIAG_DEVELOPER
607 if (m_ActionData.m_Player.GetConstructionActionData().GetFastConstructionMode() == EConstructionDebugModes.FAST)
608 return 1;
609 #endif
610
611 if (item) //TODO: configure and evaluate item suitability?
612 return UATimeSpent.BASEBUILDING_CONSTRUCT_MEDIUM;
613 else
614 return UATimeSpent.BASEBUILDING_CONSTRUCT_SLOW;
615 }
616};
617
619{
620 void ActionBuildPart()
621 {
622 m_CallbackClass = ActionBuildPartCB;
623 m_CommandUID = DayZPlayerConstants.CMD_ACTIONFB_ASSEMBLE;
624 m_FullBody = true;
625 m_StanceMask = DayZPlayerConstants.STANCEMASK_ERECT | DayZPlayerConstants.STANCEMASK_CROUCH;
626
627 m_SpecialtyWeight = UASoftSkillsWeight.ROUGH_HIGH;
628 m_LockTargetOnUse = false;
629 m_Text = "#build";
630 }
631
632 override void CreateConditionComponents()
633 {
634 m_ConditionItem = new CCINonRuined;
635 m_ConditionTarget = new CCTCursor;
636 }
637
638 override void OnActionInfoUpdate(PlayerBase player, ActionTarget target, ItemBase item)
639 {
640 ConstructionActionData cad = player.GetConstructionActionData();
642 if (part)
643 {
644 string overrideText = part.GetBuildTextOverride();
645 if (overrideText == string.Empty)
646 m_Text = "#build "+ part.GetName();
647 else
648 m_Text = overrideText;
649
650 #ifdef DIAG_DEVELOPER
651 if (DiagMenu.GetBool(DiagMenuIDs.BASEBUILDING_FULLDEBUG))
652 {
653 m_Text = "dbgBuild | part classname: " + part.GetPartName();
654 }
655 #endif
656 }
657 }
658
659 override void InitInfoData()
660 {
661 m_InfoData = new ActionInfoDataConstructionPossible();
662 }
663
664 override bool CanBeUsedLeaning()
665 {
666 return false;
667 }
668
669 override bool CanBeUsedInFreelook()
670 {
671 return false;
672 }
673
674 override bool ActionCondition(PlayerBase player, ActionTarget target, ItemBase item)
675 {
676 #ifdef DIAG_DEVELOPER
677 if (player.GetConstructionActionData().GetFastConstructionMode() == EConstructionDebugModes.INSTANT)
678 return false;
679 #endif
680
681 EntityAI ent;
682 if (!Class.CastTo(ent,target.GetObject()))
683 return false;
684
685 if (player.IsPlacingLocal() || player.IsPlacingServer())
686 return false;
687
688 //Action not allowed if player has broken legs
689 if (player.GetBrokenLegs() == eBrokenLegs.BROKEN_LEGS)
690 return false;
691
692 if (!ent.CanUseConstruction() || !ent.CanUseConstructionBuild())
693 return false;
694
695 if ((!GetGame().IsDedicatedServer()))
696 {
697 if (!PositioningCheck(player, target))
698 return false;
699
700 if (MiscGameplayFunctions.ComplexBuildCollideCheckClient(player, target, item, m_VariantID))
701 return GatherInfoData(player,target,item);
702
703 return false;
704 }
705 return true;
706 }
707
708 override bool ActionConditionContinue(ActionData action_data)
709 {
710 EntityAI ent = EntityAI.Cast(action_data.m_Target.GetObject());
711 ConstructionBase construction = ConstructionBase.Cast(ent.GetConstructionBasic());
712 string part_name = BuildPartActionData.Cast(action_data).m_PartType;
713 CollisionCheckData check_data = new CollisionCheckData;
714
715 check_data.m_PartName = part_name;
716 check_data.m_AdditionalExcludes.Insert(action_data.m_Player);
717
718 bool canBuild = construction.CanBuildPart(part_name, action_data.m_MainItem, true);
719 #ifdef DIAG_DEVELOPER
720 if (action_data.m_Player.GetConstructionActionData().GetFastConstructionMode())
721 canBuild = true;
722 #endif
723 if (GetGame().IsServer())
724 {
725 bool collides = construction.IsCollidingEx(check_data);
726
727 return !collides && canBuild;
728 }
729 else
730 {
731 return canBuild;
732 }
733 }
734
735 override void OnFinishProgressServer(ActionData action_data)
736 {
737 EntityAI ent = EntityAI.Cast(action_data.m_Target.GetObject());
738 ConstructionBase construction = ConstructionBase.Cast(ent.GetConstructionBasic());
739
740 string partName = BuildPartActionData.Cast(action_data).m_PartType;
741 ConstructionPart part = construction.GetConstructionPart(partName);
743
744 checkData.m_PartName = partName;
745 checkData.m_AdditionalExcludes.Insert(action_data.m_Player);
746
747 bool canBuild = construction.CanBuildPart(partName, action_data.m_MainItem, UseMainItem()); //TODO: do we need to check it here when ActionVariantManager already does it?
748 #ifdef DIAG_DEVELOPER
749 if (action_data.m_Player.GetConstructionActionData().GetFastConstructionMode())
750 canBuild = true;
751 #endif
752 if (!construction.IsCollidingEx(checkData) && canBuild)
753 {
754 //build
755 construction.BuildPartServerEx(action_data.m_Player, partName, AT_BUILD_PART);
756
757 #ifdef DIAG_DEVELOPER
758 //skip tool/hand damage on debug action
759 if (action_data.m_Player.GetConstructionActionData().GetFastConstructionMode())
760 return;
761 #endif
762
763 //add damage to tool or hands
764 if (action_data.m_MainItem)
765 {
766 if (part.DamageToolOnBuild())
767 action_data.m_MainItem.DecreaseHealth(UADamageApplied.BUILD, false);
768 }
769 else
770 {
771 if (part.DamageHandsOnBuild())
772 {
773 EntityAI gloves = action_data.m_Player.GetInventory().FindAttachment(InventorySlots.GLOVES);
774 if (gloves && gloves.GetHealthLevel() < 4)
775 {
776 gloves.AddHealth("","", PlayerConstants.GLOVES_DAMAGE_HAND_CONSTRUCTION);
777 }
778 else if (Math.RandomFloat01() < PlayerConstants.CHANCE_TO_BLEED_HAND_CONSTRUCTION)
779 {
780 if (Math.RandomFloat01() < 0.5)
781 action_data.m_Player.GetBleedingManagerServer().AttemptAddBleedingSourceBySelection("LeftForeArmRoll");
782 else
783 action_data.m_Player.GetBleedingManagerServer().AttemptAddBleedingSourceBySelection("RightForeArmRoll");
784 action_data.m_Player.RequestSoundEventEx(EPlayerSoundEventID.INJURED_LIGHT); //play sound regardless?
785 }
786 }
787 }
788 }
789 }
790
791 override string GetSoundCategory(ActionData action_data)
792 {
793 return "Base_building";
794 }
795
796 override ActionData CreateActionData()
797 {
798 BuildPartActionData action_data = new BuildPartActionData;
799 return action_data;
800 }
801
802 //setup
803 override bool SetupAction(PlayerBase player, ActionTarget target, ItemBase item, out ActionData action_data, Param extra_data = NULL)
804 {
805 if (super.SetupAction(player, target, item, action_data, extra_data))
806 {
807 if (!g_Game.IsDedicatedServer())
808 {
809 ComposeBuildActionDataClient(player,target,item,action_data,extra_data);
810 }
811
812 SetBuildingAnimationEx(player, target, item, action_data, extra_data);
813 return true;
814 }
815
816 return false;
817 }
818
819 protected void ComposeBuildActionDataClient(PlayerBase player, ActionTarget target, ItemBase item, out ActionData action_data, Param extra_data = NULL)
820 {
821 ConstructionActionData cad = action_data.m_Player.GetConstructionActionData();
823 BuildPartActionData.Cast(action_data).m_PartType = part.GetPartName();
824 }
825
826 protected void SetBuildingAnimationEx(PlayerBase player, ActionTarget target, ItemBase item, ActionData action_data, Param extra_data = NULL)
827 {
828 if (!item)
829 return;
830
831 switch (item.Type())
832 {
833 case Pickaxe:
834 case Shovel:
835 case FarmingHoe:
836 case FieldShovel:
837 m_CommandUID = DayZPlayerConstants.CMD_ACTIONFB_DIG;
838 break;
839 case Pliers:
840 m_CommandUID = DayZPlayerConstants.CMD_ACTIONFB_INTERACT;
841 break;
842 case SledgeHammer:
843 m_CommandUID = DayZPlayerConstants.CMD_ACTIONFB_MINEROCK;
844 break;
845 case BrickTrowel:
846 m_CommandUID = DayZPlayerConstants.CMD_ACTIONFB_BRICKTROWEL;
847 break;
848 default:
849 m_CommandUID = DayZPlayerConstants.CMD_ACTIONFB_ASSEMBLE;
850 break;
851 }
852 }
853
854 override void WriteToContext(ParamsWriteContext ctx, ActionData action_data)
855 {
856 super.WriteToContext(ctx, action_data);
857
858 ctx.Write(BuildPartActionData.Cast(action_data).m_PartType);
859 }
860
861 override bool ReadFromContext(ParamsReadContext ctx, out ActionReciveData action_recive_data)
862 {
863 action_recive_data = new BuildPartActionReciveData;
864 super.ReadFromContext(ctx, action_recive_data);
865
866 string part_type;
867 if (ctx.Read(part_type))
868 {
869 BuildPartActionReciveData.Cast(action_recive_data).m_PartType = part_type;
870 return true;
871 }
872 else
873 {
874 return false;
875 }
876 }
877
878 override void HandleReciveData(ActionReciveData action_recive_data, ActionData action_data)
879 {
880 super.HandleReciveData(action_recive_data, action_data);
881
882 BuildPartActionData.Cast(action_data).m_PartType = BuildPartActionReciveData.Cast(action_recive_data).m_PartType;
883 }
884
885 override string GetAdminLogMessage(ActionData action_data)
886 {
887 string partName = BuildPartActionData.Cast(action_data).m_PartType;
888
889 string itemName = "hands";
890 if (action_data.m_MainItem)
891 itemName = action_data.m_MainItem.GetDisplayName();
892
893 string message = string.Format("Built %1 on %2 with %3", partName, action_data.m_Target.GetObject().GetDisplayName(), itemName);
894 return message;
895 }
896
897 protected void ClearInfoData()
898 {
900 }
901
902 protected bool GatherInfoData(PlayerBase player, ActionTarget target, ItemBase item)
903 {
905
906 ActionInfoDataConstructionPossible info = ActionInfoDataConstructionPossible.Cast(m_InfoData);
907 ConstructionActionData cad = player.GetConstructionActionData();
909 info.SetConstructionPart(part);
910 info.SetTool(item);
911
912 info.m_InfoContextMask |= EConstructionInfoCategories.MATERIALS_PRESENCE; //material info should always be visible
913 info.m_InfoContextMask |= EConstructionInfoCategories.TOOL_PRESENCE; //tools info should always be visible
914
915 return info.CanDisplayInfo();
916 }
917
919 protected bool PositioningCheck(PlayerBase player, ActionTarget target)
920 {
921 EntityAI ent = EntityAI.Cast(target.GetObject());
922 BaseBuildingBase bbb = BaseBuildingBase.Cast(ent);
923 ConstructionActionData cad = player.GetConstructionActionData();
925
926 if (part)
927 {
928 ConstructionBase construction = ConstructionBase.Cast(ent.GetConstructionBasic());
929 if (!ent.IsPlayerInsideEx(player, part.GetPartName()))
930 {
931 if (bbb && !bbb.MustBeBuiltFromOutside())
932 return false;
933 else if (!bbb)
934 return false;
935 }
936 if (!construction.ConstructionDirectionCheck(player, part, EConstructionDirCheckType.INDOORS))
937 return false;
938 if (!construction.ConstructionInsiderBoxCheck(player, part))
939 return false;
940
941 return true;
942 }
943 return false;
944 }
945
947 protected ConstructionPart GetTargetPart(ConstructionActionData cad)
948 {
950 }
951
953 //deprecated//
955 [Obsolete("Use 'SetBuildingAnimationEx' instead")]
956 protected void SetBuildingAnimation(ItemBase item)
957 {
958 SetBuildingAnimationEx(null,null,item,null);
959 }
960}
961
963{
965 {
966 m_CommandUID = DayZPlayerConstants.CMD_ACTIONFB_DEPLOY_2HD;
967 }
968
969 override void CreateConditionComponents()
970 {
971 m_ConditionItem = new CCINone;
972 m_ConditionTarget = new CCTCursor;
973 }
974
975 override bool UseMainItem()
976 {
977 return false;
978 }
979
980 override void OnActionInfoUpdate(PlayerBase player, ActionTarget target, ItemBase item)
981 {
982 ConstructionActionData cad = player.GetConstructionActionData();
984 if (part)
985 {
986 string overrideText = part.GetBuildTextOverride();
987 if (overrideText == string.Empty)
988 m_Text = "#build "+ part.GetName();
989 else
990 m_Text = overrideText;
991
992 #ifdef DIAG_DEVELOPER
993 if (DiagMenu.GetBool(DiagMenuIDs.BASEBUILDING_FULLDEBUG))
994 {
995 m_Text = "dbgBuild | part classname: " + part.GetPartName() + " with hands";
996 }
997 #endif
998 }
999 }
1000
1001 override bool ActionCondition(PlayerBase player, ActionTarget target, ItemBase item)
1002 {
1003 #ifdef DIAG_DEVELOPER
1004 if (player.GetConstructionActionData().GetFastConstructionMode() == EConstructionDebugModes.INSTANT)
1005 return false;
1006 #endif
1007
1008 if (item)
1009 return false;
1010
1011 EntityAI ent;
1012 if (!Class.CastTo(ent,target.GetObject()))
1013 return false;
1014
1015 if (player.IsPlacingLocal() || player.IsPlacingServer())
1016 return false;
1017
1018 //Action not allowed if player has broken legs
1019 if (player.GetBrokenLegs() == eBrokenLegs.BROKEN_LEGS)
1020 return false;
1021
1022 bool handConstructionCondition = ent.CanUseHandConstruction();
1023 #ifdef DIAG_DEVELOPER
1024 if (player.GetConstructionActionData().GetFastConstructionMode())
1025 handConstructionCondition = true;
1026 #endif
1027
1028 if (!ent.CanUseConstruction() || !ent.CanUseConstructionBuild() || !handConstructionCondition)
1029 return false;
1030
1031 if ((!GetGame().IsDedicatedServer()))
1032 {
1033 if (!PositioningCheck(player, target))
1034 return false;
1035
1036 if (MiscGameplayFunctions.ComplexBuildCollideCheckClient(player, target, item, m_VariantID))
1037 return GatherInfoData(player,target,item);
1038
1039 return false;
1040 }
1041 return true;
1042 }
1043
1044 override bool ActionConditionContinue(ActionData action_data)
1045 {
1046 EntityAI ent = EntityAI.Cast(action_data.m_Target.GetObject());
1047 ConstructionBase construction = ConstructionBase.Cast(ent.GetConstructionBasic());
1048 string part_name = BuildPartActionData.Cast(action_data).m_PartType;
1049 CollisionCheckData check_data = new CollisionCheckData;
1050
1051 check_data.m_PartName = part_name;
1052 check_data.m_AdditionalExcludes.Insert(action_data.m_Player);
1053
1054 bool canBuild = construction.CanBuildPart(part_name, null, false);
1055 #ifdef DIAG_DEVELOPER
1056 if (action_data.m_Player.GetConstructionActionData().GetFastConstructionMode())
1057 canBuild = true;
1058 #endif
1059 if (GetGame().IsServer())
1060 {
1061 bool collides = construction.IsCollidingEx(check_data);
1062
1063 return !collides && canBuild;
1064 }
1065 else
1066 {
1067 return canBuild;
1068 }
1069 }
1070
1071 override protected bool GatherInfoData(PlayerBase player, ActionTarget target, ItemBase item)
1072 {
1073 ClearInfoData();
1074
1075 ActionInfoDataConstructionPossible info = ActionInfoDataConstructionPossible.Cast(m_InfoData);
1076 ConstructionActionData cad = player.GetConstructionActionData();
1078 info.SetConstructionPart(part);
1079 info.SetTool(item);
1080
1081 info.m_InfoContextMask |= EConstructionInfoCategories.MATERIALS_PRESENCE; //material info should always be visible
1082 /*
1083 int actionMask = part.GetBuildActionTypeMask();
1084 actionMask &= ~EConstructionTools.TOOL_HANDS;
1085 if (actionMask != 0)
1086 info.m_InfoContextMask |= EConstructionInfoCategories.TOOL_PRESENCE; //tools info ONLY when also buildable by one!
1087 */
1088 info.m_InfoContextMask |= EConstructionInfoCategories.TOOL_PRESENCE; //tools info should always be visible
1089
1090 return info.CanDisplayInfo();
1091 }
1092
1093 override protected void ComposeBuildActionDataClient(PlayerBase player, ActionTarget target, ItemBase item, out ActionData action_data, Param extra_data = NULL)
1094 {
1095 ConstructionActionData cad = action_data.m_Player.GetConstructionActionData();
1096 BuildPartActionData.Cast(action_data).m_PartType = cad.GetBuildPartHandsGenericAtIndex(m_VariantID).GetPartName();
1097 }
1098
1100 override protected ConstructionPart GetTargetPart(ConstructionActionData cad)
1101 {
1103 }
1104
1106 override protected void SetBuildingAnimationEx(PlayerBase player, ActionTarget target, ItemBase item, ActionData action_data, Param extra_data = NULL)
1107 {
1108 if (item)
1109 return;
1110
1111 BuildPartActionData buildData;
1112 if (Class.CastTo(buildData, action_data))
1113 {
1114 EntityAI ent = EntityAI.Cast(action_data.m_Target.GetObject());
1115 ConstructionBase construction = ConstructionBase.Cast(ent.GetConstructionBasic());
1116 ConstructionPart part = construction.GetConstructionPart(buildData.m_PartType);
1117 int animOverrideID = part.GetHandBuildFBAnimOverride();
1118
1119 if (animOverrideID >= 0)
1120 m_CommandUID = animOverrideID;
1121 else
1122 m_CommandUID = DayZPlayerConstants.CMD_ACTIONFB_DEPLOY_2HD;
1123 }
1124 }
1125}
1126
1127// Deprecated
class LogManager EntityAI
const int AT_BUILD_PART
bool m_FullBody
Определения ActionBase.c:60
string m_Text
Определения ActionBase.c:57
bool ActionConditionContinue(ActionData action_data)
Определения ActionBase.c:436
ref ActionInfoDataBase m_InfoData
Определения ActionBase.c:70
void OnActionInfoUpdate(PlayerBase player, ActionTarget target, ItemBase item)
Определения ActionBase.c:1342
int m_VariantID
Определения ActionBase.c:67
void CreateConditionComponents()
Определения ActionBase.c:245
bool m_LockTargetOnUse
Определения ActionBase.c:59
ref CCIBase m_ConditionItem
Определения ActionBase.c:63
float m_SpecialtyWeight
Определения ActionBase.c:77
ref CCTBase m_ConditionTarget
Определения ActionBase.c:64
bool ActionCondition(PlayerBase player, ActionTarget target, ItemBase item)
Определения ActionBase.c:441
bool UseMainItem()
Определения ActionBase.c:417
int m_StanceMask
Определения ActionBase.c:61
BuildPartActionReciveData m_PartType
void ComposeBuildActionDataClient(PlayerBase player, ActionTarget target, ItemBase item, out ActionData action_data, Param extra_data=NULL)
Определения ActionBuildPart.c:579
bool GatherInfoData(PlayerBase player, ActionTarget target, ItemBase item)
Определения ActionBuildPart.c:662
bool PositioningCheck(PlayerBase player, ActionTarget target)
Can build from the inside only, if applicable.
Определения ActionBuildPart.c:679
void ClearInfoData()
Определения ActionBuildPart.c:657
override bool UseMainItem()
Определения ActionBuildPart.c:390
ConstructionPart GetTargetPart(ConstructionActionData cad)
Does not work on server, since variants are not updated there (invoker does not invoke)
Определения ActionBuildPart.c:707
ActionBuildPart ActionContinuousBase ActionBuildPartHandsGeneric()
Определения ActionBuildPart.c:379
void SetBuildingAnimationEx(PlayerBase player, ActionTarget target, ItemBase item, ActionData action_data, Param extra_data=NULL)
here we base anims on targeted part
Определения ActionBuildPart.c:586
void ActionTarget(Object object, Object parent, int componentIndex, vector cursorHitPos, float utility, string surfaceName="")
Определения ActionTargets.c:125
void BaseBuildingBase()
Определения BaseBuildingBase.c:1326
void ConstructionBase(EntityAI parent)
Определения ConstructionBase.c:58
void CollisionCheckData()
Определения ConstructionBase.c:1923
EConstructionInfoCategories
Определения ConstructionConstants.c:2
void ConstructionPart(string name, string part_name, string main_part_name, int id, bool is_built, bool is_base, bool is_gate, array< string > required_parts)
Определения ConstructionPart.c:531
DayZGame g_Game
Определения DayZGame.c:4074
eBrokenLegs
Определения EBrokenLegs.c:2
DiagMenuIDs
Определения EDiagMenuIDs.c:2
class GP5GasMask extends MaskBase ItemBase
Empty
Определения Hand_States.c:14
EPlayerSoundEventID
Определения PlayerSoundEventHandler.c:3
ActionData m_ActionData
Определения AnimatedActionBase.c:3
void ActionBuildPart()
Определения ActionBuildPart.c:35
override bool SetupAction(PlayerBase player, ActionTarget target, ItemBase item, out ActionData action_data, Param extra_data=NULL)
Определения ActionBuildPart.c:218
override bool CanBeUsedInFreelook()
Определения ActionBuildPart.c:84
void ComposeBuildActionDataClient(PlayerBase player, ActionTarget target, ItemBase item, out ActionData action_data, Param extra_data=NULL)
Определения ActionBuildPart.c:234
override bool CanBeUsedLeaning()
Определения ActionBuildPart.c:79
bool PositioningCheck(PlayerBase player, ActionTarget target)
Can build from the inside only, if applicable.
Определения ActionBuildPart.c:334
override void CreateConditionComponents()
Определения ActionBuildPart.c:47
override string GetSoundCategory(ActionData action_data)
Определения ActionBuildPart.c:206
override bool ReadFromContext(ParamsReadContext ctx, out ActionReciveData action_recive_data)
Определения ActionBuildPart.c:276
void SetBuildingAnimation(ItemBase item)
Определения ActionBuildPart.c:371
override bool ActionConditionContinue(ActionData action_data)
Определения ActionBuildPart.c:123
override bool ActionCondition(PlayerBase player, ActionTarget target, ItemBase item)
Определения ActionBuildPart.c:89
void SetBuildingAnimationEx(PlayerBase player, ActionTarget target, ItemBase item, ActionData action_data, Param extra_data=NULL)
Определения ActionBuildPart.c:241
override ActionData CreateActionData()
Определения ActionBuildPart.c:211
ConstructionPart GetTargetPart(ConstructionActionData cad)
Does not work on server, since variants are not updated there (invoker does not invoke)
Определения ActionBuildPart.c:362
override void WriteToContext(ParamsWriteContext ctx, ActionData action_data)
Определения ActionBuildPart.c:269
override void InitInfoData()
Определения ActionBuildPart.c:74
override string GetAdminLogMessage(ActionData action_data)
Определения ActionBuildPart.c:300
override void OnFinishProgressServer(ActionData action_data)
Определения ActionBuildPart.c:150
bool GatherInfoData(PlayerBase player, ActionTarget target, ItemBase item)
Определения ActionBuildPart.c:317
void ClearInfoData()
Определения ActionBuildPart.c:312
override void HandleReciveData(ActionReciveData action_recive_data, ActionData action_data)
Определения ActionBuildPart.c:293
override void OnActionInfoUpdate(PlayerBase player, ActionTarget target, ItemBase item)
Определения ActionBuildPart.c:53
float SetCallbackDuration(ItemBase item)
Определения ActionBuildPart.c:19
override void CreateActionComponent()
Определения ActionBuildPart.c:13
PlayerBase m_Player
Определения ActionBase.c:40
ref ActionTarget m_Target
Определения ActionBase.c:39
ItemBase m_MainItem
Определения ActionBase.c:35
Определения ActionBase.c:22
int m_InfoContextMask
Определения ActionPartInfo.c:211
int m_CommandUID
Определения AnimatedActionBase.c:147
override bool MustBeBuiltFromOutside()
Определения ShelterSite.c:80
ConstructionPart GetBuildPartHandsGenericAtIndex(int idx)
Определения ConstructionActionData.c:364
ConstructionPart GetBuildPartAtIndex(int idx)
Определения ConstructionActionData.c:346
int GetHandBuildFBAnimOverride()
Определения ConstructionPart.c:253
string GetPartName()
Определения ConstructionPart.c:198
string GetBuildTextOverride()
Определения ConstructionPart.c:315
string GetName()
Определения ConstructionPart.c:193
bool DamageHandsOnBuild()
Определения ConstructionPart.c:218
bool DamageToolOnBuild()
Определения ConstructionPart.c:213
proto bool Write(void value_out)
proto bool Read(void value_in)
DayZPlayerConstants
defined in C++
Определения dayzplayer.c:602
Serializer ParamsReadContext
Определения gameplay.c:15
Serializer ParamsWriteContext
Определения gameplay.c:16
DayZGame GetGame()
Определения gameplay.c:636
void Obsolete(string msg="")
Определения EnScript.c:371
proto void Insert(int index, string input)
Inserts a string into the n-th index, increasing the string length by the size of the input.