attempt at fixing skin system as well as improved convenience.

This commit is contained in:
2019-01-28 19:43:41 -06:00
parent 7892bff6be
commit 8ea9ae3921
7 changed files with 26 additions and 129 deletions

View File

@@ -77,66 +77,15 @@ namespace RecrownedAthenaeum.UI.SkinSystem
}
}
public ISkinDefinitionData ObtainDefinition(string definitionName, Type type)
public T ObtainDefinition<T>(string definitionName = null) where T : ISkinDefinitionData
{
try
{
return mainSkin.ObtainDefinition(definitionName, type);
} catch (KeyNotFoundException)
{
return alternateSkin.ObtainDefinition(definitionName, type);
return mainSkin.ObtainDefinition<T>(definitionName);
}
catch (NullReferenceException)
{
return alternateSkin.ObtainDefinition(definitionName, type);
}
}
public ISkinDefinitionData ObtainDefinition(Type type)
{
try
{
return mainSkin.ObtainDefinition(type);
}
catch (KeyNotFoundException)
{
return alternateSkin.ObtainDefinition(type);
}
catch (NullReferenceException)
{
return alternateSkin.ObtainDefinition(type);
}
}
public T ObtainDefinition<T>(string definitionName, Type type) where T : ISkinDefinitionData
{
try
{
return mainSkin.ObtainDefinition<T>(definitionName, type);
}
catch (KeyNotFoundException)
{
return alternateSkin.ObtainDefinition<T>(definitionName, type);
}
catch (NullReferenceException)
{
return alternateSkin.ObtainDefinition<T>(definitionName, type);
}
}
public T ObtainDefinition<T>(Type type) where T : ISkinDefinitionData
{
try
{
return mainSkin.ObtainDefinition<T>(type);
}
catch (KeyNotFoundException)
{
return alternateSkin.ObtainDefinition<T>(type);
}
catch (NullReferenceException)
{
return alternateSkin.ObtainDefinition<T>(type);
return alternateSkin.ObtainDefinition<T>(definitionName);
}
}
}