| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172 |
-
- using DeepCore.Log;
- using DeepCore.Reflection;
- using DeepCrystal.RPC;
- namespace DeepMMO.Server
- {
- public abstract class RPGServerManager
- {
- //--------------------------------------------------------------------------------------
- #region Singleton
- private static readonly object lock_init = new object();
- private static bool init_done = false;
- private static RPGServerManager instance;
- public static bool IsInitDone { get { return init_done; } }
- public static RPGServerManager Instance
- {
- get
- {
- if (instance == null)
- {
- lock (lock_init)
- {
- if (!init_done)
- {
- var config = IService.GlobalConfig;
- instance = ReflectionUtil.CreateInterface<RPGServerManager>(GlobalConfig.RPGServerManager);
- instance.Init();
- init_done = true;
- }
- }
- }
- return instance;
- }
- }
- #endregion
- //--------------------------------------------------------------------------------------
- public virtual AccessPolicy Access { get; protected set; }
- public virtual ServerPassport Passport { get; protected set; }
- //--------------------------------------------------------------------------------------
- public RPGServerManager()
- {
- instance = this;
- }
- public virtual void Init()
- {
- GlobalConfig.LoadAll();
- this.Access = CreateAccessPolicy();
- this.Passport = CreatePassport();
- }
- public virtual AccessPolicy CreateAccessPolicy()
- {
- return new AccessPolicy();
- }
- public virtual ServerPassport CreatePassport()
- {
- return new ServerPassport();
- }
- // public virtual Persistence.AccountPersistenceOperator CreateAccountPersistenceOperator()
- // {
- // return new Persistence.AccountPersistenceOperator();
- // }
- // public virtual Persistence.RolePersistenceOperator CreateRolePersistenceOperator(string roleID)
- // {
- // return new Persistence.RolePersistenceOperator(roleID);
- // }
- }
- }
|