15 static void DestroyInstance()
31 if ( !m_PlayerInsiderMap.Contains( effectTrigger.GetType() ) )
34 m_PlayerInsiderMap.Insert( effectTrigger.GetType(), playerMap );
43 string trigger_type = trigger.GetType();
46 if ( m_PlayerInsiderMap.Find( trigger_type, playerMap) )
50 if ( playerMap.Contains( player ) )
52 int newTriggerCount = playerMap.Get( player ) + 1;
53 playerMap.Set( player, newTriggerCount );
59 playerMap.Insert( player, 1 );
60 if (trigger.GetEffectArea())
61 trigger.GetEffectArea().OnPlayerEnterServer(player, trigger);
71 playerMap.Insert( player, 1 );
72 if (trigger.GetEffectArea())
73 trigger.GetEffectArea().OnPlayerEnterServer(player, trigger);
74 m_PlayerInsiderMap.Insert( trigger_type, playerMap );
79 void OnPlayerInsideEffectAreaEnter(
PlayerBase player);
80 void OnPlayerInsideEffectAreaExit(
PlayerBase player);
85 string trigger_type = trigger.GetType();
88 if ( m_PlayerInsiderMap.Find( trigger_type, playerMap ) && playerMap )
90 if ( playerMap.Contains( player ))
92 if( playerMap.Get( player ) > 1 )
95 playerMap.Set( player, playerMap.Get( player ) - 1 );
100 playerMap.Remove( player );
101 if (trigger.GetEffectArea())
102 trigger.GetEffectArea().OnPlayerExitServer(player,trigger);
103 player.RemoveCurrentEffectTrigger();
115 if ( m_PlayerInsiderMap.Find( trigger.GetType(), playerMap ) )
117 return playerMap !=
null && playerMap.Contains( player );