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

◆ WriteToContext()

override void ActionBuildPartHandsGeneric::WriteToContext ( ParamsWriteContext ctx,
ActionData action_data )
protected

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

614 : ActionReciveData
615{
616 string m_PartType;
617}
618
619class BuildPartActionData : ActionData
620{
621 string m_PartType;
622};
623
625{
626 override void CreateActionComponent()
627 {
628 float time = SetCallbackDuration(m_ActionData.m_MainItem);
629 m_ActionData.m_ActionComponent = new CAContinuousTime(time);
630 }
631
632 float SetCallbackDuration(ItemBase item)
633 {
634 #ifdef DIAG_DEVELOPER
635 if (m_ActionData.m_Player.GetConstructionActionData().GetFastConstructionMode() == EConstructionDebugModes.FAST)
636 return 1;
637 #endif
638
639 if (item) //TODO: configure and evaluate item suitability?
640 return UATimeSpent.BASEBUILDING_CONSTRUCT_MEDIUM;
641 else
642 return UATimeSpent.BASEBUILDING_CONSTRUCT_SLOW;
643 }
644};
645
647{
648 void ActionBuildPart()
649 {
650 m_CallbackClass = ActionBuildPartCB;
651 m_CommandUID = DayZPlayerConstants.CMD_ACTIONFB_ASSEMBLE;
652 m_FullBody = true;
653 m_StanceMask = DayZPlayerConstants.STANCEMASK_ERECT | DayZPlayerConstants.STANCEMASK_CROUCH;
654
655 m_SpecialtyWeight = UASoftSkillsWeight.ROUGH_HIGH;
656 m_LockTargetOnUse = false;
657 m_Text = "#build";
658 }
659
660 override void CreateConditionComponents()
661 {
662 m_ConditionItem = new CCINonRuined;
663 m_ConditionTarget = new CCTCursor;
664 }
665
666 override void OnActionInfoUpdate(PlayerBase player, ActionTarget target, ItemBase item)
667 {
668 ConstructionActionData cad = player.GetConstructionActionData();
670 if (part)
671 {
672 string overrideText = part.GetBuildTextOverride();
673 if (overrideText == string.Empty)
674 m_Text = "#build "+ part.GetName();
675 else
676 m_Text = overrideText;
677
678 #ifdef DIAG_DEVELOPER
679 if (DiagMenu.GetBool(DiagMenuIDs.BASEBUILDING_FULLDEBUG))
680 {
681 m_Text = "dbgBuild | part classname: " + part.GetPartName();
682 }
683 #endif
684 }
685 }
686
687 override void InitInfoData()
688 {
689 m_InfoData = new ActionInfoDataConstructionPossible();
690 }
691
692 override bool CanBeUsedLeaning()
693 {
694 return false;
695 }
696
697 override bool CanBeUsedInFreelook()
698 {
699 return false;
700 }
701
702 override bool ActionCondition(PlayerBase player, ActionTarget target, ItemBase item)
703 {
704 #ifdef DIAG_DEVELOPER
705 if (player.GetConstructionActionData().GetFastConstructionMode() == EConstructionDebugModes.INSTANT)
706 return false;
707 #endif
708
709 EntityAI ent;
710 if (!Class.CastTo(ent,target.GetObject()))
711 return false;
712
713 if (player.IsPlacingLocal() || player.IsPlacingServer())
714 return false;
715
716 //Action not allowed if player has broken legs
717 if (player.GetBrokenLegs() == eBrokenLegs.BROKEN_LEGS)
718 return false;
719
720 if (!ent.CanUseConstruction() || !ent.CanUseConstructionBuild())
721 return false;
722
723 if ((!GetGame().IsDedicatedServer()))
724 {
725 if (!PositioningCheck(player, target))
726 return false;
727
728 if (MiscGameplayFunctions.ComplexBuildCollideCheckClient(player, target, item, m_VariantID))
729 return GatherInfoData(player,target,item);
730
731 return false;
732 }
733 return true;
734 }
735
736 override bool ActionConditionContinue(ActionData action_data)
737 {
738 EntityAI ent = EntityAI.Cast(action_data.m_Target.GetObject());
739 ConstructionBase construction = ConstructionBase.Cast(ent.GetConstructionBasic());
740 string part_name = BuildPartActionData.Cast(action_data).m_PartType;
741 CollisionCheckData check_data = new CollisionCheckData;
742
743 check_data.m_PartName = part_name;
744 check_data.m_AdditionalExcludes.Insert(action_data.m_Player);
745
746 bool canBuild = construction.CanBuildPart(part_name, action_data.m_MainItem, true);
747 #ifdef DIAG_DEVELOPER
748 if (action_data.m_Player.GetConstructionActionData().GetFastConstructionMode())
749 canBuild = true;
750 #endif
751 if (GetGame().IsServer())
752 {
753 bool collides = construction.IsCollidingEx(check_data);
754
755 return !collides && canBuild;
756 }
757 else
758 {
759 return canBuild;
760 }
761 }
762
763 override void OnFinishProgressServer(ActionData action_data)
764 {
765 EntityAI ent = EntityAI.Cast(action_data.m_Target.GetObject());
766 ConstructionBase construction = ConstructionBase.Cast(ent.GetConstructionBasic());
767
768 string partName = BuildPartActionData.Cast(action_data).m_PartType;
769 ConstructionPart part = construction.GetConstructionPart(partName);
771
772 checkData.m_PartName = partName;
773 checkData.m_AdditionalExcludes.Insert(action_data.m_Player);
774
775 bool canBuild = construction.CanBuildPart(partName, action_data.m_MainItem, UseMainItem()); //TODO: do we need to check it here when ActionVariantManager already does it?
776 #ifdef DIAG_DEVELOPER
777 if (action_data.m_Player.GetConstructionActionData().GetFastConstructionMode())
778 canBuild = true;
779 #endif
780 if (!construction.IsCollidingEx(checkData) && canBuild)
781 {
782 //build
783 construction.BuildPartServerEx(action_data.m_Player, partName, AT_BUILD_PART);
784
785 #ifdef DIAG_DEVELOPER
786 //skip tool/hand damage on debug action
787 if (action_data.m_Player.GetConstructionActionData().GetFastConstructionMode())
788 return;
789 #endif
790
791 //add damage to tool or hands
792 if (action_data.m_MainItem)
793 {
794 if (part.DamageToolOnBuild())
795 action_data.m_MainItem.DecreaseHealth(UADamageApplied.BUILD, false);
796 }
797 else
798 {
799 if (part.DamageHandsOnBuild())
800 {
801 EntityAI gloves = action_data.m_Player.GetInventory().FindAttachment(InventorySlots.GLOVES);
802 if (gloves && gloves.GetHealthLevel() < 4)
803 {
804 gloves.AddHealth("","", PlayerConstants.GLOVES_DAMAGE_HAND_CONSTRUCTION);
805 }
806 else if (Math.RandomFloat01() < PlayerConstants.CHANCE_TO_BLEED_HAND_CONSTRUCTION)
807 {
808 if (Math.RandomFloat01() < 0.5)
809 action_data.m_Player.GetBleedingManagerServer().AttemptAddBleedingSourceBySelection("LeftForeArmRoll");
810 else
811 action_data.m_Player.GetBleedingManagerServer().AttemptAddBleedingSourceBySelection("RightForeArmRoll");
812 action_data.m_Player.RequestSoundEventEx(EPlayerSoundEventID.INJURED_LIGHT); //play sound regardless?
813 }
814 }
815 }
816 }
817 }
818
819 override string GetSoundCategory(ActionData action_data)
820 {
821 return "Base_building";
822 }
823
824 override ActionData CreateActionData()
825 {
826 BuildPartActionData action_data = new BuildPartActionData;
827 return action_data;
828 }
829
830 //setup
831 override bool SetupAction(PlayerBase player, ActionTarget target, ItemBase item, out ActionData action_data, Param extra_data = NULL)
832 {
833 if (super.SetupAction(player, target, item, action_data, extra_data))
834 {
835 if (!g_Game.IsDedicatedServer())
836 {
837 ComposeBuildActionDataClient(player,target,item,action_data,extra_data);
838 }
839
840 SetBuildingAnimationEx(player, target, item, action_data, extra_data);
841 return true;
842 }
843
844 return false;
845 }
846
847 protected void ComposeBuildActionDataClient(PlayerBase player, ActionTarget target, ItemBase item, out ActionData action_data, Param extra_data = NULL)
848 {
849 ConstructionActionData cad = action_data.m_Player.GetConstructionActionData();
851 BuildPartActionData.Cast(action_data).m_PartType = part.GetPartName();
852 }
853
854 protected void SetBuildingAnimationEx(PlayerBase player, ActionTarget target, ItemBase item, ActionData action_data, Param extra_data = NULL)
855 {
856 if (!item)
857 return;
858
859 switch (item.Type())
860 {
861 case Pickaxe:
862 case Shovel:
863 case FarmingHoe:
864 case FieldShovel:
865 m_CommandUID = DayZPlayerConstants.CMD_ACTIONFB_DIG;
866 break;
867 case Pliers:
868 m_CommandUID = DayZPlayerConstants.CMD_ACTIONFB_INTERACT;
869 break;
870 case SledgeHammer:
871 m_CommandUID = DayZPlayerConstants.CMD_ACTIONFB_MINEROCK;
872 break;
873 case BrickTrowel:
874 m_CommandUID = DayZPlayerConstants.CMD_ACTIONFB_BRICKTROWEL;
875 break;
876 default:
877 m_CommandUID = DayZPlayerConstants.CMD_ACTIONFB_ASSEMBLE;
878 break;
879 }
880 }
881
882 override void WriteToContext(ParamsWriteContext ctx, ActionData action_data)
883 {
884 super.WriteToContext(ctx, action_data);
885
886 ctx.Write(BuildPartActionData.Cast(action_data).m_PartType);
887 }
888
889 override bool ReadFromContext(ParamsReadContext ctx, out ActionReciveData action_recive_data)
890 {
891 action_recive_data = new BuildPartActionReciveData;
892 super.ReadFromContext(ctx, action_recive_data);
893
894 string part_type;
895 if (ctx.Read(part_type))
896 {
897 BuildPartActionReciveData.Cast(action_recive_data).m_PartType = part_type;
898 return true;
899 }
900 else
901 {
902 return false;
903 }
904 }
905
906 override void HandleReciveData(ActionReciveData action_recive_data, ActionData action_data)
907 {
908 super.HandleReciveData(action_recive_data, action_data);
909
910 BuildPartActionData.Cast(action_data).m_PartType = BuildPartActionReciveData.Cast(action_recive_data).m_PartType;
911 }
912
913 override string GetAdminLogMessage(ActionData action_data)
914 {
915 string partName = BuildPartActionData.Cast(action_data).m_PartType;
916
917 string itemName = "hands";
918 if (action_data.m_MainItem)
919 itemName = action_data.m_MainItem.GetDisplayName();
920
921 string message = string.Format("Built %1 on %2 with %3", partName, action_data.m_Target.GetObject().GetDisplayName(), itemName);
922 return message;
923 }
924
925 protected void ClearInfoData()
926 {
928 }
929
930 protected bool GatherInfoData(PlayerBase player, ActionTarget target, ItemBase item)
931 {
933
934 ActionInfoDataConstructionPossible info = ActionInfoDataConstructionPossible.Cast(m_InfoData);
935 ConstructionActionData cad = player.GetConstructionActionData();
937 info.SetConstructionPart(part);
938 info.SetTool(item);
939
940 info.m_InfoContextMask |= EConstructionInfoCategories.MATERIALS_PRESENCE; //material info should always be visible
941 info.m_InfoContextMask |= EConstructionInfoCategories.TOOL_PRESENCE; //tools info should always be visible
942
943 return info.CanDisplayInfo();
944 }
945
947 protected bool PositioningCheck(PlayerBase player, ActionTarget target)
948 {
949 EntityAI ent = EntityAI.Cast(target.GetObject());
950 BaseBuildingBase bbb = BaseBuildingBase.Cast(ent);
951 ConstructionActionData cad = player.GetConstructionActionData();
953
954 if (part)
955 {
956 ConstructionBase construction = ConstructionBase.Cast(ent.GetConstructionBasic());
957 if (!ent.IsPlayerInsideEx(player, part.GetPartName()))
958 {
959 if (bbb && !bbb.MustBeBuiltFromOutside())
960 return false;
961 else if (!bbb)
962 return false;
963 }
964 if (!construction.ConstructionDirectionCheck(player, part, EConstructionDirCheckType.INDOORS))
965 return false;
966 if (!construction.ConstructionInsiderBoxCheck(player, part))
967 return false;
968
969 return true;
970 }
971 return false;
972 }
973
975 protected ConstructionPart GetTargetPart(ConstructionActionData cad)
976 {
978 }
979
981 //deprecated//
983 [Obsolete("Use 'SetBuildingAnimationEx' instead")]
984 protected void SetBuildingAnimation(ItemBase item)
985 {
986 SetBuildingAnimationEx(null,null,item,null);
987 }
988}
989
991{
993 {
994 m_CommandUID = DayZPlayerConstants.CMD_ACTIONFB_DEPLOY_2HD;
995 }
996
997 override void CreateConditionComponents()
998 {
999 m_ConditionItem = new CCINone;
1000 m_ConditionTarget = new CCTCursor;
1001 }
1002
1003 override bool UseMainItem()
1004 {
1005 return false;
1006 }
1007
1008 override void OnActionInfoUpdate(PlayerBase player, ActionTarget target, ItemBase item)
1009 {
1010 ConstructionActionData cad = player.GetConstructionActionData();
1012 if (part)
1013 {
1014 string overrideText = part.GetBuildTextOverride();
1015 if (overrideText == string.Empty)
1016 m_Text = "#build "+ part.GetName();
1017 else
1018 m_Text = overrideText;
1019
1020 #ifdef DIAG_DEVELOPER
1021 if (DiagMenu.GetBool(DiagMenuIDs.BASEBUILDING_FULLDEBUG))
1022 {
1023 m_Text = "dbgBuild | part classname: " + part.GetPartName() + " with hands";
1024 }
1025 #endif
1026 }
1027 }
1028
1029 override bool ActionCondition(PlayerBase player, ActionTarget target, ItemBase item)
1030 {
1031 #ifdef DIAG_DEVELOPER
1032 if (player.GetConstructionActionData().GetFastConstructionMode() == EConstructionDebugModes.INSTANT)
1033 return false;
1034 #endif
1035
1036 if (item)
1037 return false;
1038
1039 EntityAI ent;
1040 if (!Class.CastTo(ent,target.GetObject()))
1041 return false;
1042
1043 if (player.IsPlacingLocal() || player.IsPlacingServer())
1044 return false;
1045
1046 //Action not allowed if player has broken legs
1047 if (player.GetBrokenLegs() == eBrokenLegs.BROKEN_LEGS)
1048 return false;
1049
1050 bool handConstructionCondition = ent.CanUseHandConstruction();
1051 #ifdef DIAG_DEVELOPER
1052 if (player.GetConstructionActionData().GetFastConstructionMode())
1053 handConstructionCondition = true;
1054 #endif
1055
1056 if (!ent.CanUseConstruction() || !ent.CanUseConstructionBuild() || !handConstructionCondition)
1057 return false;
1058
1059 if ((!GetGame().IsDedicatedServer()))
1060 {
1061 if (!PositioningCheck(player, target))
1062 return false;
1063
1064 if (MiscGameplayFunctions.ComplexBuildCollideCheckClient(player, target, item, m_VariantID))
1065 return GatherInfoData(player,target,item);
1066
1067 return false;
1068 }
1069 return true;
1070 }
1071
1072 override bool ActionConditionContinue(ActionData action_data)
1073 {
1074 EntityAI ent = EntityAI.Cast(action_data.m_Target.GetObject());
1075 ConstructionBase construction = ConstructionBase.Cast(ent.GetConstructionBasic());
1076 string part_name = BuildPartActionData.Cast(action_data).m_PartType;
1077 CollisionCheckData check_data = new CollisionCheckData;
1078
1079 check_data.m_PartName = part_name;
1080 check_data.m_AdditionalExcludes.Insert(action_data.m_Player);
1081
1082 bool canBuild = construction.CanBuildPart(part_name, null, false);
1083 #ifdef DIAG_DEVELOPER
1084 if (action_data.m_Player.GetConstructionActionData().GetFastConstructionMode())
1085 canBuild = true;
1086 #endif
1087 if (GetGame().IsServer())
1088 {
1089 bool collides = construction.IsCollidingEx(check_data);
1090
1091 return !collides && canBuild;
1092 }
1093 else
1094 {
1095 return canBuild;
1096 }
1097 }
1098
1099 override protected bool GatherInfoData(PlayerBase player, ActionTarget target, ItemBase item)
1100 {
1101 ClearInfoData();
1102
1103 ActionInfoDataConstructionPossible info = ActionInfoDataConstructionPossible.Cast(m_InfoData);
1104 ConstructionActionData cad = player.GetConstructionActionData();
1106 info.SetConstructionPart(part);
1107 info.SetTool(item);
1108
1109 info.m_InfoContextMask |= EConstructionInfoCategories.MATERIALS_PRESENCE; //material info should always be visible
1110 /*
1111 int actionMask = part.GetBuildActionTypeMask();
1112 actionMask &= ~EConstructionTools.TOOL_HANDS;
1113 if (actionMask != 0)
1114 info.m_InfoContextMask |= EConstructionInfoCategories.TOOL_PRESENCE; //tools info ONLY when also buildable by one!
1115 */
1116 info.m_InfoContextMask |= EConstructionInfoCategories.TOOL_PRESENCE; //tools info should always be visible
1117
1118 return info.CanDisplayInfo();
1119 }
1120
1121 override protected void ComposeBuildActionDataClient(PlayerBase player, ActionTarget target, ItemBase item, out ActionData action_data, Param extra_data = NULL)
1122 {
1123 ConstructionActionData cad = action_data.m_Player.GetConstructionActionData();
1124 BuildPartActionData.Cast(action_data).m_PartType = cad.GetBuildPartHandsGenericAtIndex(m_VariantID).GetPartName();
1125 }
1126
1128 override protected ConstructionPart GetTargetPart(ConstructionActionData cad)
1129 {
1131 }
1132
1134 override protected void SetBuildingAnimationEx(PlayerBase player, ActionTarget target, ItemBase item, ActionData action_data, Param extra_data = NULL)
1135 {
1136 if (item)
1137 return;
1138
1139 BuildPartActionData buildData;
1140 if (Class.CastTo(buildData, action_data))
1141 {
1142 EntityAI ent = EntityAI.Cast(action_data.m_Target.GetObject());
1143 ConstructionBase construction = ConstructionBase.Cast(ent.GetConstructionBasic());
1144 ConstructionPart part = construction.GetConstructionPart(buildData.m_PartType);
1145 int animOverrideID = part.GetHandBuildFBAnimOverride();
1146
1147 if (animOverrideID >= 0)
1148 m_CommandUID = animOverrideID;
1149 else
1150 m_CommandUID = DayZPlayerConstants.CMD_ACTIONFB_DEPLOY_2HD;
1151 }
1152 }
1153}
1154
1155// 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.