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

◆ ClearInfoData()

void ActionBuildPartHandsGeneric::ClearInfoData ( )
protected

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

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