64 lines
No EOL
1.6 KiB
C#
64 lines
No EOL
1.6 KiB
C#
using System.Threading;
|
|
|
|
namespace WingsEmu.Game.Managers;
|
|
|
|
public class StaticServerManager
|
|
{
|
|
public static IServerManager Instance { get; private set; }
|
|
|
|
public static void Initialize(IServerManager instance)
|
|
{
|
|
Instance = instance;
|
|
}
|
|
}
|
|
|
|
public enum GameServerState
|
|
{
|
|
ERROR,
|
|
STARTING,
|
|
RUNNING,
|
|
IDLE,
|
|
STOPPING
|
|
}
|
|
|
|
public interface IServerManager
|
|
{
|
|
GameServerState State { get; }
|
|
bool IsRunning { get; }
|
|
int ChannelId { get; }
|
|
int MobDropRate { get; }
|
|
int MobDropChance { get; }
|
|
int FamilyExpRate { get; }
|
|
bool ExpEvent { get; set; }
|
|
int FairyXpRate { get; set; }
|
|
int GoldDropRate { get; set; }
|
|
int GoldRate { get; set; }
|
|
int GoldDropChance { get; set; }
|
|
int GenericDropRate { get; set; }
|
|
int GenericDropChance { get; set; }
|
|
int ReputRate { get; set; }
|
|
int HeroicStartLevel { get; set; }
|
|
int HeroXpRate { get; set; }
|
|
long MaxGold { get; set; }
|
|
long MaxBankGold { get; set; }
|
|
short MaxHeroLevel { get; set; }
|
|
short MaxJobLevel { get; set; }
|
|
short MaxLevel { get; set; }
|
|
short MaxSpLevel { get; set; }
|
|
int MateXpRate { get; set; }
|
|
int PartnerXpRate { get; set; }
|
|
short MaxMateLevel { get; set; }
|
|
short MaxNpcTalkRange { get; set; }
|
|
int MaxBasicSpPoints { get; set; }
|
|
int MaxAdditionalSpPoints { get; set; }
|
|
string ServerGroup { get; }
|
|
int MobXpRate { get; set; }
|
|
int AccountLimit { get; }
|
|
bool InShutdown { get; }
|
|
int JobXpRate { get; set; }
|
|
void InitializeAsync();
|
|
void ListenCancellation(CancellationTokenSource stopServiceTokenSource);
|
|
void TryStart();
|
|
void PutIdle();
|
|
void Shutdown();
|
|
} |