Comments (2)
DependsAttribute
- #47/1
Adds a DependsAttribute to the spec of #47.
Reason
Add a way for making systems interdependent - #9
Modifications Required
-
That would require a way to know which systems have attempted registering, like an
UnloadedSystems
hashset. -
SystemManager would also need a way to load each system recursively, based on the dependencies of each system.
If a system has a[Depends]
, SystemManager will try to register the dependencies first, if said systems aren't registered yet,
or haven't been attempted registry yet, adding said system ontoUnloadedSystems
in the case of a dependency missing. -
After some consideration, knowing the reason of why a system was unloaded is extremely helpful. An
UnloadingReason
data type could be added withType
andReason
Fields. Type would be an enum containingMANUAL_REQUEST
,DEPENDENCY_MISSING
,LOADING_ERROR (happens if IsEnabled is set to false on code, better name could be chosen)
, while the reason field would be a string containing, on the case of a dependency which dependency(ies) caused the system to be unloaded. That later could neatly be displayed via thesystems.status
command.
from sisbase.
The 3.0 Spec is currently implemented. 47/1 - DependsAttribute
extension will be postponed to a minor version after 2.0 release.
from sisbase.
Related Issues (20)
- Issues related to 2.0 migration process
- IClientSystem API is outdated
- Ambiguous references on the sisbase.Utils namespace HOT 3
- Improve Unicode emoji support (currently Utils/Unicode.cs) HOT 1
- Main config file porting HOT 2
- Safely handle malformed/invalid config files HOT 3
- List of issues waiting timeline unification
- General Code Audit HOT 8
- Relicensing
- Hierarchy Utils
- Sharding support
- Looking at alternative api wrappers
- EmbedBase overhaul
- Aliases not showing on EmbedBase.CommandHelpEmbed
- Add documentation for setting up (probably on the wiki)
- Add documentation for legacy apis HOT 5
- Improve HierarchyUtils HOT 3
- Remove dependence on static singleton Instance of SisbaseBot HOT 2
- Functions from dsp.interactivity HOT 23
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from sisbase.