Guest User

Group rename script (edited)

a guest
Dec 21st, 2015
22
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 1.53 KB | None | 0 0
  1. void Main()
  2. {
  3.     var all_groups = new List<IMyBlockGroup>();
  4.     GridTerminalSystem.GetBlockGroups(all_groups);
  5.     var numbering = true; //Set to false to remove numbering.
  6.      
  7.     for (int cur_group_index = 0; cur_group_index < all_groups.Count; ++cur_group_index)
  8.     {
  9.         var cur_group = all_groups[cur_group_index];
  10.         string group_name = cur_group.Name;
  11.  
  12.         if (group_name.ToLower().StartsWith("rename to "))
  13.         {
  14.             var blocks_in_group = cur_group.Blocks;
  15.             string base_name = group_name.Substring(10);
  16.              
  17.             if(numbering){
  18.                 for (int cur_block = 0; cur_block < blocks_in_group.Count; ++cur_block)
  19.                     blocks_in_group[cur_block].SetCustomName(base_name + ((cur_block == 0) ? "" : (" " + (cur_block + 1).ToString())));
  20.             } else {
  21.                 for (int cur_block = 0; cur_block < blocks_in_group.Count; ++cur_block)
  22.                     blocks_in_group[cur_block].SetCustomName(base_name);
  23.             }
  24.         }
  25.         else if (group_name.ToLower().StartsWith("prefix with "))
  26.         {
  27.             var blocks_in_group = cur_group.Blocks;
  28.             string prefix = group_name.Substring(12) + " ";
  29.              
  30.             for (int cur_block = 0; cur_block < blocks_in_group.Count; ++cur_block)
  31.                 if (!blocks_in_group[cur_block].CustomName.ToLower().StartsWith(prefix.ToLower()))
  32.                     blocks_in_group[cur_block].SetCustomName(prefix + blocks_in_group[cur_block].CustomName);
  33.         }
  34.     }
  35. }
Advertisement
Add Comment
Please, Sign In to add comment