/// <summary> /// Reset the new map /// </summary> void ResetMap() { spriteset = new SpritesetMap(); // Update map (run parallel process event) InGame.Map.Update(); // Run automatic change for BGM and BGS set on the map InGame.Map.Autoplay(); // Clean the Garbage collector GC.Collect(); }
/// <summary> /// Initialize Scenemap - Automatically called when Scene Object is created /// </summary> public override void LoadSceneContent() { InGame.Tags = new Tags(); spriteset = new SpritesetMap(); messageWindow = new WindowMessage(); // Pass to Game_system for reference InGame.Temp.MessageWindow = messageWindow; Graphics.Transition(60); InGame.Map.Update(); if (Graphics.SplashTexture != null) { Graphics.SplashTexture.Dispose(); } //InitializeDebug(new int[2]{2,3}); }
/// <summary> /// Initialize Scenemap - Automatically called when Scene Object is created /// </summary> public override void LoadSceneContent() { InGame.Tags = new Tags(); spriteset = new SpritesetMap(); messageWindow = new WindowMessage(); // Pass to Game_system for reference InGame.Temp.MessageWindow = messageWindow; Graphics.Transition(60); InGame.Map.Update(); if (Graphics.SplashTexture != null) Graphics.SplashTexture.Dispose(); //InitializeDebug(new int[2]{2,3}); }
/// <summary> /// Transfer the player to another map /// </summary> public void TransferPlayer() { // Execute Transition InGame.Temp.IsProcessingTransition = false; // Clear player place move call flag InGame.Temp.IsTransferringPlayer = false; // If move destination is different than current map bool isEdgeTransfer = false; int dir = 0; if (InGame.Map.MapId != InGame.Temp.PlayerNewMapId) { InGame.Player.EdgeTransferList[2] = 0; InGame.Player.EdgeTransferList[4] = 0; InGame.Player.EdgeTransferList[6] = 0; InGame.Player.EdgeTransferList[8] = 0; dir = InGame.Player.EdgeTransferDirection; isEdgeTransfer = InGame.Player.IsEdgeTransferring; InGame.Player.IsEdgeTransferring = false; InGame.Player.EdgeTransferDirection = 0; CheckResetSelfSwitches(); // Clean Picture test if (GameOptions.IsDeletingPicturesAfterTransfer) { foreach (GamePicture picture in InGame.Screen.Pictures) picture.Erase(); } if (GameOptions.IsDeletingWeatherAfterTransfer) { InGame.Screen.Weather(0, 0, 0); } // Clean Tone change if (!GameOptions.IsScreenToneCleanedAtEveryFrame) InGame.Screen.ColorTone = Tone.Empty; // Set up a new map InGame.Map.Setup(InGame.Temp.PlayerNewMapId); } // Edge Transfer if (isEdgeTransfer) { switch (dir) { case 2: InGame.Temp.PlayerNewX = InGame.Player.X; InGame.Temp.PlayerNewY = (GameOptions.GamePlayerHeight / 2 + 2); break; case 4: InGame.Temp.PlayerNewX = InGame.Map.Width * 32 - (GameOptions.GamePlayerWidth / 2 + 2); InGame.Temp.PlayerNewY = InGame.Player.Y; break; case 6: InGame.Temp.PlayerNewX = (GameOptions.GamePlayerWidth / 2 + 2); InGame.Temp.PlayerNewY = InGame.Player.Y; break; case 8: InGame.Temp.PlayerNewX = InGame.Player.X; InGame.Temp.PlayerNewY = InGame.Map.Height * 32 - 2; break; } InGame.Player.Moveto(InGame.Temp.PlayerNewX, InGame.Temp.PlayerNewY - 1); } else { // Set up player position InGame.Player.Moveto(InGame.Temp.PlayerNewX * 32 + 16, InGame.Temp.PlayerNewY * 32 + 32 - 1); } // Set player direction switch (InGame.Temp.PlayerNewDirection) { case 2: // down InGame.Player.TurnDown(); break; case 4: // left InGame.Player.TurnLeft(); break; case 6: // right InGame.Player.TurnRight(); break; case 8: // up InGame.Player.TurnUp(); break; } // Straighten player position InGame.Player.Straighten(); // Remake sprite set spriteset.Dispose(); spriteset = new SpritesetMap(); // Update map (run parallel process event) InGame.Map.Update(); // Run automatic change for BGM and BGS set on the map InGame.Map.Autoplay(); }
/// <summary> /// Reset the new map /// </summary> void ResetMap() { spriteset = new SpritesetMap(); // Update map (run parallel process event) InGame.Map.Update(); // Run automatic change for BGM and BGS set on the map InGame.Map.Autoplay(); // Clean the Garbage collector GC.Collect(); }
/// <summary> /// Transfer the player to another map /// </summary> public void TransferPlayer() { // Execute Transition InGame.Temp.IsProcessingTransition = false; // Clear player place move call flag InGame.Temp.IsTransferringPlayer = false; // If move destination is different than current map bool isEdgeTransfer = false; int dir = 0; if (InGame.Map.MapId != InGame.Temp.PlayerNewMapId) { InGame.Player.EdgeTransferList[2] = 0; InGame.Player.EdgeTransferList[4] = 0; InGame.Player.EdgeTransferList[6] = 0; InGame.Player.EdgeTransferList[8] = 0; dir = InGame.Player.EdgeTransferDirection; isEdgeTransfer = InGame.Player.IsEdgeTransferring; InGame.Player.IsEdgeTransferring = false; InGame.Player.EdgeTransferDirection = 0; CheckResetSelfSwitches(); // Clean Picture test if (GameOptions.IsDeletingPicturesAfterTransfer) { foreach (GamePicture picture in InGame.Screen.Pictures) { picture.Erase(); } } if (GameOptions.IsDeletingWeatherAfterTransfer) { InGame.Screen.Weather(0, 0, 0); } // Clean Tone change if (!GameOptions.IsScreenToneCleanedAtEveryFrame) { InGame.Screen.ColorTone = Tone.Empty; } // Set up a new map InGame.Map.Setup(InGame.Temp.PlayerNewMapId); } // Edge Transfer if (isEdgeTransfer) { switch (dir) { case 2: InGame.Temp.PlayerNewX = InGame.Player.X; InGame.Temp.PlayerNewY = (GameOptions.GamePlayerHeight / 2 + 2); break; case 4: InGame.Temp.PlayerNewX = InGame.Map.Width * 32 - (GameOptions.GamePlayerWidth / 2 + 2); InGame.Temp.PlayerNewY = InGame.Player.Y; break; case 6: InGame.Temp.PlayerNewX = (GameOptions.GamePlayerWidth / 2 + 2); InGame.Temp.PlayerNewY = InGame.Player.Y; break; case 8: InGame.Temp.PlayerNewX = InGame.Player.X; InGame.Temp.PlayerNewY = InGame.Map.Height * 32 - 2; break; } InGame.Player.Moveto(InGame.Temp.PlayerNewX, InGame.Temp.PlayerNewY - 1); } else { // Set up player position InGame.Player.Moveto(InGame.Temp.PlayerNewX * 32 + 16, InGame.Temp.PlayerNewY * 32 + 32 - 1); } // Set player direction switch (InGame.Temp.PlayerNewDirection) { case 2: // down InGame.Player.TurnDown(); break; case 4: // left InGame.Player.TurnLeft(); break; case 6: // right InGame.Player.TurnRight(); break; case 8: // up InGame.Player.TurnUp(); break; } // Straighten player position InGame.Player.Straighten(); // Remake sprite set spriteset.Dispose(); spriteset = new SpritesetMap(); // Update map (run parallel process event) InGame.Map.Update(); // Run automatic change for BGM and BGS set on the map InGame.Map.Autoplay(); }