Dayz 1.25
Dayz Code Explorer by KGB
Загрузка...
Поиск...
Не найдено
Класс TriggerEffectManager

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

void TriggerEffectManager ()
 
void RegisterTriggerType (EffectTrigger effectTrigger)
 
void OnPlayerEnter (notnull PlayerBase player, notnull EffectTrigger trigger)
 
void OnPlayerInsideEffectAreaEnter (PlayerBase player)
 
void OnPlayerInsideEffectAreaExit (PlayerBase player)
 
void OnPlayerExit (notnull PlayerBase player, notnull EffectTrigger trigger)
 
bool IsPlayerInTriggerType (notnull PlayerBase player, notnull EffectTrigger trigger)
 

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

static void DestroyInstance ()
 
static TriggerEffectManager GetInstance ()
 

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

ref map< string, ref map< PlayerBase, int > > m_PlayerInsiderMap
 

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

static ref TriggerEffectManager m_This
 

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

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

◆ TriggerEffectManager()

void TriggerEffectManager ( )
inlineprivate
11 {
13 }
Definition EntityAI.c:95
ref map< string, ref map< PlayerBase, int > > m_PlayerInsiderMap
Definition TriggerEffectManager.c:8

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

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

Методы

◆ DestroyInstance()

static void DestroyInstance ( )
inlinestaticprivate
16 {
17 m_This = null;
18 }
static ref TriggerEffectManager m_This
Definition TriggerEffectManager.c:5

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

Используется в MissionBaseWorld::~MissionBase().

◆ GetInstance()

static TriggerEffectManager GetInstance ( )
inlinestaticprivate
22 {
23 if ( !m_This )
25
26 return m_This;
27 }
void TriggerEffectManager()
Definition TriggerEffectManager.c:10

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

Используется в ContaminatedTrigger_Dynamic() и EffectTrigger::EffectTrigger().

◆ IsPlayerInTriggerType()

bool IsPlayerInTriggerType ( notnull PlayerBase player,
notnull EffectTrigger trigger )
inlineprivate
113 {
115 if ( m_PlayerInsiderMap.Find( trigger.GetType(), playerMap ) )
116 {
117 return playerMap != null && playerMap.Contains( player );
118 }
119 return false;
120 }

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

Используется в EffectTrigger::SetupClientEffects().

◆ OnPlayerEnter()

void OnPlayerEnter ( notnull PlayerBase player,
notnull EffectTrigger trigger )
inlineprivate
42 {
43 string trigger_type = trigger.GetType();
44
47 {
48 if ( playerMap )
49 {
50 if ( playerMap.Contains( player ) )
51 {
52 int newTriggerCount = playerMap.Get( player ) + 1;
54 //Debug.Log("We increase the amount of triggers a player is in");
55 }
56 else
57 {
58 // First time this player enters this type of trigger, we set the trigger count to 1
59 playerMap.Insert( player, 1 );
60 if (trigger.GetEffectArea())
61 trigger.GetEffectArea().OnPlayerEnterServer(player, trigger);
62 //Debug.Log("We insert a player");
63 }
64
65 //m_PlayerInsiderMap.Set( trigger_type, playerMap );
66 }
67 else
68 {
69 // We didn't have the map yet, we create it and register this player in it
71 playerMap.Insert( player, 1 );
72 if (trigger.GetEffectArea())
73 trigger.GetEffectArea().OnPlayerEnterServer(player, trigger);
75 }
76 }
77 }

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

Используется в EffectTrigger::OnEnterClientEvent() и EffectTrigger::OnEnterServerEvent().

◆ OnPlayerExit()

void OnPlayerExit ( notnull PlayerBase player,
notnull EffectTrigger trigger )
inlineprivate
84 {
85 string trigger_type = trigger.GetType();
86
89 {
90 if ( playerMap.Contains( player ))
91 {
92 if( playerMap.Get( player ) > 1 )
93 {
94 //Debug.Log("We reduced the amount of triggers the player is in");
95 playerMap.Set( player, playerMap.Get( player ) - 1 );
96 }
97 else
98 {
99 // The player left the last trigger of this type they were in
100 playerMap.Remove( player );
101 if (trigger.GetEffectArea())
102 trigger.GetEffectArea().OnPlayerExitServer(player,trigger);
103 player.RemoveCurrentEffectTrigger();
104 //Debug.Log("We removed this player from this trigger type");
105 }
106 }
107 //m_PlayerInsiderMap.Set( trigger_type, playerMap );
108
109 }
110 }

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

Используется в EffectTrigger::OnLeaveClientEvent() и EffectTrigger::OnLeaveServerEvent().

◆ OnPlayerInsideEffectAreaEnter()

void OnPlayerInsideEffectAreaEnter ( PlayerBase player)
private

◆ OnPlayerInsideEffectAreaExit()

void OnPlayerInsideEffectAreaExit ( PlayerBase player)
private

◆ RegisterTriggerType()

void RegisterTriggerType ( EffectTrigger effectTrigger)
inlineprivate
30 {
31 if ( !m_PlayerInsiderMap.Contains( effectTrigger.GetType() ) )
32 {
34 m_PlayerInsiderMap.Insert( effectTrigger.GetType(), playerMap );
35
36 //Debug.Log( "We have : " + m_PlayerInsiderMap.Count() + " triggers");
37 }
38 }

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

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

Поля

◆ m_PlayerInsiderMap

◆ m_This

ref TriggerEffectManager m_This
staticprivate

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


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