fCraft.DrawCommands.RestoreHandler C# (CSharp) Method

RestoreHandler() static private method

static private RestoreHandler ( [ player, [ cmd ) : void
player [
cmd [
return void
        static void RestoreHandler([NotNull] Player player, [NotNull] CommandReader 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, true, 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("Map file 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: Click or &H/Mark&S 2 blocks.");
        }