public SGame(IServiceProvider ServiceProvider) { //Filling LevelLoadEnhanced Event that is is not null LevelLoadEnhanced += new LevelLoadEnhancedEventHandler(SGame_LevelLoadEnhanced); content = new ContentManager(ServiceProvider); content.RootDirectory = "Data"; enemyManager = new EnemyManager(ServiceProvider,new Options()); start = DateTime.Now; iObjectManager = new InteractiveObjectManager(); }
public void LoadLevel(IServiceProvider ServiceProvider,GraphicsDevice device,string level_name, LevelType leveltype,Options options) { level.Dispose(); level = new Level(); level.LevelLoadLineEnhanced += new LevelLoadLineEnhancedEventHandler(level_LevelLoadLineEnhanced); level.LoadLevel(ServiceProvider,device,options, level_name, leveltype); //level = new Level(ServiceProvider, level_name, leveltype); GameParameters.CurrentGraphXPack = level.LevelVariables.Dictionary[LV.GraphXPack]; colorizeBackground.Dispose(); colorizeBackground = new ColorizeLUT(); colorizeBackground.Initialize(ServiceProvider, device, options); colorizeBackground.Enabled = true; colorizeBackground.StartResetEffect(); colorizeBackground.FxData = LayerFXData.FromString(level.LevelVariables.Dictionary[LV.BackgroundFX]); colorizePost.Dispose(); colorizePost = new ColorizeLUT(); colorizePost.Initialize(ServiceProvider, device, options); colorizePost.Enabled = true; colorizePost.StartResetEffect(); colorizePost.FxData = LayerFXData.FromString(level.LevelVariables.Dictionary[LV.PostFX]); iObjectManager.Dispose(); iObjectManager = new InteractiveObjectManager(); iObjectManager.Initialize(content.ServiceProvider, level.LevelVariables,device, options); LevelLoadEnhanced(50, "Level Loaded..."); player = new Player(level.Startpos, Content); InitializeLayer(options,device); LevelLoadEnhanced(60, "Layers Initialized"); gamelogic.Dispose(); gamelogic = new GameLogic(); gamelogic.Initialize(content.ServiceProvider,device, level.LevelVariables, options); camera = new Camera(options.ScreenWidth, options.ScreenHeight, level.Startpos, (float) options.ScaleFactor); debugscreen = new DebugScreen(Content, level.Startpos); LevelLoadEnhanced(75, "Game Logic Loaded"); bg_tex = content.Load<Texture2D>(GameConstants.GraphXPacksPath + level.LevelVariables.Dictionary[LV.GraphXPack] + "/Backgrounds/" + level.LevelVariables.Dictionary[LV.BackgroundImg]); enemyManager.Dispose(); enemyManager = new EnemyManager(ServiceProvider,options); LoadEnemies(options); enemyManager.PlayerKilled += gamelogic.PlayerKilled; //Invoke LevelLoaded Event LevelLoaded(); //Cleaning UP... GC.Collect(); firstFrame = true; }
protected override void Initialize() { //Initilaize Layer Data layerData = new Dictionary<LayerFX, LayerFXData>(); //Fill Dictionary with Default Values foreach (LayerFX layer in Enum.GetValues(typeof(LayerFX))) { layerData.Add(layer, LayerFXData.Default); } editorcontent = new ContentManager(Services, "StarEditData"); gamecontent = new ContentManager(Services, "Data"); blanktex = gamecontent.Load<Texture2D>("Stuff/Blank"); recttool = new Rectangle(); options = new Options(); options.ScreenHeight = DisplayRectangle.Height; options.ScreenWidth = DisplayRectangle.Width; options.ScreenWidth = GraphicsDevice.PresentationParameters.BackBufferWidth; options.ScreenHeight = GraphicsDevice.PresentationParameters.BackBufferHeight; options.InitObjectHolder.graphics = GraphicsDevice; options.InitObjectHolder.serviceProvider = Services; oldscreensize = new Point(DisplayRectangle.Width, DisplayRectangle.Height); try { arial = editorcontent.Load<SpriteFont>("Arial"); spritebatch = new SpriteBatch(GraphicsDevice); } catch (Exception e) { string error = e.Message; } level = new Level(); level.LoadLevel(Services,GraphicsDevice,options); //level = new Level(Services); iObjectManager = new InteractiveObjectManager(); iObjectManager.Initialize(Services, level.LevelVariables, GraphicsDevice, options); rearparallaxLayer = new ParallaxLayer(); frontparallaxLayer = new ParallaxLayer(); cloudlayer = new CloudLayer(); reardecoLayer = new DecoLayer(); frontDecoLayer = new DecoLayer(); SetBGRect(); camera = new Camera(DisplayRectangle.Width, DisplayRectangle.Height, Vector2.Zero, DisplayRectangle.Height / 600f); mousetile = new Tile(0, 0); mousetile.load_tile((int)TileType.Wall,null); mouseTex = editorcontent.Load<Texture2D>("mousetile"); if (level.Tiles != null) { mousetile.LoadGrass(); } SetBorders(1, 1); enemymanager = new EnemyManager(Services, new Options()); try { placeEnemy = new SingleEnemyManager(Services); placeEnemy.LoadEnemy(selectedEnemy); } catch (Exception e) { FileManager.WriteInErrorLog(this, e.Message, e.GetType()); } bg_tex = new Texture2D(GraphicsDevice, 1, 1); colorizePost = new ColorizeLUT(); colorizePost.Initialize(Services,GraphicsDevice,new Options()); colorizePost.Enabled = true; colorizePost.StartResetEffect(); colorizePost.FxData = LayerFXData.Default; colorizeBackground = new ColorizeLUT(); colorizeBackground.Initialize(Services, GraphicsDevice, new Options()); colorizeBackground.Enabled = true; colorizeBackground.StartResetEffect(); target = new RenderTarget2D(GraphicsDevice, GraphicsDevice.PresentationParameters.BackBufferWidth, GraphicsDevice.PresentationParameters.BackBufferHeight, false, SurfaceFormat.Color, DepthFormat.None, GraphicsDevice.PresentationParameters.MultiSampleCount, RenderTargetUsage.PreserveContents); }