Files
2026-06-01 12:46:52 +02:00

41 lines
1.2 KiB
C++

#pragma once
#include <vector>
#include <geometry/X2DBasicTypes.h>
#include <mmo/ArType.h>
#include <mmo/ArOption.h>
struct ChannelManager
{
enum
{
TYPE_NOTHING = 0,
TYPE_USER_LIMIT = 1,
TYPE_DUNGEON = 2,
};
static int GetChannelNum( unsigned char layer );
static int GetChannelId( unsigned char layer );
static void EnterPlayerToLayer( unsigned char layer );
static void LeavePlayerFromLayer( unsigned char layer );
static int GetPlayerCountInLayer( unsigned char layer );
static int GetChannelId( AR_UNIT x, AR_UNIT y );
static unsigned char GetProperLayer( AR_UNIT x, AR_UNIT y );
static int GetProperChannel( int channel_id );
static int GetMinChannelNo( int channel_id );
static int GetMaxChannelNo( int channel_id );
static unsigned char GetLayerOfChannel( int channel_id, int channel_num );
static int GetChannelType( int channel_id );
static bool GetLayersOfChannel( int channel_id, std::vector< unsigned char > & vLayers );
static bool GetRegionOfChannel( int channel_id, X2D::Box< AR_UNIT > & bxRegion );
static void RegisterChannelInfo( int channel_id, const X2D::Box< AR_UNIT > & channel_region, int channel_type );
static void RegisterUserLimitChannelInfo( int channel_id, int proper_user, int max_channel_num );
};