{"id":19099511,"url":"https://github.com/dentrax/easyproviders","last_synced_at":"2026-05-28T02:30:14.394Z","repository":{"id":103621177,"uuid":"101075947","full_name":"Dentrax/EasyProviders","owner":"Dentrax","description":"An EASY and ADVANCED way to handle providers/services/managers/singletons systems with [EasyProvides .NET CORE Library]","archived":false,"fork":false,"pushed_at":"2017-08-24T12:27:36.000Z","size":95,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-01-03T01:40:38.433Z","etag":null,"topics":["initializer","provider","provider-engine","singleton"],"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/Dentrax.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,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2017-08-22T15:07:22.000Z","updated_at":"2018-02-11T18:00:41.000Z","dependencies_parsed_at":"2023-05-24T00:15:42.670Z","dependency_job_id":null,"html_url":"https://github.com/Dentrax/EasyProviders","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Dentrax%2FEasyProviders","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Dentrax%2FEasyProviders/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Dentrax%2FEasyProviders/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Dentrax%2FEasyProviders/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Dentrax","download_url":"https://codeload.github.com/Dentrax/EasyProviders/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":240155825,"owners_count":19756745,"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":["initializer","provider","provider-engine","singleton"],"created_at":"2024-11-09T03:51:03.045Z","updated_at":"2026-05-28T02:30:14.329Z","avatar_url":"https://github.com/Dentrax.png","language":"C#","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003ch1 align=\"center\"\u003eEasyProviders Public Source Repository\u003c/h1\u003e\n\n**Provider initializer clean-template-library for Softwares**\n\nThis library was created from cropped source-code template from original source. Some code sections are left to be an example. :)\n\n[What It Is](#what-it-is)\n\n[How To Use](#how-to-use)\n\n[About](#about)  \n\n[Collaborators](#collaborators)  \n\n[Branches](#branches) \n\n[Copyright \u0026 Licensing](#copyright--licensing)  \n\n[Contributing](#contributing)  \n\n[Contact](#contact)\n\n\n## What It Is\n\n**EasyProviders**\n\nEasyProviders is an advanced provider/service control singleton-instanced library.\n\n**Uses : `.NET CORE 1.1 Class Library`**\n\nControls and wizards are available for users to:\n\n\u003e * Create as easy as possible custom provider service\n\u003e * Control all providers/services with a single line of code.\n\u003e * Boot/Shutdown your providers, analyze with StopWatch easily.\n\u003e * Provide to great, compact, collective, regular manager-accessing in large projects \u0026 games etc...\n\n\n## How To Use\n\nExample Usage\n=============\n\n![Preview Thumbnail](https://raw.githubusercontent.com/Dentrax/EasyProviders/master/EasyProviders/Thumbnail.png)\n\n\n\nUsing Namespace\n--------------------------\n```csharp\n\tusing EasyProviders.Services;\n\tusing EasyProviders.Services.Accessibility;\n\tusing EasyProviders.Services.Advertising;\n\tusing EasyProviders.Services.Analytics;\n\tusing EasyProviders.Services.Audio;\n\tusing EasyProviders.Services.Globalization;\n\tusing EasyProviders.Services.Holiday;\n\tusing EasyProviders.Services.Internationalization;\n\tusing EasyProviders.Services.IO;\n\tusing EasyProviders.Services.Multilingualization;\n\tusing EasyProviders.Services.Personalization;\n\tusing EasyProviders.Services.Social;\n\tusing EasyProviders.Services.Storage;\n\tusing EasyProviders.Services.Store;\n\tusing EasyProviders.Services.Achievement;\n\tusing EasyProviders.Services.Localization;\n\tusing EasyProviders.Services.Notification;\n```\n\nCreate GameServices Constructor\n--------------------------\n```csharp\n\tGameServices SDK = new GameServices();\n```\n\nCreate GameServices Initializer Dictionary\n--------------------------\n```csharp\n\tDictionary\u003cProviderType, ServiceProvider.InitializeContext\u003e initDic = new Dictionary\u003cProviderType, ServiceProvider.InitializeContext\u003e();\n```\n\nInsert Providers to GameServices Dictionary\n--------------------------\n```csharp\n\tinitDic.Add(ProviderType.Accessibility, new AccessibilityProvider.InitializeContext());\n\tinitDic.Add(ProviderType.Achievement, new AchievementProvider.InitializeContext());\n\tinitDic.Add(ProviderType.Advertising, new AdvertisingProvider.InitializeContext());\n\tinitDic.Add(ProviderType.Analytics, new AnalyticsProvider.InitializeContext());\n\tinitDic.Add(ProviderType.Audio, new AudioProvider.InitializeContext());\n\tinitDic.Add(ProviderType.Globalization, new GlobalizationProvider.InitializeContext());\n\tinitDic.Add(ProviderType.Holiday, new HolidayProvider.InitializeContext());\n\tinitDic.Add(ProviderType.Internationalization, new InternationalizationProvider.InitializeContext());\n\tinitDic.Add(ProviderType.IO, new IOProvider.InitializeContext());\n\tinitDic.Add(ProviderType.Localization, new LocalizationProvider.InitializeContext());\n\tinitDic.Add(ProviderType.Multilingualization, new MultilingualizationProvider.InitializeContext());\n\tinitDic.Add(ProviderType.Notification, new NotificationProvider.InitializeContext());\n\tinitDic.Add(ProviderType.Personalization, new PersonalizationProvider.InitializeContext());\n\tinitDic.Add(ProviderType.Social, new SocialProvider.InitializeContext());\n\tinitDic.Add(ProviderType.Storage, new StorageProvider.InitializeContext());\n\tinitDic.Add(ProviderType.Store, new StoreProvider.InitializeContext());\n```\n\nSet Optional Functions\n--------------------------\n```csharp\n\tSDK.SetSafeMode(false);\n\tSDK.SetDebugMode(false);\n```\n\n| Variable       | Type                 |\n| --------------- |:--------------------:|\n| `IsDebugMode`   | public **(readonly)**|\n| `IsSafeMode`    | public **(readonly)**|\n\nInitializing Providers (Call void Initialize() from all provides)\n--------------------------\n```csharp\n\tSDK.Initialize(initDic);\n```\n\nBooting Providers (Call void Start() from all provides)\n--------------------------\n```csharp\n\tSDK.Boot(delegate (bool success) {\n\t\tif (success) {\n\t\t\t//OnSuccess\n\t\t} else {\n\t\t\t//OnFailed\n\t\t}\n\t});\n```\n\nShutting-down Providers (Call void Stop() from all provides)\n--------------------------\n```csharp\n\tSDK.Shutdown(delegate (bool success) {\n\t\tif (success) {\n\t\t\t //OnSuccess\n\t\t } else {\n\t\t\t//OnFailed\n\t\t }\n\t});\n```\n\n## About\n\nEasyProviders was created to serve three purposes:\n\n**EasyProviders is a advanced providers/services/managers/singleton controller**\n\n1. To act as a library to control providers/services/managers.\n\n2. To provide a strong debugging, life-saver and advanced library for any bigger software \u0026 game project that requires a singleton/manager system architecture. \n\n3. Instead of writing long and complex code every time, it provides the easiest and strongest way.\n\n## Collaborators\n\n**Project Manager** - Furkan Türkal (GitHub: dentrax)\n\n## Branches\n\nWe publish source for the **[EasyProviders]** in three rolling branches:\n\nWe publish source for the engine in three rolling branches:\n\n\u003e The **[release branch](https://github.com/dentrax/EasyProviders/tree/release)** is extensively tested by our QA team and makes a great starting point for learning the EasyProviders.\n\n\u003e The **[promoted branch](https://github.com/dentrax/EasyProviders/tree/promoted)** is updated with builds for our team members to use. It's a good balance between getting the latest cool stuff and knowing most things work.\n\n\u003e The **[master branch](https://github.com/dentrax/EasyProviders/tree/master)** tracks [live changes](https://github.com/dentrax/EasyProviders/commits/master) by our EasyProviders team. \nThis is the cutting edge and may be buggy - it may not even compile.\n\nOther short-lived branches may pop-up from time to time as we stabilize new releases or hotfixes.\n\n ## Copyright \u0026 Licensing\n \nThe base project code is copyrighted by Furkan 'Dentrax' Türkal and is covered by single licence.\n\nAll program code (i.e. C#, Java) is licensed under GPL v3.0 unless otherwise specified. Please see the \"LICENSE\" file for more information.\n\n## Contributing\n\nPlease check the [CONTRIBUTING.md](CONTRIBUTING.md) file for contribution instructions and naming guidelines.\n\n## Contact\n\nEasyProviders was created by Furkan 'Dentrax' Türkal\n\n * \u003chttps://www.furkanturkal.com\u003e\n \nYou can contact EasyProviders by URL:\n    **[CONTACT](https://github.com/dentrax)**\n\n\u003ckbd\u003eBest Regards\u003c/kbd\u003e","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdentrax%2Feasyproviders","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdentrax%2Feasyproviders","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdentrax%2Feasyproviders/lists"}