新增根据帧数控制可见性
This commit is contained in:
@@ -5,6 +5,7 @@
|
||||
#include <QDoubleSpinBox>
|
||||
#include <QFormLayout>
|
||||
#include <QHBoxLayout>
|
||||
#include <QCheckBox>
|
||||
#include <QLabel>
|
||||
#include <QLineEdit>
|
||||
#include <QListWidget>
|
||||
@@ -55,6 +56,15 @@ EntityPropertySection::EntityPropertySection(QWidget* parent)
|
||||
m_userScale->setToolTip(QStringLiteral("人为整体缩放,与深度距离缩放相乘"));
|
||||
form->addRow(QStringLiteral("整体缩放"), m_userScale);
|
||||
|
||||
m_ignoreDistanceScale = new QCheckBox(QStringLiteral("不受距离缩放影响"), this);
|
||||
m_ignoreDistanceScale->setToolTip(QStringLiteral("开启后实体不受深度驱动的距离缩放影响,仅受整体缩放影响(对话气泡默认开启)"));
|
||||
form->addRow(QStringLiteral("距离缩放"), m_ignoreDistanceScale);
|
||||
|
||||
m_visible = new QCheckBox(QString(), this);
|
||||
m_visible->setChecked(true);
|
||||
m_visible->setToolTip(QStringLiteral("随帧变化:在当前帧切换会写入可见性关键帧(10帧淡入淡出)"));
|
||||
form->addRow(QStringLiteral("可见性"), m_visible);
|
||||
|
||||
lay->addLayout(form);
|
||||
|
||||
m_introHeader = new QWidget(this);
|
||||
@@ -133,6 +143,8 @@ EntityPropertySection::EntityPropertySection(QWidget* parent)
|
||||
connect(m_pivot, &Vec2ParamControl::valueChanged, this, &EntityPropertySection::pivotEdited);
|
||||
connect(m_centroid, &Vec2ParamControl::valueChanged, this, &EntityPropertySection::centroidEdited);
|
||||
connect(m_userScale, qOverload<double>(&QDoubleSpinBox::valueChanged), this, &EntityPropertySection::userScaleEdited);
|
||||
connect(m_ignoreDistanceScale, &QCheckBox::toggled, this, &EntityPropertySection::ignoreDistanceScaleToggled);
|
||||
connect(m_visible, &QCheckBox::toggled, this, &EntityPropertySection::visibleToggled);
|
||||
|
||||
connect(m_introTitle, &QLineEdit::textChanged, this, [this](const QString&) { scheduleIntroPersist(); });
|
||||
connect(m_introBody, &QTextEdit::textChanged, this, [this]() { scheduleIntroPersist(); });
|
||||
@@ -183,6 +195,16 @@ void EntityPropertySection::clearDisconnected() {
|
||||
m_userScale->setValue(1.0);
|
||||
m_userScale->blockSignals(false);
|
||||
}
|
||||
if (m_ignoreDistanceScale) {
|
||||
m_ignoreDistanceScale->blockSignals(true);
|
||||
m_ignoreDistanceScale->setChecked(false);
|
||||
m_ignoreDistanceScale->blockSignals(false);
|
||||
}
|
||||
if (m_visible) {
|
||||
m_visible->blockSignals(true);
|
||||
m_visible->setChecked(true);
|
||||
m_visible->blockSignals(false);
|
||||
}
|
||||
if (m_introTitle) {
|
||||
m_introTitle->blockSignals(true);
|
||||
m_introTitle->clear();
|
||||
@@ -224,6 +246,16 @@ void EntityPropertySection::applyState(const EntityPropertyUiState& s) {
|
||||
m_userScale->setValue(s.userScale);
|
||||
m_userScale->blockSignals(false);
|
||||
}
|
||||
if (m_ignoreDistanceScale) {
|
||||
m_ignoreDistanceScale->blockSignals(true);
|
||||
m_ignoreDistanceScale->setChecked(s.ignoreDistanceScale);
|
||||
m_ignoreDistanceScale->blockSignals(false);
|
||||
}
|
||||
if (m_visible) {
|
||||
m_visible->blockSignals(true);
|
||||
m_visible->setChecked(s.visible);
|
||||
m_visible->blockSignals(false);
|
||||
}
|
||||
if (m_introTitle) {
|
||||
m_introTitle->blockSignals(true);
|
||||
m_introTitle->setText(s.intro.title);
|
||||
@@ -288,6 +320,8 @@ void EntityPropertySection::setEditingEnabled(bool on) {
|
||||
if (m_pivot) m_pivot->setEnabled(on);
|
||||
if (m_centroid) m_centroid->setEnabled(on);
|
||||
if (m_userScale) m_userScale->setEnabled(on);
|
||||
if (m_ignoreDistanceScale) m_ignoreDistanceScale->setEnabled(on);
|
||||
if (m_visible) m_visible->setEnabled(on);
|
||||
if (m_introHeader) m_introHeader->setEnabled(on);
|
||||
if (m_introToggle) m_introToggle->setEnabled(on);
|
||||
if (m_introTitle) m_introTitle->setEnabled(on);
|
||||
|
||||
Reference in New Issue
Block a user