Dayz 1.25
Dayz Code Explorer by KGB
Загрузка...
Поиск...
Не найдено
Класс PMTPlayback
+ Граф наследования:PMTPlayback:

Закрытые члены

void PMTPlayback ()
 
TFResult TestOnePlaying ()
 
TFResult TestOnePlayingStandAloneAutoDestroy ()
 
TFResult TestOnePlayingStandAlone ()
 
TFResult TestWiggleStress ()
 
TFResult TestStopping ()
 
TFResult CheckOnePlaying ()
 
TFResult CheckOnePlayingSAAD ()
 
TFResult CheckOnePlayingSA ()
 
TFResult CheckStop (float dt)
 
void PassOnePlaying (ParticleSource p)
 
void OnePlayingSAADEnded (ParticleSource p)
 
void OnePlayingSAEnded (ParticleSource p)
 
void StopEnded (ParticleSource p)
 
- Закрытые члены унаследованные от PMTF
void PrintPMStats (notnull ParticleManager pm)
 
void PrintActiveStats ()
 
ParticleManager CreatePMFixedBlocking (int size)
 

Закрытые данные

ref array< ParticleSourcem_ParticleSources = new array<ParticleSource>()
 
int m_OnePlayingManagerID
 
bool m_bOnePlayingTestSuccess = false
 
int m_OnePlayingSAADPSID
 
bool m_bOnePlayingSAADEnded = false
 
int m_OnePlayingSAPSID
 
bool m_bOnePlayingSAEnded = false
 
int m_StopPSID
 
float m_StopAccumulatedTime
 
bool m_bStopWasStopped = false
 
bool m_bStopWasResumed = false
 
bool m_bStopEnded = false
 

Закрытые статические данные

static const float STOP_ACCUMULATED_TIME_STOP_CUTOFF = 2
 
static const float STOP_ACCUMULATED_TIME_PLAY_CUTOFF = 3
 

Подробное описание

Конструктор(ы)

◆ PMTPlayback()

void PMTPlayback ( )
inlineprivate
30 {
31 //AddInitTest("TestOnePlaying");
32 //AddInitTest("TestOnePlayingStandAloneAutoDestroy");
33 //AddInitTest("TestOnePlayingStandAlone");
34 //AddInitTest("TestWiggleStress");
35 AddInitTest("TestStopping");
36 }
void AddInitTest(string test)
Definition TestFramework.c:249

Перекрестные ссылки AddInitTest().

Методы

◆ CheckOnePlaying()

TFResult CheckOnePlaying ( )
inlineprivate
124 {
127 {
128 if (pm)
129 {
130 ParticleSource p = pm.GetParticle(0);
131 if (p.IsParticlePlaying())
132 {
133 return NTFR(TFR.PENDING);
134 }
135 else
136 {
138 }
139 }
140 else
141 {
142 return BTFR(Assert(false));
143 }
144 }
145 else
146 {
147 return BTFR(Assert(false));
148 }
149 }
void ParticleManager(ParticleManagerSettings settings)
Constructor (ctor)
Definition ParticleManager.c:84
TFResult NTFR(TFR result)
Definition TestFramework.c:273
bool Assert(bool condition)
Definition TestFramework.c:262
TFR
Definition TestFramework.c:2
TFResult BTFR(bool result)
Definition TestFramework.c:278
bool GetManager(int id, out ParticleManager pm)
Definition PMTF.c:17
bool m_bOnePlayingTestSuccess
Definition PMTPlayback.c:7
int m_OnePlayingManagerID
Definition PMTPlayback.c:6
Definition EntityAI.c:95
Entity which has the particle instance as an ObjectComponent.
Definition ParticleSource.c:124

Перекрестные ссылки Assert(), BTFR(), PMTF::GetManager(), m_bOnePlayingTestSuccess, m_OnePlayingManagerID, NTFR() и ParticleManager().

◆ CheckOnePlayingSA()

TFResult CheckOnePlayingSA ( )
inlineprivate
191 {
192 if (m_ParticleSources.IsValidIndex(m_OnePlayingSAPSID))
193 {
195 if (p)
196 {
197 if (p.IsParticlePlaying())
198 {
199 return NTFR(TFR.PENDING);
200 }
201 else
202 {
203 // Clean up the Particle, no leaking from tests!
204 GetGame().ObjectDelete(p);
205 // Make sure the particle ended, if it did, then success!
207 }
208 }
209 else
210 {
211 // It should not be gone, no autodestroy
212 return BTFR(Assert(false));
213 }
214 }
215 else
216 {
217 return BTFR(Assert(false));
218 }
219 }
bool m_bOnePlayingSAEnded
Definition PMTPlayback.c:15
int m_OnePlayingSAPSID
Definition PMTPlayback.c:14
ref array< ParticleSource > m_ParticleSources
Definition PMTPlayback.c:3
proto native CGame GetGame()

Перекрестные ссылки Assert(), BTFR(), GetGame(), m_bOnePlayingSAEnded, m_OnePlayingSAPSID, m_ParticleSources и NTFR().

◆ CheckOnePlayingSAAD()

TFResult CheckOnePlayingSAAD ( )
inlineprivate
153 {
154 if (m_ParticleSources.IsValidIndex(m_OnePlayingSAADPSID))
155 {
157 if (p)
158 {
159 if (p.IsParticlePlaying())
160 {
161 return NTFR(TFR.PENDING);
162 }
163 else
164 {
166 {
167 // There might be one frame where it is still alive before getting cleaned up
168 return NTFR(TFR.PENDING);
169 }
170 else
171 {
172 // Should be gone when no longer playing
173 return BTFR(Assert(false));
174 }
175 }
176 }
177 else
178 {
179 // Make sure the particle ended, if it did, then success!
181 }
182 }
183 else
184 {
185 return BTFR(Assert(false));
186 }
187 }
bool m_bOnePlayingSAADEnded
Definition PMTPlayback.c:11
int m_OnePlayingSAADPSID
Definition PMTPlayback.c:10

Перекрестные ссылки Assert(), BTFR(), m_bOnePlayingSAADEnded, m_OnePlayingSAADPSID, m_ParticleSources и NTFR().

◆ CheckStop()

TFResult CheckStop ( float dt)
inlineprivate
223 {
225
226 if (m_ParticleSources.IsValidIndex(m_StopPSID))
227 {
229 if (p)
230 {
231 if (p.IsParticlePlaying())
232 {
234 {
235 p.StopParticle();
237 m_bStopWasStopped = true;
238 }
239
240 return NTFR(TFR.PENDING);
241 }
242 else
243 {
244 // Means it was stopped before it was supposed to
245 // Possibly because particle length is shorter than STOP_ACCUMULATED_TIME_CUTOFF
247 {
248 return BTFR(false);
249 }
251 {
252 p.PlayParticle();
253 m_bStopWasResumed = true;
254 }
255 else if (m_bStopEnded)
256 {
257 // Clean up the Particle, no leaking from tests!
258 GetGame().ObjectDelete(p);
259 return BTFR(true);
260 }
261
262 return NTFR(TFR.PENDING);
263 }
264 }
265 else
266 {
267 // It should not be gone, no autodestroy
268 return BTFR(Assert(false));
269 }
270 }
271 else
272 {
273 return BTFR(Assert(false));
274 }
275 }
static const float STOP_ACCUMULATED_TIME_PLAY_CUTOFF
Definition PMTPlayback.c:21
static const float STOP_ACCUMULATED_TIME_STOP_CUTOFF
Definition PMTPlayback.c:20
bool m_bStopWasStopped
Definition PMTPlayback.c:22
bool m_bStopWasResumed
Definition PMTPlayback.c:23
float m_StopAccumulatedTime
Definition PMTPlayback.c:19
bool m_bStopEnded
Definition PMTPlayback.c:24
int m_StopPSID
Definition PMTPlayback.c:18

Перекрестные ссылки Assert(), BTFR(), GetGame(), m_bStopEnded, m_bStopWasResumed, m_bStopWasStopped, m_ParticleSources, m_StopAccumulatedTime, m_StopPSID, NTFR(), STOP_ACCUMULATED_TIME_PLAY_CUTOFF и STOP_ACCUMULATED_TIME_STOP_CUTOFF.

