38 lines
No EOL
1.4 KiB
C#
38 lines
No EOL
1.4 KiB
C#
using System.Threading.Tasks;
|
|
using PhoenixLib.Logging;
|
|
using WingsAPI.Communication.ServerApi.Protocol;
|
|
using WingsEmu.Game._enum;
|
|
using WingsEmu.Game.Arena;
|
|
using WingsEmu.Game.Maps;
|
|
|
|
namespace WingsEmu.Plugins.BasicImplementations.Arena;
|
|
|
|
public class ArenaManager : IArenaManager
|
|
{
|
|
private readonly SerializableGameServer _gameServer;
|
|
private readonly IMapManager _mapManager;
|
|
|
|
public ArenaManager(IMapManager mapManager, SerializableGameServer gameServer)
|
|
{
|
|
_mapManager = mapManager;
|
|
_gameServer = gameServer;
|
|
}
|
|
|
|
public IMapInstance ArenaInstance { get; private set; }
|
|
public IMapInstance FamilyArenaInstance { get; private set; }
|
|
|
|
public async Task Initialize()
|
|
{
|
|
if (_gameServer.ChannelType == GameChannelType.ACT_4)
|
|
{
|
|
Log.Warn("[ARENA_MANAGER] Not loading Arena because the channel is act4");
|
|
return;
|
|
}
|
|
|
|
ArenaInstance = _mapManager.GenerateMapInstanceByMapId((int)MapIds.ARENA_INDIVIDUAL, MapInstanceType.ArenaInstance);
|
|
Log.Info(ArenaInstance == null ? "[ARENA_MANAGER] Failed to load Arena Map" : "[ARENA_MANAGER] Arena Map Loaded");
|
|
|
|
FamilyArenaInstance = _mapManager.GenerateMapInstanceByMapId((int)MapIds.ARENA_FAMILY, MapInstanceType.ArenaInstance);
|
|
Log.Info(FamilyArenaInstance == null ? "[ARENA_MANAGER] Failed to load Family Arena Map" : "[ARENA_MANAGER] Family Arena Map Loaded");
|
|
}
|
|
} |