mirror of
https://github.com/overte-org/overte.git
synced 2025-07-23 13:04:07 +02:00
fix fade out
This commit is contained in:
parent
1d1510e18e
commit
df1a848811
2 changed files with 16 additions and 14 deletions
|
@ -763,8 +763,7 @@ void Avatar::fadeOut(render::ScenePointer scene, KillAvatarReason reason) {
|
||||||
|
|
||||||
if (reason == KillAvatarReason::YourAvatarEnteredTheirBubble) {
|
if (reason == KillAvatarReason::YourAvatarEnteredTheirBubble) {
|
||||||
transitionType = render::Transition::BUBBLE_ISECT_TRESPASSER;
|
transitionType = render::Transition::BUBBLE_ISECT_TRESPASSER;
|
||||||
}
|
} else if (reason == KillAvatarReason::TheirAvatarEnteredYourBubble) {
|
||||||
else if (reason == KillAvatarReason::TheirAvatarEnteredYourBubble) {
|
|
||||||
transitionType = render::Transition::BUBBLE_ISECT_OWNER;
|
transitionType = render::Transition::BUBBLE_ISECT_OWNER;
|
||||||
}
|
}
|
||||||
fade(transaction, transitionType);
|
fade(transaction, transitionType);
|
||||||
|
@ -782,14 +781,15 @@ void Avatar::fade(render::Transaction& transaction, render::Transition::Type typ
|
||||||
}
|
}
|
||||||
|
|
||||||
void Avatar::updateFadingStatus() {
|
void Avatar::updateFadingStatus() {
|
||||||
render::Transaction transaction;
|
if (_isFading) {
|
||||||
transaction.queryTransitionOnItem(_renderItemID, [this](render::ItemID id, const render::Transition* transition) {
|
render::Transaction transaction;
|
||||||
if (!transition || transition->isFinished) {
|
transaction.queryTransitionOnItem(_renderItemID, [this](render::ItemID id, const render::Transition* transition) {
|
||||||
AbstractViewStateInterface::instance()->getMain3DScene()->resetItemTransition(id);
|
if (!transition || transition->isFinished) {
|
||||||
_isFading = false;
|
_isFading = false;
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
AbstractViewStateInterface::instance()->getMain3DScene()->enqueueTransaction(transaction);
|
AbstractViewStateInterface::instance()->getMain3DScene()->enqueueTransaction(transaction);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void Avatar::removeFromScene(AvatarSharedPointer self, const render::ScenePointer& scene, render::Transaction& transaction) {
|
void Avatar::removeFromScene(AvatarSharedPointer self, const render::ScenePointer& scene, render::Transaction& transaction) {
|
||||||
|
|
|
@ -391,15 +391,17 @@ void Scene::transitionItems(const Transaction::TransitionAdds& transactions) {
|
||||||
|
|
||||||
// Remove pre-existing transition, if need be
|
// Remove pre-existing transition, if need be
|
||||||
if (!TransitionStage::isIndexInvalid(transitionId)) {
|
if (!TransitionStage::isIndexInvalid(transitionId)) {
|
||||||
transitionStage->removeTransition(transitionId);
|
resetItemTransition(itemId);
|
||||||
transitionId = TransitionStage::INVALID_INDEX;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// Add a new one.
|
// Add a new one.
|
||||||
if (transitionType != Transition::NONE) {
|
if (transitionType != Transition::NONE) {
|
||||||
transitionId = transitionStage->addTransition(itemId, transitionType, boundId);
|
transitionId = transitionStage->addTransition(itemId, transitionType, boundId);
|
||||||
}
|
|
||||||
|
|
||||||
setItemTransition(itemId, transitionId);
|
if (!TransitionStage::isIndexInvalid(transitionId)) {
|
||||||
|
setItemTransition(itemId, transitionId);
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue