LifePlay-Revival/Tools/EditMod.ps1

35 lines
1.3 KiB
PowerShell
Raw Normal View History

<#
.SYNOPSIS
Ouvre l'editeur avec un mod d'assets monte (lot H3c, Docs/Modding/FullGuides/Creating_Asset_Mods.md).
.DESCRIPTION
Monte ModSources\<Nom> dans Mods\<Nom> (Tools/ModSource.ps1), lance l'editeur et attend sa fermeture, puis remet le
mod dans ModSources\<Nom> (meme si l'editeur plante). Les assets du mod apparaissent dans le navigateur de contenu
sous "<Nom> Content" (chemin /<Nom>/) ; un editeur deja ouvert ne voit pas le mod : le fermer d'abord.
.EXAMPLE
.\Tools\EditMod.ps1 -Name lpr_hair_pocolov
#>
param(
[Parameter(Mandatory)] [string] $Name
)
$ErrorActionPreference = 'Stop'
$Root = Split-Path $PSScriptRoot -Parent
. (Join-Path $PSScriptRoot 'ModSource.ps1')
$Editor = 'D:\Game\Launcher\Engine\UE_5.5\Engine\Binaries\Win64\UnrealEditor.exe'
if (Get-Process UnrealEditor -ErrorAction SilentlyContinue) {
throw "Un editeur est deja ouvert : le fermer (il ne verrait pas le mod), puis relancer"
}
$stray = Get-StrayMods $Root
if ($stray) { throw "Autres plugins dans Mods\ ($($stray -join ', ')) : les remettre dans ModSources d'abord" }
Mount-ModSource $Root $Name | Out-Null
try {
Write-Host "Editeur ouvert avec /$Name/ ; le mod sera remis dans ModSources a sa fermeture."
Start-Process -FilePath $Editor -ArgumentList "`"$Root\LifePlay.uproject`"" -Wait
}
finally {
Dismount-ModSource $Root $Name
}