/// <summary> /// Load Stage screen /// </summary> public override void LoadScreen() { base.LoadScreen(); #region Debug DebugConsole.InitializeConsole((Viewer)this.Game, _SpriteBatch, _Service); #endregion //Reset de certaines propriétés _Interface.EscapeMenuOpened = false; //Stage _Stage = _Service.GetStageData(CurrentStageGuid); ScriptManager.InitScriptManager(_Service, _Game, _Stage, _Interface, _SpriteBatch); ScriptManager.ScriptDefaultCamera(); //Configuration de l'image manager ImageManager.SetCurrentStage(_Stage.Id); MatrixManager.SetCurrentStage(_Stage.Id); //Chargements graphiques _Service.PreLoadStage(_Stage, _ProjectData.Resolution.MatrixPrecision); //Chargement sauvegarde courante if (GameState.State.CurrentStagePNJ != null) { GameState.LoadGamePNJ(); GameState.State.CurrentStagePNJ = null; } //Musique _Music = PathTools.GetProjectPath(Enums.ProjectPath.Musics) + _Stage.Music.Filename; _MusicFrequency = _Stage.Music.Frequency; //Chargement du perso player float ratio = _Service.GetRatioFromMatrix(PlayableCharactersManager.CurrentPlayerCharacter.CharacterSprite.Location, _ProjectData.Resolution.MatrixPrecision); PlayableCharactersManager.CurrentPlayerCharacter.CharacterSprite.SetScale(new Vector2(ratio, ratio)); PlayableCharactersManager.CurrentPlayerCharacter.CharacterSprite.SetPosition(StartingPosition.X, StartingPosition.Y); PlayableCharactersManager.CurrentPlayerCharacter.CurrentStage = CurrentStageGuid; //Execution du script de démarrage _LaunchedEndingScripts = false; LaunchStartingScript(); }