◆ OnePlayingSAADEnded()

void OnePlayingSAADEnded ( ParticleSource p)
inlineprivate
289 {
291 }

Перекрестные ссылки m_bOnePlayingSAADEnded.

Используется в TestOnePlayingStandAloneAutoDestroy().

◆ OnePlayingSAEnded()

void OnePlayingSAEnded ( ParticleSource p)
inlineprivate
295 {
297 }

Перекрестные ссылки m_bOnePlayingSAEnded.

Используется в TestOnePlayingStandAlone().

◆ PassOnePlaying()

void PassOnePlaying ( ParticleSource p)
inlineprivate
281 {
283 }

Перекрестные ссылки m_bOnePlayingTestSuccess.

Используется в TestOnePlaying().

◆ StopEnded()

void StopEnded ( ParticleSource p)
inlineprivate
301 {
302 m_bStopEnded = true;
303 }

Перекрестные ссылки m_bStopEnded.

Используется в TestStopping().

◆ TestOnePlaying()

TFResult TestOnePlaying ( )
inlineprivate
43 {
46
47 DayZPlayer player = GetGame().GetPlayer();
48
49 ParticleSource p = pm.CreateParticleById(ParticleList.EXPLOSION_LANDMINE, new ParticleProperties(player.GetPosition() + player.GetDirection() * 3, true));
50 p.GetEvents().Event_OnParticleEnd.Insert(PassOnePlaying);
51
52 AddFrameTest("CheckOnePlaying");
53
54 return BTFR(p.IsParticlePlaying());
55 }
void AddFrameTest(string test)
Definition TestFramework.c:254
Definition DayZPlayerImplement.c:111
int InsertManager(ParticleManager pm)
Definition PMTF.c:9
ParticleManager CreatePMFixedBlocking(int size)
Definition PMTF.c:42
void PassOnePlaying(ParticleSource p)
Definition PMTPlayback.c:280
Definition ParticleList.c:12
static const int EXPLOSION_LANDMINE
Definition ParticleList.c:249

Перекрестные ссылки AddFrameTest(), BTFR(), PMTF::CreatePMFixedBlocking(), ParticleList::EXPLOSION_LANDMINE, GetGame(), PMTF::InsertManager(), m_OnePlayingManagerID, ParticleManager() и PassOnePlaying().

◆ TestOnePlayingStandAlone()

TFResult TestOnePlayingStandAlone ( )
inlineprivate
76 {
77 DayZPlayer player = GetGame().GetPlayer();
78
79 ParticleSource p = ParticleSource.CreateParticle(ParticleList.EXPLOSION_LANDMINE, player.GetPosition() + player.GetDirection() * 3 - player.GetDirectionAside() * 3, true);
80 p.GetEvents().Event_OnParticleEnd.Insert(OnePlayingSAEnded);
81 p.DisableAutoDestroy();
82
84
85 AddFrameTest("CheckOnePlayingSA");
86
87 return BTFR(p.IsParticlePlaying());
88 }
void OnePlayingSAEnded(ParticleSource p)
Definition PMTPlayback.c:294
static ParticleSource CreateParticle(int id, vector pos, bool playOnCreation=false, Object parent=null, vector ori=vector.Zero, bool forceWorldRotation=false, Class owner=null)
Create function.
Definition ParticleSource.c:178

Перекрестные ссылки AddFrameTest(), BTFR(), ParticleSource::CreateParticle(), ParticleList::EXPLOSION_LANDMINE, GetGame(), m_OnePlayingSAPSID, m_ParticleSources и OnePlayingSAEnded().

◆ TestOnePlayingStandAloneAutoDestroy()

