Skip to content
This repository has been archived by the owner on Apr 8, 2024. It is now read-only.

Contributing

Albie edited this page Oct 13, 2020 · 2 revisions

We want to make Dragon6 easy to use as Ubisoft don't disclose 99.5% of the information we have access to. This means creating a code structure anyone can look at and understand.

The aforementioned structure is as follows:

File Folder Summary
AccountInfo.cs /Data Base Model, should have custom JsonProperty attributes
AccountInfoDeserializer.cs /Data/Deserializers [Static] Extension method for converting JObject to the AccountInfo class
AccountInfoRequest.cs /Data/Requests Class for creating the request. Must inherit UbiApiRequest, PlatformSpecificRequest or BasicStatsRequest
AccountInfoExtensions.cs /Data/Extensions [Static] Extension method for creating the request, performing it with this Dragon6Client client and deserializing it
Accounts.cs /Data/Strings [Static] public static readonly strings containing the official server JSON keys. Used by the Deserializer

When testing, make sure the classes have code coverage in the DragonFruit.Six.API.Tests project. They should test all platforms. The extension method should be tested against one and multiple accounts during the tests.

The code should follow the ReSharper config file at the base directory. When making a PR, GitHub Actions will tell you what parts fail and why.