-
Notifications
You must be signed in to change notification settings - Fork 42
Core - Add finite state machine #232
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
base: master
Are you sure you want to change the base?
Conversation
…e generic jobs than FSM
| //! Interface of FSM state | ||
| //! This object should be stateless if you want to share instances between machines (e.g. shallow copies) | ||
| //! Data should be implemented in TContext instead | ||
| class ACE_FSM_IState<Managed TContext> : Managed |
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.
BI convention for base classes (as Enforce does not have interfaces) is adding Base suffix so it would be ACE_FSM_StateBase IDK if we care/would want to follow it.
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.
Well, BI isn't consistent either, considering IEntity is a thing 😅
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.
Anyway, I think IEntity is the only exception I'm aware of, so I guess Base it is, but is it ACE_FSM_StateBase or ACE_FSM_BaseState? You'll find examples of both conventions in the base game code base...
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.
ACE_FSM_StateBase would follow the most "recent" conventions.
Reforger code base is bit messy and not everything follows conventions as they possibly were not there when certain parts of the game was created.
IEntity comes from Enfusion which does not necessarily follow "Game Project" conventions :D
Kexanone
left a comment
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.
Should have test cases: https://community.bistudio.com/wiki/Arma_Reforger:Autotest_Framework
When merged this pull request will:
ACE_FSM_MachineACE_FrameJobSystemalong withACE_IFrameJobas interface for frame jobs that can be registered at itACE_TemplateFrameJobSchedulerthat manages jobs based on a template for a set of objects