TFResult TestOnePlayingStandAloneAutoDestroy ( )
inlineprivate
60 {
61 DayZPlayer player = GetGame().GetPlayer();
62
63 ParticleSource p = ParticleSource.CreateParticle(ParticleList.EXPLOSION_LANDMINE, player.GetPosition() + player.GetDirection() * 3 + player.GetDirectionAside() * 3, true);
64 p.GetEvents().Event_OnParticleEnd.Insert(OnePlayingSAADEnded);
65
67
68 AddFrameTest("CheckOnePlayingSAAD");
69
70 return BTFR(p.IsParticlePlaying());
71 }
void OnePlayingSAADEnded(ParticleSource p)
Definition PMTPlayback.c:288

Перекрестные ссылки AddFrameTest(), BTFR(), ParticleSource::CreateParticle(), ParticleList::EXPLOSION_LANDMINE, GetGame(), m_OnePlayingSAADPSID, m_ParticleSources и OnePlayingSAADEnded().

◆ TestStopping()

TFResult TestStopping ( )
inlineprivate
105 {
106 DayZPlayer player = GetGame().GetPlayer();
107
108 //ParticleSource p = ParticleSource.CreateParticle(ParticleList.EXPLOSION_LANDMINE, player.GetPosition() + player.GetDirection() * 4, true);
110 p.GetEvents().Event_OnParticleEnd.Insert(StopEnded);
111 p.DisableAutoDestroy();
112
114
115 AddFrameTest("CheckStop");
116
117 return BTFR(p.IsParticlePlaying());
118 }
void StopEnded(ParticleSource p)
Definition PMTPlayback.c:300
Definition EnConvert.c:106
static const vector Zero
Definition EnConvert.c:110

Перекрестные ссылки AddFrameTest(), BTFR(), ParticleSource::CreateParticle(), ParticleList::EXPLOSION_LANDMINE, GetGame(), m_ParticleSources, m_StopPSID, StopEnded() и vector::Zero.

◆ TestWiggleStress()

TFResult TestWiggleStress ( )
inlineprivate
93 {
94 DayZPlayer player = GetGame().GetPlayer();
95
97 p.SetWiggle(90, 0.1);
98
99 return BTFR(p.IsParticlePlaying());
100 }
static const int ROADFLARE_BURNING_MAIN
Definition ParticleList.c:83

Перекрестные ссылки BTFR(), ParticleSource::CreateParticle(), GetGame() и ParticleList::ROADFLARE_BURNING_MAIN.

Поля

◆ m_bOnePlayingSAADEnded

bool m_bOnePlayingSAADEnded = false
private

Используется в CheckOnePlayingSAAD() и OnePlayingSAADEnded().

◆ m_bOnePlayingSAEnded

bool m_bOnePlayingSAEnded = false
private

Используется в CheckOnePlayingSA() и OnePlayingSAEnded().

◆ m_bOnePlayingTestSuccess

bool m_bOnePlayingTestSuccess = false
private

Используется в CheckOnePlaying() и PassOnePlaying().

◆ m_bStopEnded

bool m_bStopEnded = false
private

Используется в CheckStop() и StopEnded().

◆ m_bStopWasResumed

bool m_bStopWasResumed = false
private

Используется в CheckStop().

◆ m_bStopWasStopped

bool m_bStopWasStopped = false
private

Используется в CheckStop().

◆ m_OnePlayingManagerID

int m_OnePlayingManagerID
private

Используется в CheckOnePlaying() и TestOnePlaying().

◆ m_OnePlayingSAADPSID

int m_OnePlayingSAADPSID
private

◆ m_OnePlayingSAPSID

int m_OnePlayingSAPSID
private

Используется в CheckOnePlayingSA() и TestOnePlayingStandAlone().

◆ m_ParticleSources

◆ m_StopAccumulatedTime

float m_StopAccumulatedTime
private

Используется в CheckStop().

◆ m_StopPSID

int m_StopPSID
private

Используется в CheckStop() и TestStopping().

◆ STOP_ACCUMULATED_TIME_PLAY_CUTOFF

const float STOP_ACCUMULATED_TIME_PLAY_CUTOFF = 3
staticprivate

Используется в CheckStop().

◆ STOP_ACCUMULATED_TIME_STOP_CUTOFF

const float STOP_ACCUMULATED_TIME_STOP_CUTOFF = 2
staticprivate

Используется в CheckStop().


Объявления и описания членов класса находятся в файле: