/// <summary> /// 创建游戏框架模块。 /// </summary> /// <param name="moduleType">要创建的游戏框架模块类型。</param> /// <returns>要创建的游戏框架模块。</returns> private static GameFrameworkModule CreateModule(Type moduleType) { GameFrameworkModule module = (GameFrameworkModule)Activator.CreateInstance(moduleType); if (module == null) { throw new GameFrameworkException(string.Format("Can not create module '{0}'.", module.GetType().FullName)); } LinkedListNode <GameFrameworkModule> current = s_GameFrameworkModules.First; while (current != null) { if (module.Priority > current.Value.Priority) { break; } current = current.Next; } if (current != null) { s_GameFrameworkModules.AddBefore(current, module); } else { s_GameFrameworkModules.AddLast(module); } return(module); }
private static GameFrameworkModule CreateModule(Type moduleType) { GameFrameworkModule gameFrameworkModule = (GameFrameworkModule)Activator.CreateInstance(moduleType); if (gameFrameworkModule == null) { throw new GameFrameworkException(string.Format("Can not create module '{0}'.", gameFrameworkModule.GetType().FullName)); } LinkedListNode<GameFrameworkModule> linkedListNode; for (linkedListNode = GameFrameworkEntry.s_GameFrameworkModules.First; linkedListNode != null; linkedListNode = linkedListNode.Next) { if (gameFrameworkModule.Priority > linkedListNode.Value.Priority) { break; } } if (linkedListNode != null) { GameFrameworkEntry.s_GameFrameworkModules.AddBefore(linkedListNode, gameFrameworkModule); } else { GameFrameworkEntry.s_GameFrameworkModules.AddLast(gameFrameworkModule); } return gameFrameworkModule; }