Arma Reforger Explorer
1.7.0.54
Arma Reforger Code Explorer by Zeroy - Thanks to MisterOutofTime
Toggle main menu visibility
Loading...
Searching...
No Matches
SCR_RefuelTask.c
Go to the documentation of this file.
1
//[EntityEditorProps(category: "GameScripted/Campaign", description: "Refuel task.", color: "0 0 255 255")]
2
//class SCR_RefuelTaskClass: SCR_RequestedTaskClass
3
//{
4
//};
5
//
7
//class SCR_RefuelTask : SCR_RequestedTask
8
//{
9
// IEntity m_targetVehicle;
10
//
11
// //------------------------------------------------------------------------------------------------
12
// static Vehicle GetVehicleExecutorIsIn(SCR_TaskExecutor taskExecutor)
13
// {
14
// if (!taskExecutor)
15
// return null;
16
//
17
// SCR_TaskExecutorPlayer taskExecutorPlayer = SCR_TaskExecutorPlayer.Cast(taskExecutor);
18
// if (!taskExecutorPlayer)
19
// return null;
20
//
21
// int playerID = taskExecutorPlayer.GetPlayerID();
22
//
23
// ChimeraCharacter character = ChimeraCharacter.Cast(GetGame().GetPlayerManager().GetPlayerControlledEntity(playerID));
24
// if (!character)
25
// return null;
26
//
27
// if (!character.IsInVehicle())
28
// return null;
29
//
30
// CompartmentAccessComponent compartmentAccessComponent = CompartmentAccessComponent.Cast(character.FindComponent(CompartmentAccessComponent));
31
// if (!compartmentAccessComponent)
32
// return null;
33
//
34
// BaseCompartmentSlot compartmentSlot = compartmentAccessComponent.GetCompartment();
35
// if (!compartmentSlot)
36
// return null;
37
//
38
// Vehicle vehicle = Vehicle.Cast(compartmentSlot.GetOwner());
39
//
40
// return vehicle;
41
// }
42
//
43
// //------------------------------------------------------------------------------------------------
44
// static bool CheckRefuelRequestConditions(notnull SCR_TaskExecutor taskExecutor)
45
// {
46
// Vehicle vehicle = GetVehicleExecutorIsIn(taskExecutor);
47
// if (!vehicle)
48
// return false;
49
//
50
// SCR_FuelNode fuelNode = SCR_FuelNode.Cast(vehicle.FindComponent(SCR_FuelNode));
51
// if (!fuelNode)
52
// return false;
53
//
54
// float maxFuel = fuelNode.GetMaxFuel();
55
// float currentFuel = fuelNode.GetFuel();
56
// float fuelPercent = currentFuel / maxFuel;
57
//
58
// return fuelPercent <= GetFuelLimit();
59
// }
60
//
61
// //------------------------------------------------------------------------------------------------
62
// static float GetFuelLimit()
63
// {
64
// if (!GetTaskManager())
65
// return 0.5;
66
//
67
// SCR_RefuelTaskSupportEntity supportEntity = SCR_RefuelTaskSupportEntity.Cast(GetTaskManager().FindSupportEntity(SCR_RefuelTaskSupportEntity));
68
// if (supportEntity)
69
// return supportEntity.GetFuelLimit();
70
//
71
// return 0.5;
72
// }
73
//
74
// //------------------------------------------------------------------------------------------------
75
// void SetTargetVehicle(IEntity targetVehicle)
76
// {
77
// // Only set on server!
78
// m_targetVehicle = targetVehicle;
79
// }
80
//
81
// //------------------------------------------------------------------------------------------------
82
// IEntity GetTargetVehicle()
83
// {
84
// return m_targetVehicle;
85
// }
86
//
87
// //------------------------------------------------------------------------------------------------
88
// void SetRequester(SCR_TaskExecutor requester, vector startOrigin)
89
// {
90
// super.SetRequester(requester);
91
//
92
// ShowAvailableTask();
93
// }
94
//
95
// //------------------------------------------------------------------------------------------------
96
// //Called whenever any fuel component finished refueling (even half way through)
97
// void OnRefuelingFinished(SCR_FuelNode fuelNode, IEntity refueler)
98
// {
99
// if (!fuelNode || !refueler)
100
// return;
101
//
102
// IEntity vehicle = fuelNode.GetOwner();
103
// if (!vehicle)
104
// return;
105
//
106
// if (GetTargetVehicle() != vehicle)
107
// return;
108
//
109
// if (!GetTaskManager())
110
// return;
111
//
112
// SCR_BaseTaskSupportEntity supportEntity = GetTaskManager().FindSupportEntity(SCR_BaseTaskSupportEntity);
113
// if (!supportEntity)
114
// return;
115
//
116
// SCR_BaseTaskExecutor assignee = GetAssignee();
117
// if (!assignee)
118
// {
119
// supportEntity.FailTask(this);
120
// return;
121
// }
122
//
123
// IEntity assigneeControlledEntity = assignee.GetControlledEntity();
124
// if (!assigneeControlledEntity || assigneeControlledEntity != refueler)
125
// {
126
// supportEntity.FailTask(this);
127
// return;
128
// }
129
//
130
// float currentFuel, maxFuel;
131
// currentFuel = fuelNode.GetFuel();
132
// maxFuel = fuelNode.GetMaxFuel();
133
// float percent = currentFuel / maxFuel;
134
//
135
// if (percent >= SCR_RefuelTask.GetFuelLimit())
136
// supportEntity.FinishTask(this);
137
// }
138
//
139
// //------------------------------------------------------------------------------------------------
140
// void SCR_RefuelTask(IEntitySource src, IEntity parent)
141
// {
142
// if (SCR_Global.IsEditMode(this))
143
// return;
144
//
145
// SetEventMask(EntityEvent.INIT | EntityEvent.FRAME);
146
// SetFlags(EntityFlags.NO_TREE | EntityFlags.NO_LINK);
147
//
148
// SetIndividual(true);
149
//
150
// if (!GetTaskManager().IsProxy())
151
// SCR_FuelNode.s_OnRefuelingFinished.Insert(OnRefuelingFinished);
152
// }
153
//
154
// //------------------------------------------------------------------------------------------------
155
// void ~SCR_RefuelTask()
156
// {
157
// if (SCR_Global.IsEditMode(this) || !GetGame().GetGameMode())
158
// return;
159
//
160
// if (!GetTaskManager().IsProxy())
161
// SCR_FuelNode.s_OnRefuelingFinished.Remove(OnRefuelingFinished);
162
// }
163
//
164
//};
scripts
Game
Campaign
SCR_RefuelTask.c
Generated by
1.17.0