server-master/srcs/WingsAPI.Game/Managers/IServerManager.cs
2026-02-10 18:21:30 +01:00

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();
}