Implement timeline view for Editor #8

Closed
opened 2 years ago by NaiJi · 4 comments
NaiJi commented 2 years ago
Owner
There is no content yet.
NaiJi added this to the First Demo Release milestone 2 years ago
NaiJi added the
Enhancement
label 2 years ago
NaiJi self-assigned this 2 years ago
NaiJi added this to the Project Kyoku project 2 years ago
NaiJi commented 2 years ago
Poster
Owner

Issues here:

  • 2 kinds of classic notes should differently behave in 2 different contextes.
  • In ClassicArrowNote update() and input() functions are concrete and cannot change depending on where they are invoked from: Editor or Game

Possible approach:

[ClassicArrowNote] [ClassicSliderNote]
              \      /
         are inherited from
                 |
                 |
           [ClassicNote]  ---uses---> [Context]
                                       /    \
                                    inherits into
                                      |      |
                            [EditorContext] [GameContext]
Issues here: * 2 kinds of classic notes should differently behave in 2 different contextes. * In ClassicArrowNote update() and input() functions are concrete and cannot change depending on where they are invoked from: Editor or Game Possible approach: ``` [ClassicArrowNote] [ClassicSliderNote] \ / are inherited from | | [ClassicNote] ---uses---> [Context] / \ inherits into | | [EditorContext] [GameContext] ```
NaiJi commented 2 years ago
Poster
Owner

Fuck this shit, it encapsulates and makes more flexible game logic, like input and update, but it doesn't help with draw()

Okay, I will try to force Observer on it.

  1. There can be infinite amount of graphics managers, Notes should not depend on them AT ALL
  2. Graphics Managers shouldn't trigger changes in notes
  3. EditorContext keeps pointers to abstract interfaces of each registered Graphics Manager and whenever a note changes forces it into each Graphics manager
  4. Graphics managers dumbly draw all notes they have registered between first visible and last visible iterators. The cannot change their state.
  5. State changes and gets calculated from Notes triggering graphics managers on changes so they can redraw stuff and move iterators.
Fuck this shit, it encapsulates and makes more flexible game logic, like input and update, but it doesn't help with draw() Okay, I will try to force Observer on it. 1) There can be infinite amount of graphics managers, Notes should not depend on them AT ALL 2) Graphics Managers shouldn't trigger changes in notes 3) EditorContext keeps pointers to abstract interfaces of each registered Graphics Manager and whenever a note changes forces it into each Graphics manager 4) Graphics managers dumbly draw all notes they have registered between first visible and last visible iterators. The cannot change their state. 5) State changes and gets calculated from Notes triggering graphics managers on changes so they can redraw stuff and move iterators.
NaiJi commented 2 years ago
Poster
Owner
Halfway through: [0d97e61f4b60f011b269be984d2f84ea6c353e35](https://dev.udongein.xyz/NaiJi/project-kyoku/commit/0d97e61f4b60f011b269be984d2f84ea6c353e35)
NaiJi added the due date 2022-05-20 2 years ago
NaiJi modified the due date from 2022-05-20 to 2022-05-27 2 years ago
NaiJi commented 2 years ago
Poster
Owner
Pushed: [4b91146c334f1f0fdae3f72b5cddff38eb72d359](https://dev.udongein.xyz/NaiJi/project-kyoku/commit/4b91146c334f1f0fdae3f72b5cddff38eb72d359)
NaiJi closed this issue 2 years ago
NaiJi removed the due date 2022-05-27 2 years ago
Sign in to join this conversation.
No project
No Assignees
1 Participants
Notifications
Due Date
The due date is invalid or out of range. Please use the format 'yyyy-mm-dd'.

No due date set.

Reference: NaiJi/project-kyoku#8
Loading…
There is no content yet.