forked from NaiJi/project-kyoku
Fix animation break
This commit is contained in:
parent
ed3330cb97
commit
98273d3a39
|
@ -2,7 +2,7 @@
|
|||
|
||||
int main()
|
||||
{
|
||||
sf::RenderWindow window(sf::VideoMode{1280, 720}, "Test", sf::Style::Default);
|
||||
sf::RenderWindow window(sf::VideoMode{1280, 720}, "Test", sf::Style::Fullscreen);
|
||||
ApplicationSFML app(&window);
|
||||
if (app.init())
|
||||
app.run();
|
||||
|
|
|
@ -163,6 +163,7 @@ void ClassicEditor::update(kku::UpdateData&& updatedata)
|
|||
void ClassicEditor::display() const
|
||||
{
|
||||
_graphics_manager->display();
|
||||
_selection_manager->display();
|
||||
}
|
||||
|
||||
void ClassicEditor::recalculate(const kku::microsec& timestamp)
|
||||
|
|
|
@ -51,3 +51,13 @@ bool SelectionManager::isMultiselectionEnabled() const
|
|||
{
|
||||
return _multiselection_enabled;
|
||||
}
|
||||
|
||||
void SelectionManager::display() const
|
||||
{
|
||||
for (const auto& note : _selected_notes)
|
||||
for (const auto& element : note->getElements())
|
||||
if (element.selected)
|
||||
{
|
||||
element.selection->display();
|
||||
}
|
||||
}
|
||||
|
|
|
@ -19,6 +19,8 @@ public:
|
|||
void enableMultiselection(bool enable = true);
|
||||
bool isMultiselectionEnabled() const;
|
||||
|
||||
void display() const;
|
||||
|
||||
private:
|
||||
std::vector<ClassicMockNote*> _selected_notes;
|
||||
bool _multiselection_enabled;
|
||||
|
|
|
@ -118,8 +118,6 @@ void ClassicSceneGraphicsManager::display(const std::vector<MockElement>& elemen
|
|||
}
|
||||
|
||||
sprite->display();
|
||||
if (elements[i].selected)
|
||||
elements[i].selection->display();
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -181,7 +179,7 @@ void ClassicSceneGraphicsManager::fetchFirstNote(const kku::microsec& offset)
|
|||
if (offset < (*_first)->getPerfectOffset())
|
||||
{
|
||||
Iterator note_iterator = _first;
|
||||
while (note_iterator != _timeline->begin() && !isVisiblyClose(note_iterator, offset))
|
||||
while (note_iterator != _timeline->begin() && isVisiblyClose(note_iterator, offset))
|
||||
{
|
||||
--note_iterator;
|
||||
}
|
||||
|
@ -194,7 +192,7 @@ void ClassicSceneGraphicsManager::fetchFirstNote(const kku::microsec& offset)
|
|||
&& offset <= note->getPerfectOffset())
|
||||
{
|
||||
note->setState(ClassicNote::State::FLYING);
|
||||
note->setGraphics(this, kku::TimeRange{offset, note->getPerfectOffset()});
|
||||
note->setGraphics(this, kku::TimeRange{note->getPerfectOffset() - _visibility_offset, note->getPerfectOffset()});
|
||||
}
|
||||
}
|
||||
else
|
||||
|
@ -229,7 +227,7 @@ void ClassicSceneGraphicsManager::fetchLastNote(const kku::microsec& offset)
|
|||
&& offset <= note->getPerfectOffset())
|
||||
{
|
||||
note->setState(ClassicNote::State::FLYING);
|
||||
note->setGraphics(this, kku::TimeRange{offset, note->getPerfectOffset()});
|
||||
note->setGraphics(this, kku::TimeRange{note->getPerfectOffset() - _visibility_offset, note->getPerfectOffset()});
|
||||
}
|
||||
|
||||
++note_iterator;
|
||||
|
|
Loading…
Reference in New Issue