| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960 | 
							- import argparse
 
- import sys
 
- import shutil
 
- import json
 
- from pathlib import Path
 
- # Add the utils directory to the Python path
 
- utils_path = Path(__file__).parent.parent / 'utils'
 
- sys.path.append(str(utils_path))
 
- from file_utils import find_files_by_extension
 
- def main():
 
-     parser = argparse.ArgumentParser(description="Copies all C# scripts (.cs) to the target directory.")
 
-     parser.add_argument("--input", type=str, required=True, help="The root directory of the target Unity project.")
 
-     parser.add_argument("--output", type=str, required=True, help="The directory where the output will be saved.")
 
-     # Add arguments that are passed by the orchestrator but not used by this script
 
-     parser.add_argument("--indent", type=int, default=None)
 
-     parser.add_argument("--shrink-json", action='store_true')
 
-     parser.add_argument("--ignored-folders", type=str, default='[]', help='JSON string of folders to ignore.')
 
-     args = parser.parse_args()
 
-     try:
 
-         ignored_folders = json.loads(args.ignored_folders)
 
-     except json.JSONDecodeError:
 
-         print("Warning: Could not parse ignored-folders JSON string. Defaulting to empty list.", file=sys.stderr)
 
-         ignored_folders = []
 
-     input_dir = Path(args.input).resolve()
 
-     output_dir = Path(args.output).resolve()
 
-     assets_dir = input_dir / "Assets"
 
-     output_assets_dir = output_dir / "Assets"
 
-     if not assets_dir.is_dir():
 
-         return
 
-     cs_files = find_files_by_extension(str(assets_dir), '.cs', ignored_folders=ignored_folders, project_root=input_dir)
 
-     if not cs_files:
 
-         print("No C# scripts found to copy.")
 
-         return
 
-     print(f"\n--- Starting Script Handling ---")
 
-     print(f"Found {len(cs_files)} C# script files to copy.")
 
-     for script_path_str in cs_files:
 
-         script_path = Path(script_path_str)
 
-         relative_path = script_path.relative_to(assets_dir)
 
-         destination_path = output_assets_dir / relative_path
 
-         
 
-         destination_path.parent.mkdir(parents=True, exist_ok=True)
 
-         
 
-         try:
 
-             shutil.copy(script_path, destination_path)
 
-         except IOError as e:
 
-             print(f"Error copying {script_path} to {destination_path}: {e}", file=sys.stderr)
 
-     
 
-     print("Script copying complete.")
 
- if __name__ == "__main__":
 
-     main()
 
 
  |