Skip to content

Commit

Permalink
Merge pull request #284 from SpaceWarpDev/dev
Browse files Browse the repository at this point in the history
1.9.0
  • Loading branch information
cheese3660 authored Jan 31, 2024
2 parents e1d05e2 + ef052c3 commit 03149eb
Show file tree
Hide file tree
Showing 13 changed files with 609 additions and 113 deletions.
Original file line number Diff line number Diff line change
@@ -1,48 +1,49 @@
Key,Type,Description,English,Portuguese BR,French
SpaceWarp/ModList/EnableAll,Text,,Enable All,Ativar todos,Activer tous
SpaceWarp/ModList/DisableAll,Text,,Disable All,Desativar todos,Désactiver tous
SpaceWarp/ModList/RevertChanges,Text,,Revert Changes,Reverter alterações,Rétablir les changements
SpaceWarp/ModList/ApplyChanges,Text,,Apply and restart,Aplicar e reiniciar,Appliquer et redémarrer
SpaceWarp/ModList/multipleChangesDetected,Text,,"{0} changes detected, please restart to apply them","{0} alterações detetadas, porfavor reinicie o jogo","{0} changements détectés, veuillez redémarrer pour les appliquer"
SpaceWarp/ModList/singleChangeDetected,Text,,"1 change detected, please restart to apply it","1 alteração detectada, reinicie para aplicá-la","1 changement détecté, veuillez redémarrer pour l'appliquer"
SpaceWarp/ModList/Header,Text,,spacewarp.modlist,spacewarp.modlist,spacewarp.modlist
SpaceWarp/ModList/CoreMods,Text,,Core Mods,Mods do jogo,Mods du jeu
SpaceWarp/ModList/EnabledMods,Text,,Enabled Mods,Mods ativos,Mods activés
SpaceWarp/ModList/ErroredMods,Text,,Errored Mods,Mods com erros,Mods avec des erreurs
SpaceWarp/ModList/DisabledMods,Text,,Disabled Mods,Mods desativados,Mods désactivés
SpaceWarp/ModList/Version,Text,,Version,Versão,Version
SpaceWarp/ModList/Author,Text,,Author,Autor,Auteur
SpaceWarp/ModList/Source,Text,,Source,Fonte,Source
SpaceWarp/ModList/Description,Text,,Description,Descrição,Description
SpaceWarp/ModList/KSP2Version,Text,,KSP2 Version,Versão do jogo,Version de KSP2
SpaceWarp/ModList/Dependencies,Text,,Dependencies,Dependências,Dépendances
SpaceWarp/ModList/outdated,Text,,(outdated),(desatualizado),(obsolète)
SpaceWarp/ModList/unsupported,Text,,(unsupported),(não suportado),(non pris en charge)
SpaceWarp/ModList/disabled,Text,,(disabled),(desativado),(désactivé)
SpaceWarp/ModList/mismatched,Text,,(mismatched),(não corresponde com o swinfo),(non concordant)
SpaceWarp/ModList/baddirectory,Text,,(bad directory),(problemas no diretorio),(mauvais dossier)
SpaceWarp/ModList/missingswinfo,Text,,(missing SW Info),(não possui um swinfo),(SW Info manquant)
SpaceWarp/ModList/OpenModSettings,Text,,Mod Settings,Configurações dos mods,Paramètres des mods
SpaceWarp/ModList/OpenModsFolder,Text,,Open Mods Folder,Abrir pasta de mods,Ouvrir le dossier des mods
SpaceWarp/ModList/MissingDependency,Text,,Dependency is missing,Esta dependência não está presente,Cette dépendance est manquante
SpaceWarp/ModList/ErroredDependency,Text,,Dependency had an error while loading,Esta dependência teve um erro durante o loading,Une erreur s'est produite lors du chargement de cette dépendance
SpaceWarp/ModList/DisabledDependency,Text,,Dependency is disabled,Esta dependência esta desativada,Cette dépendance est manquante
SpaceWarp/ModList/UnspecifiedDependency,Text,,Dependency was not specified in SW info,Esta dependência não está presente no swinfo,Cette dépendance n'a pas été spécifiée dans SW Info
SpaceWarp/ModList/UnsupportedDependency,Text,,Dependency is of an unsupported version,Esta dependência é de uma versão nao suportada,Cette dépendance est d'une version non supportée
SpaceWarp/ModList/Conflicts,Text,,Conflicts,Incompatibilidades,Conflits
SpaceWarp/ModList/Details,Text,,Details,Detalhes,Détails
SpaceWarp/Mods,Text,,Mods,Mods,Mods
SpaceWarp/Mods/Outdated,Text,,Mods <color=yellow>⚠</color>,Mods <color=yellow>⚠</color>,Mods <color=yellow>⚠</color>
SpaceWarp/Mods/Errored,Text,,Mods <color=red>⚠</color>,Mods <color=red>⚠</color>,Mods <color=red>⚠</color>
SpaceWarp,Text,,Space Warp,Space Warp,Space Warp
SpaceWarp/VersionChecking,Text,,Allow Space Warp to check versions for mods over the network?,Deixar SpaceWarp verificar a versão dos mods na internet?,Autoriser Space Warp à vérifier les versions des mods sur le réseau ?
SpaceWarp/Yes,Text,,Yes,Sim,Oui
SpaceWarp/No,Text,,No,Não,Non
SpaceWarp/Console/Header,Text,,SPACE WARP - Console,SPACE WARP - Consola,SPACE WARP - Console
SpaceWarp/Console/Clear,Text,,Clear,Limpar,Effacer
SpaceWarp/Console/AutoScroll,Text,,Auto Scroll,Scroll automatico,Défilement automatique
SpaceWarp/Console/On,Text,,On,On,On
SpaceWarp/Console/Off,Text,,Off,Off,Off
SpaceWarp/AvcDialog/Title,Text,,spacewarp.avc,spacewarp.avc,spacewarp.avc
SpaceWarp/AvcDialog/MainText,Text,,Allow SpaceWarp to automatically check for mod updates online?,Permitir que o SpaceWarp verifique automaticamente se há atualizações de mods online?,Autoriser SpaceWarp à vérifier automatiquement les mises à jour de mods en ligne ?
SpaceWarp/AvcDialog/MinorText,Text,,*You can change this later in the settings menu.,*Pode alterá-lo mais tarde no menu de definições.,*Vous pouvez modifier plus tard dans le menu des réglages.
Key,Type,Description,English,Portuguese BR,French,Italiano,Chinese-Simplified [zh-CN]
SpaceWarp/ModList/EnableAll,Text,,Enable All,Ativar todos,Activer tous,Abilita tutto,全部启用
SpaceWarp/ModList/DisableAll,Text,,Disable All,Desativar todos,Désactiver tous,Disabilita tutto,全部禁用
SpaceWarp/ModList/RevertChanges,Text,,Revert Changes,Reverter alterações,Rétablir les changements,Annulla modifiche,还原更改
SpaceWarp/ModList/ApplyChanges,Text,,Apply and restart,Aplicar e reiniciar,Appliquer et redémarrer,Applica e riavvia,应用并重新启动
SpaceWarp/ModList/multipleChangesDetected,Text,,"{0} changes detected, please restart to apply them","{0} alterações detetadas, porfavor reinicie o jogo","{0} changements détectés, veuillez redémarrer pour les appliquer","{0} modifiche rilevate, si prega di riavviare per applicarle","{0}检测到更改,请重新启动以应用它们"
SpaceWarp/ModList/singleChangeDetected,Text,,"1 change detected, please restart to apply it","1 alteração detectada, reinicie para aplicá-la","1 changement détecté, veuillez redémarrer pour l'appliquer","1 modifica rilevata, si prega di riavviare per applicarla","检测到 1 个更改,请重新启动以应用它"
SpaceWarp/ModList/Header,Text,,spacewarp.modlist,spacewarp.modlist,spacewarp.modlist,spacewarp.modlist,模组列表
SpaceWarp/ModList/CoreMods,Text,,Core Mods,Mods do jogo,Mods du jeu,Mod Principali,核心模组
SpaceWarp/ModList/EnabledMods,Text,,Enabled Mods,Mods ativos,Mods activés,Mod Abilitate,启用的模组
SpaceWarp/ModList/ErroredMods,Text,,Errored Mods,Mods com erros,Mods avec des erreurs,Mod con Errori,错误的模组
SpaceWarp/ModList/DisabledMods,Text,,Disabled Mods,Mods desativados,Mods désactivés,Mod Disabilitate,禁用的模组
SpaceWarp/ModList/Version,Text,,Version,Versão,Version,Versione,版本
SpaceWarp/ModList/Author,Text,,Author,Autor,Auteur,Autore,作者
SpaceWarp/ModList/Source,Text,,Source,Fonte,Source,Fonte,源
SpaceWarp/ModList/Description,Text,,Description,Descrição,Description,Descrizione,描述
SpaceWarp/ModList/KSP2Version,Text,,KSP2 Version,Versão do jogo,Version de KSP2,Versione KSP2,KSP2版本
SpaceWarp/ModList/Dependencies,Text,,Dependencies,Dependências,Dépendances,Dipendenze,依赖
SpaceWarp/ModList/outdated,Text,,(outdated),(desatualizado),(obsolète),(obsoleto),(已过时)
SpaceWarp/ModList/unsupported,Text,,(unsupported),(não suportado),(non pris en charge),(non supportato),(不支持)
SpaceWarp/ModList/disabled,Text,,(disabled),(desativado),(désactivé),(disabilitata),(已禁用)
SpaceWarp/ModList/mismatched,Text,,(mismatched),(não corresponde com o swinfo),(non concordant),(non corrispondente),(不匹配)
SpaceWarp/ModList/baddirectory,Text,,(bad directory),(problemas no diretorio),(mauvais dossier),(cartella errata),(目录错误)
SpaceWarp/ModList/missingswinfo,Text,,(missing SW Info),(não possui um swinfo),(SW Info manquant),(mancanza di informazioni SW),(缺少SW信息)
SpaceWarp/ModList/OpenModSettings,Text,,Mod Settings,Configurações dos mods,Paramètres des mods,Impostazioni Mod,模组设置
SpaceWarp/ModList/OpenModsFolder,Text,,Open Mods Folder,Abrir pasta de mods,Ouvrir le dossier des mods,Apri Cartella Mod,打开Mods文件夹
SpaceWarp/ModList/MissingDependency,Text,,Dependency is missing,Esta dependência não está presente,Cette dépendance est manquante,Mancanza di una dipendenza,缺少依赖项
SpaceWarp/ModList/ErroredDependency,Text,,Dependency had an error while loading,Esta dependência teve um erro durante o loading,Une erreur s'est produite lors du chargement de cette dépendance,Errore nel caricamento di una dipendenza,依赖项在加载时出错
SpaceWarp/ModList/DisabledDependency,Text,,Dependency is disabled,Esta dependência esta desativada,Cette dépendance est manquante,Dipendenza disabilitata,依赖项已禁用
SpaceWarp/ModList/UnspecifiedDependency,Text,,Dependency was not specified in SW info,Esta dependência não está presente no swinfo,Cette dépendance n'a pas été spécifiée dans SW Info,Dipendenza non specificata nelle info SW,未在软件信息中指定依赖项
SpaceWarp/ModList/UnsupportedDependency,Text,,Dependency is of an unsupported version,Esta dependência é de uma versão nao suportada,Cette dépendance est d'une version non supportée,Dipendenza di una versione non supportata,依赖项的版本不受支持
SpaceWarp/ModList/Conflicts,Text,,Conflicts,Incompatibilidades,Conflits,Conflitti,冲突
SpaceWarp/ModList/Details,Text,,Details,Detalhes,Détails,Dettagli,详细信息
SpaceWarp/Mods,Text,,Mods,Mods,Mods,Mod,模组
SpaceWarp/Mods/Outdated,Text,,Mods <color=yellow>⚠</color>,Mods <color=yellow>⚠</color>,Mods <color=yellow>⚠</color>,Mod <color=yellow>⚠</color>,模组 <color=yellow>⚠/color>
SpaceWarp/Mods/Errored,Text,,Mods <color=red>⚠</color>,Mods <color=red>⚠</color>,Mods <color=red>⚠</color>,Mod <color=red>⚠</color>,模组 <color=red>⚠/color>
SpaceWarp,Text,,Space Warp,Space Warp,Space Warp,Space Warp,空间扭曲
SpaceWarp/VersionChecking,Text,,Allow Space Warp to check versions for mods over the network?,Deixar Space Warp verificar a versão dos mods na internet?,Autoriser Space Warp à vérifier les versions des mods sur le réseau ?,Autorizzare Space Warp a controllare le versioni delle mod su internet?,是否允许 Space Warp 通过网络检查模组的版本?
SpaceWarp/Yes,Text,,Yes,Sim,Oui,Sì,是
SpaceWarp/No,Text,,No,Não,Non,No,否
SpaceWarp/Console/Header,Text,,SPACE WARP - Console,SPACE WARP - Consola,SPACE WARP - Console,SPACE WARP - Console,控制台
SpaceWarp/Console/Clear,Text,,Clear,Limpar,Effacer,Pulisci,清理
SpaceWarp/Console/AutoScroll,Text,,Auto Scroll,Scroll automatico,Défilement automatique,Scorrimento automatico,自动滚动
SpaceWarp/Console/On,Text,,On,On,On,On,开
SpaceWarp/Console/Off,Text,,Off,Off,Off,Off,关
SpaceWarp/AvcDialog/Title,Text,,spacewarp.avc,spacewarp.avc,spacewarp.avc,spacewarp.avc,spacewarp.avc
SpaceWarp/AvcDialog/MainText,Text,,Allow Space Warp to automatically check for mod updates online?,Permitir que o Space Warp verifique automaticamente se há atualizações de mods online?,Autoriser Space Warp à vérifier automatiquement les mises à jour de mods en ligne ?,Autorizzare Space Warp a controllare automaticamente gli aggiornamenti delle mod online?,允许 Space Warp 自动在线检查模组更新?
SpaceWarp/AvcDialog/MinorText,Text,,*You can change this later in the settings menu.,*Pode alterá-lo mais tarde no menu de definições.,*Vous pouvez modifier plus tard dans le menu des réglages.,*Puoi cambiare questa impostazione più tardi nel menu delle impostazioni.,*您可以稍后在设置菜单中更改此设置。
SpaceWarp/Menu/Apps,Text,,Apps,Aplicativos,Applications,Applicazioni,应用
2 changes: 1 addition & 1 deletion plugin_template/BepInEx/plugins/SpaceWarp/swinfo.json
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
"name": "Space Warp",
"description": "Space Warp is an API for KSP 2 mod developers.",
"source": "https://github.com/SpaceWarpDev/SpaceWarp",
"version": "1.8.1",
"version": "1.8.2",
"version_check": "https://raw.githubusercontent.com/SpaceWarpDev/SpaceWarp/main/plugin_template/BepInEx/plugins/SpaceWarp/swinfo.json",
"ksp2_version": {
"min": "0.2.0",
Expand Down
15 changes: 15 additions & 0 deletions src/SpaceWarp.Core/API/Loading/Loading.cs
Original file line number Diff line number Diff line change
Expand Up @@ -80,6 +80,21 @@ public static void AddAddressablesLoadingAction<T>(string name, string label, Ac
AddGeneralLoadingAction(() => new AddressableAction<T>(name, label, action));
}

/// <summary>
/// Registers an action to be done on addressables after addressables have been loaded. Should be added either on Awake() or Start().
/// Allows to keep asset in memory after loading them. This is useful for textures or UXML templates, for example.
/// </summary>
/// <param name="name">The name of the action</param>
/// <param name="label">The addressables label to hook into</param>
/// <param name="keepAssets">Indicates if assets should be kept in memory after loading them.</param>
/// <param name="action">The action to be done on each addressables asset</param>
/// <typeparam name="T">The type of asset that this action is done upon</typeparam>
public static void AddAddressablesLoadingAction<T>(string name, string label, bool keepAssets, Action<T> action)
where T : UnityObject
{
AddGeneralLoadingAction(() => new AddressableAction<T>(name, label, keepAssets, action));
}


private static Action<BaseSpaceWarpPlugin> CreateAssetLoadingActionWithExtensions(string subfolder,
Func<string, string, List<(string name, UnityObject asset)>> importFunction, string[] extensions)
Expand Down
16 changes: 15 additions & 1 deletion src/SpaceWarp.Core/Patching/LoadingActions/AddressableAction.cs
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,7 @@ public class AddressableAction<T> : FlowAction where T : UnityObject
{
private string _label;
private Action<T> _action;
private bool _keepAssets;

/// <summary>
/// Creates a new addressable loading action.
Expand All @@ -30,6 +31,19 @@ public AddressableAction(string name, string label, Action<T> action) : base(nam
_label = label;
_action = action;
}

/// <summary>
/// Creates a new addressable loading action, with the option to keep the asset in memory after loading.
/// This is useful for textures or UXML templates, for example.
/// </summary>
/// <param name="name">Name of the action.</param>
/// <param name="label">Label of the asset to load.</param>
/// <param name="action">Action to perform on the loaded asset.</param>
/// <param name="keepAssets">Allows to keep asset in memory after loading them.</param>
public AddressableAction(string name, string label, bool keepAssets, Action<T> action) : this(name, label, action)
{
_keepAssets = keepAssets;
}

private bool DoesLabelExist(object label)
{
Expand All @@ -55,7 +69,7 @@ public override void DoAction(Action resolve, Action<string> reject)
{
GameManager.Instance.Assets.LoadByLabel(_label,_action,delegate(IList<T> assetLocations)
{
if (assetLocations != null)
if (assetLocations != null && !_keepAssets)
{
Addressables.Release(assetLocations);
}
Expand Down
Loading

0 comments on commit 03149eb

Please sign in to comment.