fCraft.BuildingCommands.RestoreHandler C# (CSharp) Method

RestoreHandler() private static method

private static RestoreHandler ( Player player, Command cmd ) : void
player Player
cmd Command
return void
        private static void RestoreHandler( Player player, Command cmd )
        {
            string fileName = cmd.Next();
            if ( fileName == null ) {
                CdRestore.PrintUsage( player );
                return;
            }
            if ( cmd.HasNext ) {
                CdRestore.PrintUsage( player );
                return;
            }

            string fullFileName = WorldManager.FindMapFile( player, fileName );
            if ( fullFileName == null )
                return;

            Map map;
            if ( !MapUtility.TryLoad( fullFileName, out map ) ) {
                player.Message( "Could not load the given map file ({0})", fileName );
                return;
            }

            Map playerMap = player.WorldMap;
            if ( playerMap.Width != map.Width || playerMap.Length != map.Length || playerMap.Height != map.Height ) {
                player.Message( "Mapfile dimensions must match your current world's dimensions ({0}x{1}x{2})",
                                playerMap.Width,
                                playerMap.Length,
                                playerMap.Height );
                return;
            }

            map.Metadata["fCraft.Temp", "FileName"] = fullFileName;
            player.SelectionStart( 2, RestoreCallback, map, CdRestore.Permissions );
            player.MessageNow( "Restore: Select the area to restore. To mark a corner, place/click a block or type &H/Mark" );
        }