コード例 #1
0
void TemporarySummon::UnSummon(uint32 delay)
{
    if (delay > 0)
    {
        m_type = TEMPSUMMON_TIMED_OR_DEAD_DESPAWN;
        m_timer = delay;
        return;
    }

    m_isActive = false;

    CombatStop();

    if (GetSummonerGuid().IsCreatureOrVehicle())
    {
        if (Creature* sum = GetMap()->GetCreature(GetSummonerGuid()))
        {
            if (sum->AI())
                sum->AI()->SummonedCreatureDespawn(this);
        }
    }

    KillAllEvents(false);

    AddObjectToRemoveList();

    // Prevent double unsummonig before remove from world
    m_type = TEMPSUMMON_MANUAL_DESPAWN;
}
コード例 #2
0
ファイル: EventProcessor.cpp プロジェクト: ice74/PhantomCore
EventProcessor::~EventProcessor()
{
    KillAllEvents(true);
}
コード例 #3
0
ファイル: WorldObjectEvents.cpp プロジェクト: Sar777/mangos3
void WorldObjectEventProcessor::CleanupEventList()
{
    KillAllEvents(true);
    m_aborting = false;
}
コード例 #4
0
void WorldObjectEventProcessor::CleanupEventList()
{
    KillAllEvents(false);
}