# proto 코드 생성 스크립트 (PowerShell) # 사용법: .\gen_proto.ps1 $PROTOC = "C:\Users\SSAFY\AppData\Local\Microsoft\WinGet\Packages\Google.Protobuf_Microsoft.Winget.Source_8wekyb3d8bbwe\bin\protoc.exe" $GOPATH_BIN = (go env GOPATH) + "\bin" $env:PATH = "$GOPATH_BIN;$env:PATH" $ROOT = $PSScriptRoot # Go 서버 코드 생성 Write-Host "[1/2] Generating Go server code..." -ForegroundColor Cyan & $PROTOC ` --go_out="$ROOT\proto\gen\pb" ` --go_opt=paths=source_relative ` --proto_path="$ROOT\proto" ` "$ROOT\proto\messages.proto" if ($LASTEXITCODE -ne 0) { Write-Host "Go proto generation failed." -ForegroundColor Red exit 1 } Write-Host " -> proto/gen/pb/messages.pb.go" -ForegroundColor Green # Unity C# 코드 생성 Write-Host "[2/2] Generating C# Unity code..." -ForegroundColor Cyan $unityOutDir = "$ROOT\unity\Assets\Scripts\Proto" if (!(Test-Path $unityOutDir)) { New-Item -ItemType Directory -Path $unityOutDir | Out-Null } & $PROTOC ` --csharp_out="$unityOutDir" ` --proto_path="$ROOT\proto" ` "$ROOT\proto\messages.proto" if ($LASTEXITCODE -ne 0) { Write-Host "C# proto generation failed." -ForegroundColor Red exit 1 } Write-Host " -> unity/Assets/Scripts/Proto/Messages.cs" -ForegroundColor Green Write-Host "`nDone!" -ForegroundColor Green