DayZ 1.30
DayZ Explorer by KGB
 
Загрузка...
Поиск...
Не найдено
ActionPickUpBricks.c
См. документацию.
2{
3 ItemBase m_LastBricksPile; //locally used on server only
4}
5
6class ActionPickUpBricksCB : ActionContinuousBaseCB
7{
8 static const float TIME_HANDS = 1.5;
9
10 override void CreateActionComponent()
11 {
12 m_ActionData.m_ActionComponent = new CAContinuousRepeat(TIME_HANDS);
13 }
14};
15
17{
18 static const int YIELD = 3;
19
21 {
22 m_CallbackClass = ActionPickUpBricksCB;
23 m_CommandUID = DayZPlayerConstants.CMD_ACTIONFB_BRICKSTACK;
24 m_FullBody = true;
25 m_StanceMask = DayZPlayerConstants.STANCEMASK_ERECT;
26 m_Text = "#pick_bricks";
27 m_LockTargetOnUse = false;
28 }
29
35
36 override bool ActionCondition( PlayerBase player, ActionTarget target, ItemBase item)
37 {
38 Object target_O = target.GetObject();
39
40 if (target_O.IsInherited(PileOfBricks))
41 {
42 return true;
43 }
44
45 return false;
46 }
47
49 {
51 return action_data;
52 }
53
54 override void OnFinishProgressServer( ActionData action_data )
55 {
56 PickUpBricksActionData pickUpBricksData = PickUpBricksActionData.Cast(action_data);
57
58 PileOfBricks item_POWP = PileOfBricks.Cast( pickUpBricksData.m_Target.GetObject() );
59 item_POWP.RemoveBricks(YIELD);
60
61 if (!pickUpBricksData.m_LastBricksPile)
62 {
63 SpawnNewCommonBrick(pickUpBricksData,YIELD);
64 }
65 else if ((pickUpBricksData.m_LastBricksPile.GetQuantity() + YIELD) >= pickUpBricksData.m_LastBricksPile.GetQuantityMax())
66 {
67 int remnant = pickUpBricksData.m_LastBricksPile.GetQuantity() + YIELD - pickUpBricksData.m_LastBricksPile.GetQuantityMax();
68 pickUpBricksData.m_LastBricksPile.SetQuantity(pickUpBricksData.m_LastBricksPile.GetQuantityMax());
69
70 if (remnant > 0)
71 SpawnNewCommonBrick(pickUpBricksData,remnant);
72 }
73 else
74 {
75 pickUpBricksData.m_LastBricksPile.AddQuantity(YIELD);
76 }
77 }
78
79 protected void SpawnNewCommonBrick(PickUpBricksActionData data, float quantity)
80 {
81 ItemBase bricksNewResult = ItemBase.Cast(data.m_Player.SpawnEntityOnGroundRaycastDispersed("CommonBrick",UAItemsSpreadRadius.VERY_NARROW));
82 bricksNewResult.SetQuantity(quantity);
83 data.m_LastBricksPile = bricksNewResult;
84 }
85};
bool m_FullBody
Определения ActionBase.c:60
string m_Text
Определения ActionBase.c:57
bool m_LockTargetOnUse
Определения ActionBase.c:59
ref CCIBase m_ConditionItem
Определения ActionBase.c:63
ref CCTBase m_ConditionTarget
Определения ActionBase.c:64
int m_StanceMask
Определения ActionBase.c:61
PickUpBricksActionData TIME_HANDS
void ActionTarget(Object object, Object parent, int componentIndex, vector cursorHitPos, float utility, string surfaceName="")
Определения ActionTargets.c:125
void CreateActionComponent()
Определения AnimatedActionBase.c:63
void ActionContinuousBase()
Определения ActionContinuousBase.c:124
PlayerBase m_Player
Определения ActionBase.c:40
ref ActionTarget m_Target
Определения ActionBase.c:39
void ActionData()
Определения ActionBase.c:23
Определения ActionBase.c:22
static const int YIELD
Определения ActionPickUpBricks.c:18
void SpawnNewCommonBrick(PickUpBricksActionData data, float quantity)
Определения ActionPickUpBricks.c:79
override void OnFinishProgressServer(ActionData action_data)
Определения ActionPickUpBricks.c:54
override ActionData CreateActionData()
Определения ActionPickUpBricks.c:48
override bool ActionCondition(PlayerBase player, ActionTarget target, ItemBase item)
Определения ActionPickUpBricks.c:36
override void CreateConditionComponents()
Определения ActionPickUpBricks.c:30
void ActionPickUpBricks()
Определения ActionPickUpBricks.c:20
int m_CommandUID
Определения AnimatedActionBase.c:147
Определения CCINotPresent.c:2
Определения CCTNonRuined.c:2
override bool SetQuantity(float value, bool destroy_config=true, bool destroy_forced=false, bool allow_client=false, bool clamp_to_stack_max=true)
Определения PileOfBricks.c:64
Определения ObjectTyped.c:2
ItemBase m_LastBricksPile
Определения ActionPickUpBricks.c:3
Определения PlayerBaseClient.c:2
const float VERY_NARROW
Определения ActionConstants.c:129
const float DEFAULT
Определения ActionConstants.c:114
DayZPlayerConstants
defined in C++
Определения dayzplayer.c:602