-
Notifications
You must be signed in to change notification settings - Fork 173
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
refactor: Rewrite Entity Component System #1110
base: main
Are you sure you want to change the base?
Conversation
into the model, item, and mutable model behaviors
And add more virtuals
Use const everywhere that makes sense return const variables when it makes sense const functions and variables again, where it makes sense No raw access and modifications to protected members Move template definitions to tcc file idk how I feel about this one
For components
- Add order for loading Components - Enforce all components have Entity* in the first argument
Racing Stats Minigame Control
Class must be complete to be used in a MoveAssignment
…erse/DarkflameServer into components-wheeeee
…erse/DarkflameServer into components-wheeeee
m_DamageImmune = m_ParentEntity->GetVar<bool>(u"rail_activator_damage_immune"); | ||
m_NoAggro = m_ParentEntity->GetVar<bool>(u"rail_no_aggro"); | ||
m_NotifyArrived = m_ParentEntity->GetVar<bool>(u"rail_notify_activator_arrived"); | ||
m_ShowNameBillboard = m_ParentEntity->GetVar<bool>(u"rail_show_name_billboard"); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I've wondered, does this need to talk to the Player Forced movement component. that has two bools that are serialized ("is on rail" and "show billboard"), which this has vars for
This PR wont be merged, but remains a draft since there's a lot of research in this PR that will be implemented in smaller chunks |
The purpose of this PR it to overhaul the Entity Component System (ECS) with knowledge gained from reverse engineering the client.
Goals are to: