DayZ 1.27
DayZ Explorer by KGB
 
Загрузка...
Поиск...
Не найдено
ActionEatSnowContinuous.c
См. документацию.
2{
3 override void CreateActionComponent()
4 {
6 }
7}
8
10{
12 {
13 m_CallbackClass = ActionEatSnowContinuousCB;
14 m_CommandUID = DayZPlayerConstants.CMD_ACTIONFB_EATING_SNOW;
15 m_FullBody = true;
16 m_StanceMask = DayZPlayerConstants.STANCEMASK_CROUCH;
17 m_Text = "#eat";
18 }
19
20 override bool IsDrink()
21 {
22 return true;
23 }
24
25 override typename GetInputType()
26 {
28 }
29
31 {
32 m_ConditionItem = new CCINone();
33 m_ConditionTarget = new CCTWaterSurfaceEx(UAMaxDistances.DEFAULT,LIQUID_SNOW);
34 }
35
36 override bool ActionCondition(PlayerBase player, ActionTarget target, ItemBase item)
37 {
38 if (item && item.IsHeavyBehaviour())
39 return false;
40
41 return player.CanEatAndDrink();
42 }
43
44 override void OnStart(ActionData action_data)
45 {
46 super.OnStart(action_data);
47
48 action_data.m_Player.TryHideItemInHands(true);
49 }
50
51 override void OnEnd(ActionData action_data)
52 {
53 action_data.m_Player.TryHideItemInHands(false);
54 }
55
56 override void OnFinishProgressServer(ActionData action_data)
57 {
58 Param1<float> nacdata = Param1<float>.Cast(action_data.m_ActionComponent.GetACData());
59 if (nacdata)
60 {
61 PlayerConsumeData consumeData = new PlayerConsumeData();
62 consumeData.m_Type = EConsumeType.ENVIRO_SNOW;
64 consumeData.m_Source = null;
65 consumeData.m_Agents = action_data.m_Player.GetBloodyHandsPenaltyAgents();
66 consumeData.m_LiquidType = LIQUID_SNOW;
67
68 action_data.m_Player.Consume(consumeData);
69 }
70 }
71
72 override void WriteToContext(ParamsWriteContext ctx, ActionData action_data)
73 {
74 super.WriteToContext(ctx, action_data);
75
76 if (HasTarget())
77 {
78 ctx.Write(action_data.m_Target.GetCursorHitPos());
79 return;
80 }
81
82 ctx.Write(vector.Zero);
83 }
84
85 override bool ReadFromContext(ParamsReadContext ctx, out ActionReciveData action_recive_data)
86 {
87 super.ReadFromContext(ctx, action_recive_data);
88
89 if (HasTarget())
90 {
91 vector cursorPosition;
92 if (!ctx.Read(cursorPosition))
93 return false;
94
95 action_recive_data.m_Target.SetCursorHitPos(cursorPosition);
96 }
97
98 return true;
99 }
100}
int m_CommandUID
Определения ActionBase.c:31
int m_StanceMask
Определения ActionBase.c:33
ActionBase ActionData
Определения ActionBase.c:30
ActionEatSnowContinuousCB ActionContinuousBaseCB ActionEatSnowContinuous()
Определения ActionEatSnowContinuous.c:11
class ActionTargets ActionTarget
void CCTWaterSurfaceEx(float maximal_target_distance, int allowedLiquidSource)
Определения CCTWaterSurface.c:62
EConsumeType
Определения EConsumeType.c:2
bool IsDrink()
Определения ActionBase.c:288
bool HasTarget()
Определения ActionBase.c:244
bool ReadFromContext(ParamsReadContext ctx, out ActionReciveData action_recive_data)
Определения ActionBase.c:482
void WriteToContext(ParamsWriteContext ctx, ActionData action_data)
Определения ActionBase.c:426
void OnStart(ActionData action_data)
Определения ActionBase.c:1257
void CreateConditionComponents()
Определения ActionBase.c:230
ActionData m_ActionData
Определения AnimatedActionBase.c:3
override GetInputType()
Определения ActionContinuousBase.c:179
void OnFinishProgressServer(ActionData action_data)
Определения ActionContinuousBase.c:283
override void CreateActionComponent()
Определения ActionEatSnowContinuous.c:3
override bool ActionCondition(PlayerBase player, ActionTarget target, ItemBase item)
Определения AnimatedActionBase.c:240
Определения CCINone.c:2
Определения InventoryItem.c:731
Определения PlayerBaseClient.c:2
EConsumeType m_Type
Определения PlayerConsumeData.c:8
float m_Amount
Определения PlayerConsumeData.c:3
int m_LiquidType
Определения PlayerConsumeData.c:5
int m_Agents
Определения PlayerConsumeData.c:4
ItemBase m_Source
Определения PlayerConsumeData.c:7
proto bool Write(void value_out)
proto bool Read(void value_in)
const float DEFAULT
Определения ActionConstants.c:112
const float EAT_NORMAL
Определения ActionConstants.c:8
const float DRINK_POND
Определения ActionConstants.c:74
Определения ActionConstants.c:28
static const vector Zero
Определения EnConvert.c:110
Определения EnConvert.c:106
DayZPlayerConstants
defined in C++
Определения dayzplayer.c:602
Serializer ParamsReadContext
Определения gameplay.c:15
Serializer ParamsWriteContext
Определения gameplay.c:16
const int LIQUID_SNOW
Определения constants.c:547
void OnEnd()
Определения Sound.c:226