Dreadrith-EasySync icon

EasySync

Configuration syncing made easy thanks to CSync by Owen3H.

Last updated 4 months ago
Total downloads 3547
Total rating 1 
Categories Libraries
Dependency string Dreadrith-EasySync-0.0.2
Dependants 6 other packages depend on this package

This mod requires the following mods to function

BepInEx-BepInExPack-5.4.2100 icon
BepInEx-BepInExPack

BepInEx pack for Mono Unity games. Preconfigured and ready to use.

Preferred version: 5.4.2100
Owen3H-CSync-1.0.8 icon
Owen3H-CSync

Configuration file syncing library for BepInEx.

Preferred version: 1.0.8

README

Overview

EasySync aims to be the easiest way of syncing configuration between host and players (clients) for Lethal Company so that you can focus on creating the meat of your mod. All you'd have to do is to write your config class!

Most config syncing guides (I've seen) require you to copy paste a bunch of code such as the request, receive, patches, etc... So why not reduce the amount of duplicate code and put it in one place? This will handle that for you.

How To Use

I actually wrote a wiki. I didn't like that :(

How does it work?

TLDR: Reflection based code to handle the static members of CSync due to its generic type requirement.

Cursed code that uses reflection to be able to handle CSync's requirement for generic types. Static members are not one and the same in generic types and one exists for each generic type. Using reflection, it grabs the members needed for CSync's functionality and handles them the same way as CSync requires so that there isn't the same code for each different class that inherits from CSync's SyncedInstance class.

Credits

Owen3H - CSync - Made this possible.
icons8 - Mod icon