示例#1
0
        /// <summary>
        ///  处理游戏初始化操作,在游戏初始加载之前
        /// </summary>
        public void Initialize()
        {
            FileLocateRule.Textures = GameFileLocs.Texture;
            FileLocateRule.Effects  = GameFileLocs.Effect;

            ConfigurationManager.Initialize();
            ConfigurationManager.Instance.Register(new IniConfigurationFormat());
            ConfigurationManager.Instance.Register(new GameConfigurationFormat());

            EffectManager.Initialize(renderSys);
            EffectManager.Instance.RegisterModelEffectType(TerrainEffect33Factory.Name, new TerrainEffect33Factory(renderSys));
            EffectManager.Instance.RegisterModelEffectType(TerrainEffect17Factory.Name, new TerrainEffect17Factory(renderSys));
            EffectManager.Instance.RegisterModelEffectType(WaterEffectFactory.Name, new WaterEffectFactory(renderSys));
            EffectManager.Instance.RegisterModelEffectType(StandardEffectFactory.Name, new StandardEffectFactory(renderSys));
            EffectManager.Instance.RegisterModelEffectType(SkinnedStandardEffectFactory.Name, new SkinnedStandardEffectFactory(renderSys));
            EffectManager.Instance.RegisterModelEffectType(EarthBaseEffectFactory.Name, new EarthBaseEffectFactory(renderSys));
            EffectManager.Instance.RegisterModelEffectType(AtmosphereEffectFactory.Name, new AtmosphereEffectFactory(renderSys));
            EffectManager.Instance.RegisterModelEffectType(CityLinkEffectFactory.Name, new CityLinkEffectFactory(renderSys));
            EffectManager.Instance.RegisterModelEffectType(CityRingEffectFactory.Name, new CityRingEffectFactory(renderSys));
            EffectManager.Instance.RegisterModelEffectType(TreeEffectFactory.Name, new TreeEffectFactory(renderSys));

            EffectManager.Instance.RegisterModelEffectType(CitySelEffectFactory.Name, new CitySelEffectFactory(renderSys));

            EffectManager.Instance.RegisterModelEffectType(TailEffectFactory.Name, new TailEffectFactory(renderSys));
            EffectManager.Instance.RegisterModelEffectType(BoardEffectFactory.Name, new BoardEffectFactory(renderSys));
            EffectManager.Instance.RegisterModelEffectType(StandardNHEffectFactory.Name, new StandardNHEffectFactory(renderSys));


            RulesTable.LoadRules();

            TextureManager.Initialize(1048576 * 200);
            TextureManager.Instance.Factory = renderSys.ObjectFactory;
            MaterialLibrary.Initialize(renderSys);

            ModelManager.Initialize();

            EffectManager.Instance.LoadEffects();
            FileLocation fl = FileSystem.Instance.Locate("terrainMaterial.ini", GameFileLocs.Config);

            MaterialLibrary.Instance.LoadTextureSet(fl);
            TreeModelLibrary.Initialize(renderSys);

            GameFontManager.Initiaize(renderSys);

            TerrainData.Initialize();

            sprite = renderSys.ObjectFactory.CreateSprite();
            SoundManager.Initialize(((X.Game)Program.Window.Tag).Services);
            StaticPlay.Init(((X.Game)Program.Window.Tag).Services);
            StaticPlay.PlayStart();

            menu = new Menu(this, renderSys);
        }