DragonNest/Server/DNGameServer/DnTaskFactory.hpp
2024-12-19 09:48:26 +08:00

47 lines
840 B
C++

#pragma once
#include "DnFarmGameTask.h"
class CDnTaskFactory
{
public:
static CDnGameTask* CreateGameTask( GameTaskType::eType GameTaskType, CDNGameRoom* pRoom )
{
switch( GameTaskType )
{
case GameTaskType::PvP:
{
return new CDnPvPGameTask( pRoom );
}
case GameTaskType::DarkLair:
{
return new CDnDLGameTask( pRoom );
}
case GameTaskType::Farm:
{
return new CDnFarmGameTask( pRoom );
}
}
return new IBoostPoolDnGameTask( pRoom );;
}
static CDnPartyTask* CreatePartyTask( GameTaskType::eType GameTaskType, CDNGameRoom* pRoom )
{
switch( GameTaskType )
{
case GameTaskType::DarkLair:
{
return new CDnDLPartyTask( pRoom );
}
case GameTaskType::PvP:
{
return new CDnPvPPartyTask( pRoom );
}
}
return new IBoostPoolDnPartyTask( pRoom );
}
};