Code Monkey home page Code Monkey logo

easyproviders's Introduction

EasyProviders Public Source Repository

Provider initializer clean-template-library for Softwares

This library was created from cropped source-code template from original source. Some code sections are left to be an example. :)

What It Is

How To Use

About

Collaborators

Branches

Copyright & Licensing

Contributing

Contact

What It Is

EasyProviders

EasyProviders is an advanced provider/service control singleton-instanced library.

Uses : .NET CORE 1.1 Class Library

Controls and wizards are available for users to:

  • Create as easy as possible custom provider service
  • Control all providers/services with a single line of code.
  • Boot/Shutdown your providers, analyze with StopWatch easily.
  • Provide to great, compact, collective, regular manager-accessing in large projects & games etc...

How To Use

Example Usage

Preview Thumbnail

Using Namespace

	using EasyProviders.Services;
	using EasyProviders.Services.Accessibility;
	using EasyProviders.Services.Advertising;
	using EasyProviders.Services.Analytics;
	using EasyProviders.Services.Audio;
	using EasyProviders.Services.Globalization;
	using EasyProviders.Services.Holiday;
	using EasyProviders.Services.Internationalization;
	using EasyProviders.Services.IO;
	using EasyProviders.Services.Multilingualization;
	using EasyProviders.Services.Personalization;
	using EasyProviders.Services.Social;
	using EasyProviders.Services.Storage;
	using EasyProviders.Services.Store;
	using EasyProviders.Services.Achievement;
	using EasyProviders.Services.Localization;
	using EasyProviders.Services.Notification;

Create GameServices Constructor

	GameServices SDK = new GameServices();

Create GameServices Initializer Dictionary

	Dictionary<ProviderType, ServiceProvider.InitializeContext> initDic = new Dictionary<ProviderType, ServiceProvider.InitializeContext>();

Insert Providers to GameServices Dictionary

	initDic.Add(ProviderType.Accessibility, new AccessibilityProvider.InitializeContext());
	initDic.Add(ProviderType.Achievement, new AchievementProvider.InitializeContext());
	initDic.Add(ProviderType.Advertising, new AdvertisingProvider.InitializeContext());
	initDic.Add(ProviderType.Analytics, new AnalyticsProvider.InitializeContext());
	initDic.Add(ProviderType.Audio, new AudioProvider.InitializeContext());
	initDic.Add(ProviderType.Globalization, new GlobalizationProvider.InitializeContext());
	initDic.Add(ProviderType.Holiday, new HolidayProvider.InitializeContext());
	initDic.Add(ProviderType.Internationalization, new InternationalizationProvider.InitializeContext());
	initDic.Add(ProviderType.IO, new IOProvider.InitializeContext());
	initDic.Add(ProviderType.Localization, new LocalizationProvider.InitializeContext());
	initDic.Add(ProviderType.Multilingualization, new MultilingualizationProvider.InitializeContext());
	initDic.Add(ProviderType.Notification, new NotificationProvider.InitializeContext());
	initDic.Add(ProviderType.Personalization, new PersonalizationProvider.InitializeContext());
	initDic.Add(ProviderType.Social, new SocialProvider.InitializeContext());
	initDic.Add(ProviderType.Storage, new StorageProvider.InitializeContext());
	initDic.Add(ProviderType.Store, new StoreProvider.InitializeContext());

Set Optional Functions

	SDK.SetSafeMode(false);
	SDK.SetDebugMode(false);
Variable Type
IsDebugMode public (readonly)
IsSafeMode public (readonly)

Initializing Providers (Call void Initialize() from all provides)

	SDK.Initialize(initDic);

Booting Providers (Call void Start() from all provides)

	SDK.Boot(delegate (bool success) {
		if (success) {
			//OnSuccess
		} else {
			//OnFailed
		}
	});

Shutting-down Providers (Call void Stop() from all provides)

	SDK.Shutdown(delegate (bool success) {
		if (success) {
			 //OnSuccess
		 } else {
			//OnFailed
		 }
	});

About

EasyProviders was created to serve three purposes:

EasyProviders is a advanced providers/services/managers/singleton controller

  1. To act as a library to control providers/services/managers.

  2. To provide a strong debugging, life-saver and advanced library for any bigger software & game project that requires a singleton/manager system architecture.

  3. Instead of writing long and complex code every time, it provides the easiest and strongest way.

Collaborators

Project Manager - Furkan Türkal (GitHub: dentrax)

Branches

We publish source for the [EasyProviders] in three rolling branches:

We publish source for the engine in three rolling branches:

The release branch is extensively tested by our QA team and makes a great starting point for learning the EasyProviders.

The promoted branch 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.

The master branch tracks live changes by our EasyProviders team. This is the cutting edge and may be buggy - it may not even compile.

Other short-lived branches may pop-up from time to time as we stabilize new releases or hotfixes.

Copyright & Licensing

The base project code is copyrighted by Furkan 'Dentrax' Türkal and is covered by single licence.

All program code (i.e. C#, Java) is licensed under GPL v3.0 unless otherwise specified. Please see the "LICENSE" file for more information.

Contributing

Please check the CONTRIBUTING.md file for contribution instructions and naming guidelines.

Contact

EasyProviders was created by Furkan 'Dentrax' Türkal

You can contact EasyProviders by URL: CONTACT

Best Regards

easyproviders's People

Contributors

dentrax avatar

Stargazers

 avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.