{"id":13662657,"url":"https://github.com/2401lucas/Save-System","last_synced_at":"2025-04-25T10:33:02.342Z","repository":{"id":46274233,"uuid":"367165580","full_name":"2401lucas/Save-System","owner":"2401lucas","description":"A Simple C# Save and Load System that has the ability to track achievements, load data from several files and modify data without needing to modify the whole Object. Usable in C# \u0026 Unity","archived":false,"fork":false,"pushed_at":"2021-12-14T22:35:56.000Z","size":21,"stargazers_count":1,"open_issues_count":0,"forks_count":1,"subscribers_count":2,"default_branch":"main","last_synced_at":"2024-08-03T05:14:36.544Z","etag":null,"topics":["persistance","save-system","unity"],"latest_commit_sha":null,"homepage":"","language":"C#","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/2401lucas.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2021-05-13T20:22:47.000Z","updated_at":"2021-11-03T03:20:47.000Z","dependencies_parsed_at":"2022-09-24T16:15:43.903Z","dependency_job_id":null,"html_url":"https://github.com/2401lucas/Save-System","commit_stats":null,"previous_names":[],"tags_count":3,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/2401lucas%2FSave-System","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/2401lucas%2FSave-System/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/2401lucas%2FSave-System/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/2401lucas%2FSave-System/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/2401lucas","download_url":"https://codeload.github.com/2401lucas/Save-System/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":223996887,"owners_count":17238394,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["persistance","save-system","unity"],"created_at":"2024-08-02T05:02:04.504Z","updated_at":"2024-11-10T18:31:12.459Z","avatar_url":"https://github.com/2401lucas.png","language":"C#","funding_links":[],"categories":["C\\#"],"sub_categories":[],"readme":"# Simple C# Save and Load System\nA simple C# Saving and Loading System, following the SOLID principles. [Read more about the SOLID principles here](https://en.wikipedia.org/wiki/SOLID)\n\n## It is compatable with both Unity and C# projects. \n\n## Template Script\nSaveTemplate is the default script for the Save System \n\n# The Setup\nCreate a script, inherit from SaveTemplate.cs and implement the abstract methods. There are 3 methods that need to be implemented for the save system to be functional.\n\n### File Path\nThe File Path is used in the saving and loading of fIles.\n\nUpdate the File Path to ```public override string filePath =\u003e \"playerSave\";```\n\n### Gettting the Data\nThe GetData method returns all of the variation, or data, in a string array to be written to a file.\n\nA const char, named DataSplitter, is used as a split between the variables, so that it can easily be split once the data needs to be interpreted.\n\n### Interpretting the Data\nThe InterpretData method recieves all of the data in a save file, and is responsible for splitting, parsing and assigning the data to its respective variables.\n\nIf the data is empty or null, we default to the default values.\n\nIf it is not empty or null, the data is split using the constant DataSplitter and then parsed using the methods on SaveTemplate.\n\n\n### Default Variables\nThe default variables are assigned when the variables are declared. \n\n\n# Example\n\nPlayerSaveData.cs is an example of how to implement this. The save data can be created in a GameManager for instance, and once loaded can be accessed directly to modify the data.\n\n\n\n## It's as simple as that!\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2F2401lucas%2FSave-System","html_url":"https://awesome.ecosyste.ms/projects/github.com%2F2401lucas%2FSave-System","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2F2401lucas%2FSave-System/lists"}