formatting fixes

This commit is contained in:
Adam 2021-02-15 21:23:18 +11:00
parent 41b02abc2f
commit 729ef7fea7
2 changed files with 48 additions and 41 deletions

View file

@ -64,7 +64,7 @@ namespace Penumbra.Mods
continue; continue;
} }
var meta = ModMeta.LoadFromFile(metaFile.FullName); var meta = ModMeta.LoadFromFile( metaFile.FullName );
var mod = new ResourceMod var mod = new ResourceMod
{ {
@ -181,7 +181,7 @@ namespace Penumbra.Mods
return AddModSettings( mod ); return AddModSettings( mod );
} }
public IEnumerable<ModInfo> GetOrderedAndEnabledModSettings( bool invertOrder = false ) public IEnumerable< ModInfo > GetOrderedAndEnabledModSettings( bool invertOrder = false )
{ {
var query = ModSettings var query = ModSettings
.Where( x => x.Enabled ); .Where( x => x.Enabled );
@ -194,16 +194,16 @@ namespace Penumbra.Mods
return query.OrderByDescending( x => x.Priority ); return query.OrderByDescending( x => x.Priority );
} }
public IEnumerable<ResourceMod> GetOrderedAndEnabledModList( bool invertOrder = false ) public IEnumerable< ResourceMod > GetOrderedAndEnabledModList( bool invertOrder = false )
{ {
return GetOrderedAndEnabledModSettings( invertOrder ) return GetOrderedAndEnabledModSettings( invertOrder )
.Select( x => x.Mod ); .Select( x => x.Mod );
} }
public IEnumerable<(ResourceMod, ModInfo)> GetOrderedAndEnabledModListWithSettings( bool invertOrder = false ) public IEnumerable< (ResourceMod, ModInfo) > GetOrderedAndEnabledModListWithSettings( bool invertOrder = false )
{ {
return GetOrderedAndEnabledModSettings( invertOrder ) return GetOrderedAndEnabledModSettings( invertOrder )
.Select( x => (x.Mod, x) ); .Select( x => ( x.Mod, x ) );
} }
} }
} }

View file

@ -118,7 +118,8 @@ namespace Penumbra.Mods
// fixup path // fixup path
var baseDir = mod.ModBasePath.FullName; var baseDir = mod.ModBasePath.FullName;
if(settings.Conf == null) { if( settings.Conf == null )
{
settings.Conf = new(); settings.Conf = new();
_plugin.ModManager.Mods.Save(); _plugin.ModManager.Mods.Save();
} }
@ -128,12 +129,14 @@ namespace Penumbra.Mods
var relativeFilePath = file.FullName.Substring( baseDir.Length ).TrimStart( '\\' ); var relativeFilePath = file.FullName.Substring( baseDir.Length ).TrimStart( '\\' );
bool doNotAdd = false; bool doNotAdd = false;
void AddFiles(HashSet<string> gamePaths)
void AddFiles( HashSet< string > gamePaths )
{ {
doNotAdd = true; doNotAdd = true;
foreach (var gamePath in gamePaths) foreach( var gamePath in gamePaths )
{ {
if( !ResolvedFiles.ContainsKey( gamePath ) ) { if( !ResolvedFiles.ContainsKey( gamePath ) )
{
ResolvedFiles[ gamePath.ToLowerInvariant() ] = file; ResolvedFiles[ gamePath.ToLowerInvariant() ] = file;
registeredFiles[ gamePath ] = mod.Meta.Name; registeredFiles[ gamePath ] = mod.Meta.Name;
} }
@ -144,58 +147,61 @@ namespace Penumbra.Mods
} }
} }
HashSet<string> paths; HashSet< string > paths;
foreach (var group in mod.Meta.Groups.Select( G => G.Value)) foreach( var group in mod.Meta.Groups.Select( G => G.Value ) )
{ {
if (!settings.Conf.TryGetValue(group.GroupName, out var setting) if( !settings.Conf.TryGetValue( group.GroupName, out var setting )
|| (group.SelectionType == SelectType.Single && settings.Conf[group.GroupName] >= group.Options.Count)) || ( group.SelectionType == SelectType.Single && settings.Conf[ group.GroupName ] >= group.Options.Count ) )
{ {
settings.Conf[group.GroupName] = 0; settings.Conf[ group.GroupName ] = 0;
_plugin.ModManager.Mods.Save(); _plugin.ModManager.Mods.Save();
setting = 0; setting = 0;
} }
if (group.Options.Count == 0) if( group.Options.Count == 0 )
continue; continue;
if (group.SelectionType == SelectType.Multi) if( group.SelectionType == SelectType.Multi )
settings.Conf[group.GroupName] &= ((1 << group.Options.Count) - 1); settings.Conf[ group.GroupName ] &= ( ( 1 << group.Options.Count ) - 1 );
switch(group.SelectionType) switch( group.SelectionType )
{ {
case SelectType.Single: case SelectType.Single:
if (group.Options[setting].OptionFiles.TryGetValue(relativeFilePath, out paths)) if( group.Options[ setting ].OptionFiles.TryGetValue( relativeFilePath, out paths ) )
AddFiles(paths); AddFiles( paths );
else else
{ {
for(var i = 0; i < group.Options.Count; ++i) for( var i = 0; i < group.Options.Count; ++i )
{ {
if (i == setting) if( i == setting )
continue; continue;
if(group.Options[i].OptionFiles.ContainsKey(relativeFilePath)) if( group.Options[ i ].OptionFiles.ContainsKey( relativeFilePath ) )
{ {
doNotAdd = true; doNotAdd = true;
break; break;
} }
} }
} }
break; break;
case SelectType.Multi: case SelectType.Multi:
for(var i = 0; i < group.Options.Count; ++i) for( var i = 0; i < group.Options.Count; ++i )
{ {
if ((setting & (1 << i)) != 0) if( ( setting & ( 1 << i ) ) != 0 )
{ {
if (group.Options[i].OptionFiles.TryGetValue(relativeFilePath, out paths)) if( group.Options[ i ].OptionFiles.TryGetValue( relativeFilePath, out paths ) )
AddFiles(paths); AddFiles( paths );
} }
else if (group.Options[i].OptionFiles.ContainsKey(relativeFilePath)) else if( group.Options[ i ].OptionFiles.ContainsKey( relativeFilePath ) )
doNotAdd = true; doNotAdd = true;
} }
break; break;
} }
} }
if (!doNotAdd)
AddFiles(new() { relativeFilePath.Replace( '\\', '/' ) }); if( !doNotAdd )
AddFiles( new() { relativeFilePath.Replace( '\\', '/' ) } );
} }
@ -213,6 +219,7 @@ namespace Penumbra.Mods
} }
} }
} }
_plugin.GameUtils.ReloadPlayerResources(); _plugin.GameUtils.ReloadPlayerResources();
} }