public ILogin GetLogin() { LoginElement loginSection = ZyGameBaseConfigManager.GetLogin(); if (loginSection == null) { return(null); } RetailElement retail = loginSection.RetailList[retailID]; object[] args = new object[0]; string typeName = string.Empty; if (retail != null) { typeName = retail.TypeName; args = GetArgs(retail.Args); } else { typeName = loginSection.DefaultTypeName; args = GetArgs(defaultArgs); } return((ILogin)Activator.CreateInstance(Type.GetType(typeName), args)); }
/// <summary> /// The game service start. /// </summary> /// <param name="setting">Environment setting.</param> /// <param name="cacheSetting">Cache setting.</param> public static void Start(EnvironmentSetting setting, CacheSetting cacheSetting) { if (IsRunning) { return; } TraceLog.WriteLine("{0} Server is starting...", DateTime.Now.ToString("HH:mm:ss")); _setting = setting; if (!RedisConnectionPool.Ping("127.0.0.1")) { string error = string.Format("Error: NIC is not connected or no network."); TraceLog.WriteLine(error); TraceLog.WriteError(error); return; } RedisConnectionPool.Initialize(_setting.Serializer); if (!RedisConnectionPool.CheckConnect()) { string error = string.Format("Error: the redis server is not started."); TraceLog.WriteLine(error); TraceLog.WriteError(error); return; } TraceLog.WriteLine("{0} Redis server connect successfully.", DateTime.Now.ToString("HH:mm:ss")); DbConnectionProvider.Initialize(); TraceLog.WriteLine("{0} DB server connect successfully.", DateTime.Now.ToString("HH:mm:ss")); EntitySchemaSet.CacheGlobalPeriod = _setting.CacheGlobalPeriod; EntitySchemaSet.CacheUserPeriod = _setting.CacheUserPeriod; if (_setting.EntityAssembly != null) { ProtoBufUtils.LoadProtobufType(_setting.EntityAssembly); EntitySchemaSet.LoadAssembly(_setting.EntityAssembly); } ZyGameBaseConfigManager.Intialize(); //init script. if (_setting.ScriptSysAsmReferences.Length > 0) { ScriptEngines.AddSysReferencedAssembly(_setting.ScriptSysAsmReferences); } ScriptEngines.AddReferencedAssembly("ZyGames.Framework.Game.dll"); if (_setting.ScriptAsmReferences.Length > 0) { ScriptEngines.AddReferencedAssembly(_setting.ScriptAsmReferences); } ScriptEngines.RegisterModelChangedBefore(OnModelChangeBefore); ScriptEngines.RegisterModelChangedAfter(OnModelChangeAtfer); ScriptEngines.OnLoaded += OnScriptLoaded; ScriptEngines.Initialize(); Language.SetLang(); CacheFactory.Initialize(cacheSetting, _setting.Serializer); EntitySchemaSet.StartCheckTableTimer(); Global = new ContextCacheSet <CacheItem>("__gameenvironment_global"); }
protected void Application_Start(object sender, EventArgs e) { try { HandlerManager.Init(Assembly.GetExecutingAssembly()); ZyGameBaseConfigManager.Intialize(); } catch (Exception ex) { TraceLog.WriteError("Application_Start error:{0}", ex); } }
/// <summary> /// Gets the login. /// </summary> /// <param name="retaiId"></param> /// <param name="obj">sdk json object of request or ActionGetter object</param> /// <returns></returns> public static ILogin GetLogin(string retaiId, object obj) { if (string.IsNullOrEmpty(retaiId)) { return(null); } object[] args = new object[0]; string typeName = string.Format("{0}.Sns.Login36you,{0}", "ZyGames.Framework.Game"); bool hasRetail = false; if (ZyGameBaseConfigManager.GameSetting.HasSetting) { var loginSetting = ZyGameBaseConfigManager.GameSetting.GetLoginSetting(retaiId); if (loginSetting != null) { typeName = loginSetting.TypeName.Contains(",") ? loginSetting.TypeName : string.Format("{0}.Sns.{1},{0}", "ZyGames.Framework.Game", loginSetting.TypeName); args = GetArgs(loginSetting.TypeArgs, obj); hasRetail = true; } } else { var loginSection = ZyGameBaseConfigManager.GetLogin(); if (loginSection != null) { var retail = loginSection.RetailList[retaiId]; if (retail != null) { typeName = retail.TypeName.Contains(",") ? retail.TypeName : string.Format("{0}.Sns.{1},{0}", "ZyGames.Framework.Game", retail.TypeName); args = GetArgs(retail.Args, obj); hasRetail = true; } } } if (!hasRetail) { args = GetArgs(DefaultArgs, obj); } var type = Type.GetType(typeName, false, true); if (type == null) { return(null); } return(type.CreateInstance <ILogin>(args)); }
/// <summary> /// Gets the login. /// </summary> /// <returns>The login.</returns> public ILogin GetLogin() { object[] args = new object[0]; string typeName = string.Format("{0}.Sns.Login36you,{0}", "ZyGames.Framework.Game"); bool hasRetail = false; if (ZyGameBaseConfigManager.GameSetting.HasSetting) { var loginSetting = ZyGameBaseConfigManager.GameSetting.GetLoginSetting(retailID); if (loginSetting != null) { typeName = loginSetting.TypeName.IndexOf(",") != -1 ? loginSetting.TypeName : string.Format("{0}.Sns.{1},{0}", "ZyGames.Framework.Game", loginSetting.TypeName); args = GetArgs(loginSetting.TypeArgs); hasRetail = true; } } else { var loginSection = ZyGameBaseConfigManager.GetLogin(); if (loginSection != null) { var retail = loginSection.RetailList[retailID]; if (retail != null) { typeName = retail.TypeName.IndexOf(",") != -1 ? retail.TypeName : string.Format("{0}.Sns.{1},{0}", "ZyGames.Framework.Game", retail.TypeName); args = GetArgs(retail.Args); hasRetail = true; } } } if (!hasRetail) { args = GetArgs(defaultArgs); } var type = Type.GetType(typeName, false, true); if (type == null) { return(null); } return(type.CreateInstance <ILogin>(args)); }
/// <summary> /// The game service start. /// </summary> /// <param name="setting">Environment setting.</param> /// <param name="cacheSetting">Cache setting.</param> public static void Start(EnvironmentSetting setting, CacheSetting cacheSetting) { if (_isRunning == 1) { return; } _setting = setting; if (!RedisConnectionPool.CheckConnect()) { string error = string.Format("Error: the redis server is not started."); Console.WriteLine(error); TraceLog.WriteError(error); return; } DbConnectionProvider.Initialize(); EntitySchemaSet.CacheGlobalPeriod = _setting.CacheGlobalPeriod; EntitySchemaSet.CacheUserPeriod = _setting.CacheUserPeriod; if (_setting.EntityAssembly != null) { ProtoBufUtils.LoadProtobufType(_setting.EntityAssembly); EntitySchemaSet.LoadAssembly(_setting.EntityAssembly); } EntitySchemaSet.StartCheckTableTimer(); LoadGameEntitySchema(); ZyGameBaseConfigManager.Intialize(); //init script. if (_setting.ScriptSysAsmReferences.Length > 0) { ScriptEngines.AddSysReferencedAssembly(_setting.ScriptSysAsmReferences); } ScriptEngines.AddReferencedAssembly("ZyGames.Framework.Game.dll"); if (_setting.ScriptAsmReferences.Length > 0) { ScriptEngines.AddReferencedAssembly(_setting.ScriptAsmReferences); } ScriptEngines.RegisterModelChangedBefore(OnModelChangeBefore); ScriptEngines.RegisterModelChangedAfter(OnModelChangeAtfer); ScriptEngines.Initialize(); Language.SetLang(); CacheFactory.Initialize(cacheSetting); Global = new ContextCacheSet <CacheItem>("__gameenvironment_global"); Interlocked.Exchange(ref _isRunning, 1); }
public static ICombatController Create() { if (controller == null) { lock (lockThis) { if (controller == null) { controller = (ICombatController)Activator.CreateInstance(Type.GetType(ZyGameBaseConfigManager.GetCombat().TypeName)); } } } return(controller); }