octoawesome icon indicating copy to clipboard operation
octoawesome copied to clipboard

EntityComponents aus der Octoawesome.dll entfernen

Open fnawratil opened this issue 7 years ago • 6 comments

fnawratil avatar Dec 01 '17 20:12 fnawratil

@fnawratil Was willst du uns damit sagen?

Bitte mal ne ordentliche Beschreibung einfügen oder selber machen und einen pull request machen

Gallimathias avatar Dec 28 '17 20:12 Gallimathias

Komponenten müssten in eine eigene DLL verschoben werden wie z.B. Plugin. Es geht mit #207 einher.

Das Problem ist die Komponenten gehören eigentlich in Basics dürfen aber bis jetzt nicht vom Client referenziert werden, weil das ein Mod ist.

Dafür müsste eigentlich die Architektur umgearbeitet werden.

XYZLassi avatar Dec 28 '17 20:12 XYZLassi

Soweit ich mich richtig erinnere war die Basics von Tom persönlich als Extension gedacht und die Octoawesom.dll als Library für alles. Find es nicht sinnvoll eine eigene Library für Extensions zu schreiben wenn in Octoawesom.dll alles drin ist. Wäre für eine komplette Überarbeitung der PhysikEngine Architektur :D oder übersehe ich etwas, dass dann nicht mehr geht wenn die Add und Remove Funktionalität der Componenten (für die Berechnungen -> Calc(entity, gametime)) entfernt wird. Sowie eine andere Basisklasse. Btw. eine Entity ist ein selbstständiges Objekt und somit sollte die Unterscheidung zwischen UpdatableEntity und Entity wegfallen...

HierGibtEsDrachen avatar Feb 21 '18 15:02 HierGibtEsDrachen

Erstmal herzlich willkommen hier bei uns auf GitHub ;-)

Ich weiß nicht, ob du hier etwas verwechselst. Die Add- und Remove-Methoden befinden sich in den Simulationskomponenten, die durch dieses Issue gar nicht tangiert werden.

Die EntityComponents sind halten in der Regel nur Daten und weisen einem Spielobjekt geisse Attribute zu (z.B. "hat Masse X", "hat Abmessungen", "hat ein Inventar").

Einige stören sich daran, dass diese sich in der OctoAwesome.dll befinden, da sie vom Client aus referenziert werden. Andere Entity-Komponenten liegen aber in OctoAwesome.Basics.dll, da diese nur von Simulationskomponenten aus der Basics-Erweiterung verwendet werden.

Btw. eine Entity ist ein selbstständiges Objekt und somit sollte die Unterscheidung zwischen UpdatableEntity und Entity wegfallen...

Darüber lässt sich sicher diskutieren (z.B. CPU-Last bei Objekten die eigentlich gar nichts tun). Ist aber Thema für ein eigenes Issue, nicht zögern eins aufzumachen!

Wäre für eine komplette Überarbeitung der PhysikEngine Architektur :D

Mach bitte ein Issue mit Vorschlägen dazu auf, wenn du dich dort einbringen willst!

ManuelHu avatar Feb 21 '18 16:02 ManuelHu

Verweise auf #241, könnte hiermit geschlossen werden.

HierGibtEsDrachen avatar Feb 26 '18 14:02 HierGibtEsDrachen

#241 und dieses Issue sind glaube ich ganz gut in zwei verschiedenen Issues aufgehoben @HierGibtEsDrachen

Gallimathias avatar Feb 26 '18 19:02 Gallimathias