ekolis / ekolis/FrEee

Plugin architecture

Open
#339 2 comments 0 reactions 1 assignee Claimed by @ekolis View on GitHub
breaking enhancement idea
Dominant language
C#
Stars
86
Forks
14
PR merge metrics
No merged PRs in 30d

Description

**What do you want to see?**
A proper plugin architecture, where you can replace various stock code (see #322) such as construction queues or vehicles with custom logic that implements the same interfaces.

In a mod definition, you could specify which stock modules you'd want to override and with what classes from what DLLs / scripts. These would correspond to the injected classes in dependency injection.

**How would it help players?**
Makes modding even more powerful!

**Alternatives**
???

**Screenshots and mockups**
N/A

**Things to consider**
Should we allow DLLs, scripts, or both to be imported?

How can we keep plugins in sync between players in a multiplayer game? Names and version numbers, perhaps?

Are we just giving up on securing the API?

Should the existing injected modules be broken down into smaller pieces or be given virtual methods so they don't have to be replaced wholesale?

Where should these plugins be stored? In a mod directory? In a separate directory hierarchy called Plugins (since probably many mods will use the stock plugins or any other set of plugins)?

**Related issues**
#322 - dependency injection which makes plugins possible

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.