Comments (6)
That sounds like a good solution! Would make the ECS system more capable for different contexts!
from donburi.
@im-gin I have just managed to remove the dependency to Ebitengine by using reflection, and tagged it as v1.3.13.
Please let me know if you find any problems or further suggestions. Thanks!
from donburi.
Thanks for the great suggestion. The idea using ECS architecture in the server code sounds really interesting. I wanted to do some experiments.
Donburi uses ebitengine's *ebiten.Image
in the ecs package.
I think that all of those parameters of *ebiten.Image
can be replaced with Generics type parameter.
Then we can remove the dependency to ebitengine from go.mod
. What do you think?
from donburi.
Thanks! Let's do it.
from donburi.
Some places will be challenging to replace, as struct methods cannot have generic parameters. Do you have any ideas for any alternative solutions?
from donburi.
I understand that it's a bit challenging, but still I think it's possible. Pls give me a moment to try it.
--edit--
Hmm... it seems it's only possible via reflection or completely changing the interface of ecs
package.
Let me try with reflection.
from donburi.
Related Issues (20)
- Create `features/dui` package
- Add ComponentType.Get(World, *donburi.Entry) Method HOT 1
- Deferred Entity Removal
- Add `Add()`, `Remove()` and `GetValue()` function to `ComponentType`
- Add `features/layers` package
- Add `features/collision` package (using `resolv`)
- Add `Tetra3D` example
- Add Query() method to Component
- Type-safe Queue
- Type-safe Archetype
- Panic on event Publishing HOT 1
- Project Suggestion HOT 3
- Refactoring to v3
- Adding Features
- Strong slowdown in the recent versions HOT 9
- Improvement / Feature Ideas
- Query callback is called twice for the same entity HOT 2
- Outdated Go/Ebitengine version.
- Getting a list of entity's components HOT 18
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 donburi.