DayZ 1.27
DayZ Explorer by KGB
 
Загрузка...
Поиск...
Не найдено

◆ GetRequester() [2/2]

static PPERequesterBase PPERequesterRegistrations::GetRequester ( typename type )
staticprivate

Returns an instance (singleton) of a requester based on typename.

Аргументы
typetypename Typename of the requester.
Возвращает
PPERequesterBase Requester singleton.
Заметки
Returns only already registered instances, does not register anything.

См. определение в файле PPERequesterBank.c строка 302

306{
308 private static bool m_Initialized = false;
309
310 static int m_lastID = -1;
311
312 static const int INVALID = -1;
313 static const int REQ_INVENTORYBLUR = RegisterRequester(PPERequester_InventoryBlur);
314 static const int REQ_CONTROLLERDISCONNECT = RegisterRequester(PPERequester_ControllerDisconnectBlur);
315 static const int REQ_GLASSESSPORTBLACK = RegisterRequester(PPERequester_GlassesSportBlack);
316 static const int REQ_GLASSESSPORTBLUE = RegisterRequester(PPERequester_GlassesSportBlue);
317 static const int REQ_GLASSESSPORTGREEN = RegisterRequester(PPERequester_GlassesSportGreen);
318 static const int REQ_GLASSESSPORTORANGE = RegisterRequester(PPERequester_GlassesSportOrange);
319 static const int REQ_GLASSESAVIATOR = RegisterRequester(PPERequester_GlassesAviator);
320 static const int REQ_GLASSESDESIGNER = RegisterRequester(PPERequester_GlassesDesignerBlack);
321 static const int REQ_GLASSESTACTICAL = RegisterRequester(PPERequester_TacticalGoggles);
322 static const int REQ_MOTOHELMETBLACK = RegisterRequester(PPERequester_MotoHelmetBlack);
323 static const int REQ_GLASSESWELDING = RegisterRequester(PPERequester_WeldingMask);
324 static const int REQ_CAMERANV = RegisterRequester(PPERequester_CameraNV);
325 static const int REQ_CAMERAADS = RegisterRequester(PPERequester_CameraADS);
326 static const int REQ_BLOODLOSS = RegisterRequester(PPERequester_BloodLoss);
327 static const int REQ_DEATHEFFECTS = RegisterRequester(PPERequester_DeathDarkening);
328 static const int REQ_UNCONEFFECTS = RegisterRequester(PPERequester_UnconEffects);
329 static const int REQ_TUNELVISSION = RegisterRequester(PPERequester_TunnelVisionEffects);
330 static const int REQ_BURLAPSACK = RegisterRequester(PPERequester_BurlapSackEffects);
331 static const int REQ_INTROCHROMABB = RegisterRequester(PPERequester_IntroChromAbb);
332 static const int REQ_FEVEREFFECTS = RegisterRequester(PPERequester_FeverEffects);
333 static const int REQ_FLASHBANGEFFECTS = RegisterRequester(PPERequester_FlashbangEffects);
334 static const int REQ_SHOCKHITEFFECTS = RegisterRequester(PPERequester_ShockHitReaction);
335 static const int REQ_HEALTHHITEFFECTS = RegisterRequester(PPERequester_HealthHitReaction);
336 static const int REQ_MENUEFFECTS = RegisterRequester(PPERequester_MenuEffects);
337 static const int REQ_CONTROLLERBLUR = RegisterRequester(PPERequester_ControlsBlur);
338 static const int REQ_SERVERBROWSEREFFECTS = RegisterRequester(PPERequester_ServerBrowserBlur);
339 static const int REQ_TUTORIALEFFECTS = RegisterRequester(PPERequester_TutorialMenu);
340 static const int REQ_CONTAMINATEDAREA = RegisterRequester(PPERequester_ContaminatedAreaTint);
341 static const int REQ_SPOOKYAREA = RegisterRequester(PPERequester_SpookyAreaTint);
342 static const int REQ_PAINBLUR = RegisterRequester(PPERequester_PainBlur);
343 static const int REQ_UNDERGROUND = RegisterRequester(PPERUndergroundAcco);
344 static const int REQ_DROWNING = RegisterRequester(PPERequester_Drowning);
345 //static const int REQ_HMP_LVL3 = RegisterRequester(PPERequester_HeavyMetalPoisoning_3);
346 static const int REQ_HMP_GHOST = RegisterRequester(PPERequester_HMPGhosts);
347 static const int REQ_LATENCYBLUR = RegisterRequester(PPERequester_LatencyBlur);
348 static const int REQ_FEEDBACKBLUR = RegisterRequester(PPERequester_FeedbackBlur);
349
350 private static ref PPERequesterRegistrations m_Registrations; //more registrations to be placed here
351
352 static void Init()
353 {
355
356 if (!m_Instances)
358
359 m_Initialized = true;
360 }
361
362 static void Cleanup()
363 {
364 if (m_Initialized)
365 {
366 delete m_Registrations;
367 m_Instances.Clear();
368 }
369 }
370
377 static PPERequesterBase GetRequester(typename type)
378 {
379 if (!type)
380 {
381 Error("Requested type is NULL!");
382 return null;
383 }
384
385 PPERequesterBase temp;
387 for (int i = 0; i < m_Instances.Count(); i++)
388 {
389 temp = m_Instances.GetElement(i);
390 if (temp.Type() == type)
391 {
392 Class.CastTo(ret,temp);
393 break;
394 }
395 }
396
397 if (!ret)
398 {
399 Debug.Log("'" + type.ToString() + "' not found in bank! Register first in 'RegisterRequester' method.");
400 }
401 return ret;
402 }
403
410 static PPERequesterBase GetRequester(int index)
411 {
412 PPERequesterBase ret = m_Instances.Get(index);
413
414 if (!ret)
415 {
416 Debug.Log("Requester idx '" + index + "' not found in bank! Register first in 'RegisterRequester' method.");
417 }
418 return ret;
419 }
420
427 static int GetRequesterID(typename type)
428 {
429 int ret = -1;
430 PPERequesterBase temp;
431
432 for (int i = 0; i < m_Instances.Count(); i++)
433 {
434 temp = m_Instances.GetElement(i);
435 if (temp.Type() == type)
436 {
437 ret = m_Instances.GetKey(i);
438 }
439 }
440
441 if ( ret == -1 )
442 {
443 Debug.Log("Requester instance of the '" + type.ToString() + "' type not found in bank! Register first in 'RegisterRequester' method.");
444 }
445 return ret;
446 }
447
453 static typename GetRequesterTypename(int index)
454 {
455 typename ret;
456 PPERequesterBase temp = m_Instances.Get(index);
457 if ( !temp )
458 {
459 Debug.Log("No requester exists under idx '" + index + "' in bank! Register first in 'RegisterRequester' method.");
460 }
461 else
462 {
463 ret = temp.Type();
464 }
465
466 return ret;
467 }
468
473 static int RegisterRequester(typename type)
474 {
475 if (!m_Instances)
477
478 if ( GetRequester(type) != null )
479 {
480 //Error("Trying to register an already existing requester type: " + type);
481 Debug.Log("Trying to register an already existing requester type: " + type);
482 return -1;
483 }
484
485 m_lastID++;
486
488 req = PPERequesterBase.Cast(type.Spawn());
490 m_Instances.Set(m_lastID,req);
491
492 return m_lastID;
493 }
494
496 static bool VerifyRequester(PPERequesterBase req)
497 {
498 if (!m_Initialized) //initial registrations are fair game
499 {
500 return true;
501 }
502
503 PPERequesterBase temp;
504 for (int i = 0; i < m_Instances.Count(); i++)
505 {
506 temp = m_Instances.GetElement(i);
507 if (temp == req)
508 {
509 return true;
510 }
511 }
512
513 //Error("Requester instance " + req + " not valid! Please use registered instances from PPERequesterBank.");
514 Debug.Log("Requester instance '" + req + "' not valid! Please use registered instances from PPERequesterBank.");
515 return false;
516 }
517
518 /*static void DumpInstances()
519 {
520 Print("DumpInstances");
521 for (int i = 0; i < m_Instances.Count(); i++)
522 {
523 Print(m_Instances.GetKey(i));
524 Print(m_Instances.GetElement(i));
525 }
526 }*/
527}
528
531{
533 {
535 }
536
537 protected void RegisterAdditionalRequesters()
538 {
539 //PPERequesterBank.RegisterRequester(TestReq);
540 }
541}
542
543/*modded class PPERequesterRegistrations extends Managed
544{
545 override protected void RegisterAdditionalRequesters()
546 {
547 PPERequesterBank.RegisterRequester(TestReq2);
548 }
549}
map
Определения ControlsXboxNew.c:4
static const int REQ_HEALTHHITEFFECTS
Определения PPERequesterBank.c:260
static const int REQ_GLASSESTACTICAL
Определения PPERequesterBank.c:246
static const int REQ_CONTROLLERDISCONNECT
Определения PPERequesterBank.c:239
static const int REQ_LATENCYBLUR
Определения PPERequesterBank.c:272
static const int REQ_GLASSESSPORTBLACK
Определения PPERequesterBank.c:240
void RegisterAdditionalRequesters()
Определения PPERequesterBank.c:236
static ref map< int, ref PPERequesterBase > m_Instances
Определения PPERequesterBank.c:232
static const int REQ_FEEDBACKBLUR
Определения PPERequesterBank.c:273
static const int REQ_INTROCHROMABB
Определения PPERequesterBank.c:256
static const int REQ_CONTROLLERBLUR
Определения PPERequesterBank.c:262
static const int REQ_GLASSESDESIGNER
Определения PPERequesterBank.c:245
class PPERequesterBank extends Managed PPERequesterRegistrations()
Mod this, if you wish to register custom requesters inside 'RegisterAdditionalRequesters' override.
Определения PPERequesterBank.c:231
static const int REQ_BURLAPSACK
Определения PPERequesterBank.c:255
static const int REQ_INVENTORYBLUR
Определения PPERequesterBank.c:238
static const int REQ_CONTAMINATEDAREA
Определения PPERequesterBank.c:265
static const int REQ_GLASSESAVIATOR
Определения PPERequesterBank.c:244
static const int REQ_MOTOHELMETBLACK
Определения PPERequesterBank.c:247
static bool VerifyRequester(PPERequesterBase req)
Verifies the instance.
Определения PPERequesterBank.c:421
static int m_lastID
Определения PPERequesterBank.c:235
static const int REQ_GLASSESSPORTORANGE
Определения PPERequesterBank.c:243
static const int REQ_CAMERANV
Определения PPERequesterBank.c:249
static const int REQ_SHOCKHITEFFECTS
Определения PPERequesterBank.c:259
static const int REQ_FEVEREFFECTS
Определения PPERequesterBank.c:257
static int RegisterRequester(typename type)
Registers new requester type.
Определения PPERequesterBank.c:398
static void Init()
Определения PPERequesterBank.c:277
static const int REQ_DROWNING
Определения PPERequesterBank.c:269
static int GetRequesterID(typename type)
Returns an ID of a requester type.
Определения PPERequesterBank.c:352
static const int REQ_TUTORIALEFFECTS
Определения PPERequesterBank.c:264
static ref PPERequesterRegistrations m_Registrations
Определения PPERequesterBank.c:275
static const int REQ_DEATHEFFECTS
Определения PPERequesterBank.c:252
static GetRequesterTypename(int index)
Returns a typename from a requester ID.
Определения PPERequesterBank.c:378
static const int REQ_UNCONEFFECTS
Определения PPERequesterBank.c:253
static const int REQ_TUNELVISSION
Определения PPERequesterBank.c:254
static const int REQ_BLOODLOSS
Определения PPERequesterBank.c:251
static const int REQ_HMP_GHOST
Определения PPERequesterBank.c:271
static const int REQ_GLASSESWELDING
Определения PPERequesterBank.c:248
static const int REQ_PAINBLUR
Определения PPERequesterBank.c:267
static void Cleanup()
Определения PPERequesterBank.c:287
static const int REQ_FLASHBANGEFFECTS
Определения PPERequesterBank.c:258
static const int REQ_CAMERAADS
Определения PPERequesterBank.c:250
static const int REQ_MENUEFFECTS
Определения PPERequesterBank.c:261
static const int REQ_UNDERGROUND
Определения PPERequesterBank.c:268
static const int REQ_GLASSESSPORTBLUE
Определения PPERequesterBank.c:241
static const int REQ_SERVERBROWSEREFFECTS
Определения PPERequesterBank.c:263
static const int REQ_GLASSESSPORTGREEN
Определения PPERequesterBank.c:242
static const int REQ_SPOOKYAREA
Определения PPERequesterBank.c:266
bool m_Initialized
Определения UiHintPanel.c:317
PPERUndergroundAcco GetRequester()
Определения UndergroundHandlerClient.c:55
Super root of all classes in Enforce script.
Определения EnScript.c:11
static void Log(string message=LOG_DEFAULT, string plugin=LOG_DEFAULT, string author=LOG_DEFAULT, string label=LOG_DEFAULT, string entity=LOG_DEFAULT)
Prints debug message with normal prio.
Определения Debug.c:122
Определения Debug.c:2
TODO doc.
Определения EnScript.c:118
void SetRequesterIDX(int idx)
automatically assigned by PPERequesterBank
Определения PPERequestPlatformsBase.c:59
void Error(string err)
Messagebox with error message.
Определения EnDebug.c:90
static proto bool CastTo(out Class to, Class from)
Try to safely down-cast base class to child class.
@ INVALID
Invalid file.
Определения EnSystem.c:510