Skip to content

🎼 a .NET library for handling content in your game

Notifications You must be signed in to change notification settings

dcronqvist/Symphony

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

72 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🎼 Symphony

A content management library for all your gamedev needs

Symphony provides a simple API for specifying where to look for content, it will then find all content and allow you to specify how that content must be structure in order to be considered valid, as well as how to load it.

This library was created with the intention to make it easy for game developers to have multiple sources of content, making it easier to load content that was created by e.g. modders.

var contentSourceFactory = (path) => {
    if (Path.GetExtension(path) == ".zip")
        return new ZipFileContentSource(path);
    else if (Directory.Exists(path))
        return new DirectoryContentSource(path);
    return null;
};

var validator = new Validator();
var collection = new DirectoryCollectionProvider(@"path/to/content",
                                                 contentSourceFactory);
var loader = new Loader();

var config = new ContentManagerConfig<ContentMeta>(validator,
                                                   collection,
                                                   loader);
var manager = new ContentManager<ContentMeta>(config);

manager.Load();

About

🎼 a .NET library for handling content in your game

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages