DayZ 1.28
DayZ Explorer by KGB
 
Загрузка...
Поиск...
Не найдено
Pawn.c
См. документацию.
1#ifdef FEATURE_NETWORK_RECONCILIATION
2
4
9
13
14typedef Serializer PawnStateWriter;
15typedef Serializer PawnStateReader;
16
17typedef Serializer PawnMoveWriter;
18typedef Serializer PawnMoveReader;
19
25class PawnOwnerState
26{
27 protected void PawnOwnerState() {}
28 protected void ~PawnOwnerState() {}
29
30 proto native void SetMoveId(int value);
31 proto native int GetMoveId();
32
33 proto native int GetSimulationTimestamp();
34
35 proto native void SetPhysicsTimeStamp(int value);
36 proto native int GetPhysicsTimeStamp();
37
38 proto native void SetWaterTime(float value);
39 proto native float GetWaterTime();
40
41 protected event void Write(PawnStateWriter ctx)
42 {
43 }
44
45 protected event void Read(PawnStateReader ctx)
46 {
47 }
48
49#ifdef DIAG_DEVELOPER
50 protected event void DiagWrite(PawnStateWriter ctx)
51 {
52 }
53
54 protected event void DiagRead(PawnStateReader ctx)
55 {
56 }
57#endif
58
62 protected event int EstimateMaximumSize()
63 {
64 return 0;
65 }
66
67#ifdef DIAG_DEVELOPER
72 event void GetTransform(inout vector transform[4])
73 {
74 }
75#endif
76};
77
83class PawnMove
84{
85 protected void PawnMove() {}
86 protected void ~PawnMove() {}
87
88 proto native void SetMoveId(int value);
89 proto native int GetMoveId();
90
92 proto native void SetSimulationTimestamp(int value);
93 proto native int GetSimulationTimestamp();
94
96 proto native void SetTimeSlice(float value);
97 proto native float GetTimeSlice();
98
103 protected event void Write(PawnMoveWriter ctx, PawnMove prev)
104 {
105 }
106
111 protected event void Read(PawnMoveReader ctx, PawnMove prev)
112 {
113 }
114
118 protected event int EstimateMaximumSize()
119 {
120 return 0;
121 }
122
123#ifdef DIAG_DEVELOPER
128 event void GetTransform(inout vector transform[4])
129 {
130 }
131#endif
132};
133
138enum NetworkMoveStrategy
139{
141 NONE,
142
144 LATEST,
145
147 PHYSICS,
148};
149
154enum NetworkRewindType
155{
158 NOT_SET,
159
161 DROP,
162
164 REPLAY,
165
168};
169
174enum NetworkCompareResult
175{
177 APPROVE,
178
180 CORRECT,
181
183 FORCE_CORRECT
184};
185
191class Pawn : EntityAI
192{
194 proto native bool IsOwner();
195
197 proto native bool IsAuthority();
198
200 proto native bool IsAuthorityOwner();
201
203 proto native bool IsProxy();
204
206 proto native void ForceCorrection();
207
209 proto native PlayerIdentity GetOwnerIdentity();
210
212 proto native NetworkMoveStrategy GetNetworkMoveStrategy();
213
217 protected event void OnPossess()
218 {
219 }
220
224 protected event void OnUnPossess()
225 {
226 }
227
232 protected event typename GetOwnerStateType()
233 {
234 return PawnOwnerState;
235 }
236
241 protected event typename GetMoveType()
242 {
243 return PawnMove;
244 }
245
250 protected event void ObtainMove(/*inout*/ PawnMove pMove)
251 {
252 }
253
259 protected event NetworkCompareResult CompareMove(PawnMove pMove)
260 {
261 return NetworkCompareResult.APPROVE;
262 }
263
268 protected event void ConsumeMove(PawnMove pMove)
269 {
270 }
271
277 protected event bool ReplayMove(PawnMove pMove)
278 {
279 return true;
280 }
281
286 protected event void SimulateMove(PawnMove pMove)
287 {
288 }
289
294 protected event void ObtainState(/*inout*/ PawnOwnerState pState)
295 {
296 }
297
304 protected event void RewindState(PawnOwnerState pState, /*inout*/ PawnMove pMove, inout NetworkRewindType pRewindType)
305 {
306 }
307
313 protected event void ReplayAdditiveMove(/*inout*/ PawnMove pMove, /*const*/ PawnMove pDeltaMove)
314 {
315 }
316
321 protected event void ApplyAdditiveMove(PawnMove pDeltaMove)
322 {
323 }
324};
325
326#endif
override event void Read(PawnStateReader ctx)
Определения CarScript.c:144
override event void Write(PawnStateWriter ctx)
Определения CarScript.c:139
@ DROP
Определения EAnimSoundEventID.c:3
bool IsOwner()
Определения Hand_Events.c:60
bool IsProxy()
Определения Hand_Events.c:65
override event GetOwnerStateType()
Определения Transport.c:92
override event GetMoveType()
Определения Transport.c:98
Serialization general interface. Serializer API works with:
Определения Serializer.c:56
@ ADDITIVE
Определения EnDebug.c:137
@ NONE
No flags.
Определения EnProfiler.c:11