Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Engine Rewrite Plans #6

Open
ultraflame4 opened this issue Mar 10, 2023 · 0 comments
Open

Engine Rewrite Plans #6

ultraflame4 opened this issue Mar 10, 2023 · 0 comments
Assignees

Comments

@ultraflame4
Copy link
Owner

As of now, this engine barely works and there are many issues with it.
Eg.

  • the input system is wayy too complicated to use
  • The creating a new component using ECS system is too confusing with various features scattered around different classes
  • many more i forgot

A new branch will be created for rewriting the various parts engine.

The following parts of the engine will be rewritten (in order):

  • ECS
  • Windowing
  • InputSystem

ECS Plans

  • Components will now have these functions

    • Load() - Called when component is initially loaded and added to the component.
    • Start() - Called once when (or after if the component is instantiated during the game loop) the main game starts. All components required by the current components would also be available
  • Some components will need other components to work, to address this, we need to have:

    1. GetComponent() function. This will throw an error if the component does not exists on the entity. Should not be called on Load()
    2. [RequireComponent()] attribute. The engine will throw an error before starting the game if the entity does not have the component.
@ultraflame4 ultraflame4 self-assigned this Mar 10, 2023
@ultraflame4 ultraflame4 pinned this issue Mar 10, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant