当前位置: 首页>>代码示例>>C++>>正文


C++ CInstance::CharListEmpty方法代码示例

本文整理汇总了C++中CInstance::CharListEmpty方法的典型用法代码示例。如果您正苦于以下问题:C++ CInstance::CharListEmpty方法的具体用法?C++ CInstance::CharListEmpty怎么用?C++ CInstance::CharListEmpty使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在CInstance的用法示例。


在下文中一共展示了CInstance::CharListEmpty方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。

示例1: DecreaseZoneCounter

void CZoneInstance::DecreaseZoneCounter(CCharEntity* PChar)
{
    CInstance* instance = PChar->PInstance;

    if (instance)
    {
        instance->DecreaseZoneCounter(PChar);
        instance->DespawnPC(PChar);
        CharZoneOut(PChar);
        PChar->StatusEffectContainer->DelStatusEffectSilent(EFFECT_LEVEL_RESTRICTION);
        PChar->PInstance = nullptr;

        if (instance->CharListEmpty())
        {
            if (instance->Failed() || instance->Completed())
            {
                instanceList.erase(std::find(instanceList.begin(), instanceList.end(), instance));
                delete instance;
            }
            else
            {
                instance->SetWipeTime(server_clock::now());
            }
        }
    }
}
开发者ID:darvisgalka,项目名称:Fenix,代码行数:26,代码来源:zone_instance.cpp

示例2: DecreaseZoneCounter

void CZoneInstance::DecreaseZoneCounter(CCharEntity* PChar)
{
	CInstance* instance = PChar->PInstance;

	if (instance)
	{
		instance->DecreaseZoneCounter(PChar);
		instance->DespawnPC(PChar);
		CharZoneOut(PChar);
		PChar->PInstance = NULL;

		if (instance->CharListEmpty())
		{
			if (instance->Failed() || instance->Completed())
			{
				instanceList.erase(std::find(instanceList.begin(), instanceList.end(), instance));
				delete instance;
			}
			else
			{
				instance->SetWipeTime(instance->GetElapsedTime(gettick()));
			}
		}
	}
}
开发者ID:Annihilus343,项目名称:darkstar,代码行数:25,代码来源:zone_instance.cpp

示例3: ZoneServer

void CZoneInstance::ZoneServer(time_point tick)
{
    auto it = instanceList.begin();
    while (it != instanceList.end())
    {
        CInstance* instance = *it;

        instance->ZoneServer(tick);
        instance->CheckTime(tick);

        if ((instance->Failed() || instance->Completed()) && instance->CharListEmpty())
        {
            it = instanceList.erase(it);
            delete instance;
            continue;
        }
        it++;
    }
}
开发者ID:darvisgalka,项目名称:Fenix,代码行数:19,代码来源:zone_instance.cpp


注:本文中的CInstance::CharListEmpty方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。