mirror of
https://github.com/AxioDL/PrimeWorldEditor.git
synced 2025-12-17 17:05:37 +00:00
CSceneNode: Make NodeType() const
These don't modify member state.
This commit is contained in:
@@ -10,7 +10,7 @@ CCharacterNode::CCharacterNode(CScene *pScene, uint32 NodeID, CAnimSet *pChar /*
|
||||
SetCharSet(pChar);
|
||||
}
|
||||
|
||||
ENodeType CCharacterNode::NodeType()
|
||||
ENodeType CCharacterNode::NodeType() const
|
||||
{
|
||||
return ENodeType::Character;
|
||||
}
|
||||
|
||||
@@ -19,7 +19,7 @@ class CCharacterNode : public CSceneNode
|
||||
public:
|
||||
explicit CCharacterNode(CScene *pScene, uint32 NodeID, CAnimSet *pChar = nullptr, CSceneNode *pParent = nullptr);
|
||||
|
||||
ENodeType NodeType() override;
|
||||
ENodeType NodeType() const override;
|
||||
void PostLoad() override;
|
||||
void AddToRenderer(CRenderer *pRenderer, const SViewInfo& rkViewInfo) override;
|
||||
void Draw(FRenderOptions Options, int ComponentIndex, ERenderCommand Command, const SViewInfo& rkViewInfo) override;
|
||||
|
||||
@@ -11,7 +11,7 @@ CCollisionNode::CCollisionNode(CScene *pScene, uint32 NodeID, CSceneNode *pParen
|
||||
SetName("Collision");
|
||||
}
|
||||
|
||||
ENodeType CCollisionNode::NodeType()
|
||||
ENodeType CCollisionNode::NodeType() const
|
||||
{
|
||||
return ENodeType::Collision;
|
||||
}
|
||||
|
||||
@@ -10,7 +10,7 @@ class CCollisionNode : public CSceneNode
|
||||
|
||||
public:
|
||||
CCollisionNode(CScene *pScene, uint32 NodeID, CSceneNode *pParent = nullptr, CCollisionMeshGroup *pCollision = nullptr);
|
||||
ENodeType NodeType() override;
|
||||
ENodeType NodeType() const override;
|
||||
void AddToRenderer(CRenderer *pRenderer, const SViewInfo& rkViewInfo) override;
|
||||
void Draw(FRenderOptions Options, int ComponentIndex, ERenderCommand Command, const SViewInfo& rkViewInfo) override;
|
||||
void RayAABoxIntersectTest(CRayCollisionTester& rTester, const SViewInfo& rkViewInfo) override;
|
||||
|
||||
@@ -20,7 +20,7 @@ CLightNode::CLightNode(CScene *pScene, uint32 NodeID, CSceneNode *pParent, CLigh
|
||||
}
|
||||
}
|
||||
|
||||
ENodeType CLightNode::NodeType()
|
||||
ENodeType CLightNode::NodeType() const
|
||||
{
|
||||
return ENodeType::Light;
|
||||
}
|
||||
|
||||
@@ -9,7 +9,7 @@ class CLightNode : public CSceneNode
|
||||
CLight *mpLight;
|
||||
public:
|
||||
CLightNode(CScene *pScene, uint32 NodeID, CSceneNode *pParent = nullptr, CLight *Light = nullptr);
|
||||
ENodeType NodeType() override;
|
||||
ENodeType NodeType() const override;
|
||||
void AddToRenderer(CRenderer* pRenderer, const SViewInfo& ViewInfo) override;
|
||||
void Draw(FRenderOptions Options, int ComponentIndex, ERenderCommand Command, const SViewInfo& ViewInfo) override;
|
||||
void DrawSelection() override;
|
||||
|
||||
@@ -11,7 +11,7 @@ CModelNode::CModelNode(CScene *pScene, uint32 NodeID, CSceneNode *pParent, CMode
|
||||
SetModel(pModel);
|
||||
}
|
||||
|
||||
ENodeType CModelNode::NodeType()
|
||||
ENodeType CModelNode::NodeType() const
|
||||
{
|
||||
return ENodeType::Model;
|
||||
}
|
||||
|
||||
@@ -17,7 +17,7 @@ class CModelNode : public CSceneNode
|
||||
public:
|
||||
explicit CModelNode(CScene *pScene, uint32 NodeID, CSceneNode *pParent = nullptr, CModel *pModel = nullptr);
|
||||
|
||||
ENodeType NodeType() override;
|
||||
ENodeType NodeType() const override;
|
||||
void PostLoad() override;
|
||||
void AddToRenderer(CRenderer* pRenderer, const SViewInfo& rkViewInfo) override;
|
||||
void Draw(FRenderOptions Options, int ComponentIndex, ERenderCommand Command, const SViewInfo& rkViewInfo) override;
|
||||
|
||||
@@ -11,7 +11,7 @@ public:
|
||||
: CSceneNode(pScene, NodeID, pParent) {}
|
||||
~CRootNode() override = default;
|
||||
|
||||
ENodeType NodeType() override
|
||||
ENodeType NodeType() const override
|
||||
{
|
||||
return ENodeType::Root;
|
||||
}
|
||||
|
||||
@@ -104,7 +104,7 @@ protected:
|
||||
public:
|
||||
explicit CSceneNode(CScene *pScene, uint32 NodeID, CSceneNode *pParent = nullptr);
|
||||
~CSceneNode() override;
|
||||
virtual ENodeType NodeType() = 0;
|
||||
virtual ENodeType NodeType() const = 0;
|
||||
virtual void PostLoad() {}
|
||||
virtual void OnTransformed() {}
|
||||
void AddToRenderer(CRenderer* /*pRenderer*/, const SViewInfo& /*rkViewInfo*/) override {}
|
||||
|
||||
@@ -26,7 +26,7 @@ public:
|
||||
void ParentDisplayAssetChanged(CResource *pNewDisplayAsset);
|
||||
CModel* Model() const;
|
||||
|
||||
ENodeType NodeType() override { return ENodeType::ScriptAttach; }
|
||||
ENodeType NodeType() const override { return ENodeType::ScriptAttach; }
|
||||
void AddToRenderer(CRenderer* pRenderer, const SViewInfo& rkViewInfo) override;
|
||||
void Draw(FRenderOptions Options, int ComponentIndex, ERenderCommand Command, const SViewInfo& rkViewInfo) override;
|
||||
void DrawSelection() override;
|
||||
|
||||
@@ -73,7 +73,7 @@ CScriptNode::CScriptNode(CScene *pScene, uint32 NodeID, CSceneNode *pParent, CSc
|
||||
mpExtra = CScriptExtra::CreateExtra(this);
|
||||
}
|
||||
|
||||
ENodeType CScriptNode::NodeType()
|
||||
ENodeType CScriptNode::NodeType() const
|
||||
{
|
||||
return ENodeType::Script;
|
||||
}
|
||||
|
||||
@@ -37,7 +37,7 @@ public:
|
||||
EGameModeVisibility mGameModeVisibility{EGameModeVisibility::Untested};
|
||||
|
||||
CScriptNode(CScene *pScene, uint32 NodeID, CSceneNode *pParent = nullptr, CScriptObject *pObject = nullptr);
|
||||
ENodeType NodeType() override;
|
||||
ENodeType NodeType() const override;
|
||||
void PostLoad() override;
|
||||
void OnTransformed() override;
|
||||
void AddToRenderer(CRenderer* pRenderer, const SViewInfo& rkViewInfo) override;
|
||||
|
||||
@@ -13,7 +13,7 @@ CStaticNode::CStaticNode(CScene *pScene, uint32 NodeID, CSceneNode *pParent, CSt
|
||||
SetName("Static Node");
|
||||
}
|
||||
|
||||
ENodeType CStaticNode::NodeType()
|
||||
ENodeType CStaticNode::NodeType() const
|
||||
{
|
||||
return ENodeType::Static;
|
||||
}
|
||||
|
||||
@@ -10,7 +10,7 @@ class CStaticNode : public CSceneNode
|
||||
|
||||
public:
|
||||
CStaticNode(CScene *pScene, uint32 NodeID, CSceneNode *pParent = nullptr, CStaticModel *pModel = nullptr);
|
||||
ENodeType NodeType() override;
|
||||
ENodeType NodeType() const override;
|
||||
void PostLoad() override;
|
||||
void AddToRenderer(CRenderer* pRenderer, const SViewInfo& rkViewInfo) override;
|
||||
void Draw(FRenderOptions Options, int ComponentIndex, ERenderCommand Command, const SViewInfo& rkViewInfo) override;
|
||||
|
||||
@@ -39,7 +39,7 @@ public:
|
||||
EGame Game() const { return mGame; }
|
||||
|
||||
// Default implementations for CSceneNode
|
||||
ENodeType NodeType() override { return ENodeType::ScriptExtra; }
|
||||
ENodeType NodeType() const override { return ENodeType::ScriptExtra; }
|
||||
void RayAABoxIntersectTest(CRayCollisionTester& /*rTester*/, const SViewInfo& /*rkViewInfo*/) override {}
|
||||
SRayIntersection RayNodeIntersectTest(const CRay& /*rkRay*/, uint32 /*AssetID*/, const SViewInfo& /*rkViewInfo*/) override
|
||||
{
|
||||
|
||||
@@ -118,7 +118,7 @@ public:
|
||||
void UpdateBounds() { mBoundsDirty = true; }
|
||||
void SetAllowedNodeTypes(FNodeFlags Types) { mAllowedNodes = Types; }
|
||||
bool IsAllowedType(ENodeType Type) const { return (mAllowedNodes & Type) != 0; }
|
||||
bool IsAllowedType(CSceneNode *pNode) const { return (mAllowedNodes & pNode->NodeType()) != 0; }
|
||||
bool IsAllowedType(const CSceneNode *pNode) const { return (mAllowedNodes & pNode->NodeType()) != 0; }
|
||||
const QList<CSceneNode*>& SelectedNodeList() const { return mSelectedNodes; }
|
||||
|
||||
signals:
|
||||
|
||||
@@ -86,15 +86,17 @@ void CSceneViewport::CheckGizmoInput(const CRay& rkRay)
|
||||
else
|
||||
mGizmoHovering = false;
|
||||
}
|
||||
|
||||
// Gizmo transforming: Run gizmo input with ray/mouse coords
|
||||
else if (mGizmoTransforming)
|
||||
{
|
||||
bool transformed = pGizmo->TransformFromInput(rkRay, mCamera);
|
||||
if (transformed) emit GizmoMoved();
|
||||
const bool transformed = pGizmo->TransformFromInput(rkRay, mCamera);
|
||||
if (transformed)
|
||||
emit GizmoMoved();
|
||||
}
|
||||
else
|
||||
{
|
||||
mGizmoHovering = false;
|
||||
}
|
||||
|
||||
else mGizmoHovering = false;
|
||||
}
|
||||
|
||||
SRayIntersection CSceneViewport::SceneRayCast(const CRay& rkRay)
|
||||
@@ -105,8 +107,7 @@ SRayIntersection CSceneViewport::SceneRayCast(const CRay& rkRay)
|
||||
return SRayIntersection();
|
||||
}
|
||||
|
||||
SRayIntersection Intersect = mpScene->SceneRayCast(rkRay, mViewInfo);
|
||||
|
||||
const SRayIntersection Intersect = mpScene->SceneRayCast(rkRay, mViewInfo);
|
||||
if (Intersect.Hit)
|
||||
{
|
||||
if (mpHoverNode)
|
||||
@@ -116,7 +117,6 @@ SRayIntersection CSceneViewport::SceneRayCast(const CRay& rkRay)
|
||||
mpHoverNode->SetMouseHovering(true);
|
||||
mHoverPoint = rkRay.PointOnRay(Intersect.Distance);
|
||||
}
|
||||
|
||||
else
|
||||
{
|
||||
mHoverPoint = rkRay.PointOnRay(10.f);
|
||||
@@ -128,7 +128,9 @@ SRayIntersection CSceneViewport::SceneRayCast(const CRay& rkRay)
|
||||
|
||||
void CSceneViewport::ResetHover()
|
||||
{
|
||||
if (mpHoverNode) mpHoverNode->SetMouseHovering(false);
|
||||
if (mpHoverNode)
|
||||
mpHoverNode->SetMouseHovering(false);
|
||||
|
||||
mpHoverNode = nullptr;
|
||||
}
|
||||
|
||||
@@ -243,17 +245,18 @@ QMouseEvent CSceneViewport::CreateMouseEvent()
|
||||
|
||||
void CSceneViewport::FindConnectedObjects(uint32 InstanceID, bool SearchOutgoing, bool SearchIncoming, QList<uint32>& rIDList)
|
||||
{
|
||||
CScriptNode *pScript = mpScene->NodeForInstanceID(InstanceID);
|
||||
if (!pScript) return;
|
||||
const CScriptNode* pScript = mpScene->NodeForInstanceID(InstanceID);
|
||||
if (!pScript)
|
||||
return;
|
||||
|
||||
CScriptObject *pInst = pScript->Instance();
|
||||
const CScriptObject* pInst = pScript->Instance();
|
||||
rIDList.push_back(InstanceID);
|
||||
|
||||
if (SearchOutgoing)
|
||||
{
|
||||
for (size_t iLink = 0; iLink < pInst->NumLinks(ELinkType::Outgoing); iLink++)
|
||||
{
|
||||
CLink *pLink = pInst->Link(ELinkType::Outgoing, iLink);
|
||||
const CLink* pLink = pInst->Link(ELinkType::Outgoing, iLink);
|
||||
|
||||
if (!rIDList.contains(pLink->ReceiverID()))
|
||||
FindConnectedObjects(pLink->ReceiverID(), SearchOutgoing, SearchIncoming, rIDList);
|
||||
@@ -264,7 +267,7 @@ void CSceneViewport::FindConnectedObjects(uint32 InstanceID, bool SearchOutgoing
|
||||
{
|
||||
for (size_t iLink = 0; iLink < pInst->NumLinks(ELinkType::Incoming); iLink++)
|
||||
{
|
||||
CLink *pLink = pInst->Link(ELinkType::Incoming, iLink);
|
||||
const CLink* pLink = pInst->Link(ELinkType::Incoming, iLink);
|
||||
|
||||
if (!rIDList.contains(pLink->SenderID()))
|
||||
FindConnectedObjects(pLink->SenderID(), SearchOutgoing, SearchIncoming, rIDList);
|
||||
@@ -293,9 +296,10 @@ void CSceneViewport::CheckUserInput()
|
||||
if (!mpEditor->Gizmo()->IsTransforming())
|
||||
mRayIntersection = SceneRayCast(Ray);
|
||||
}
|
||||
|
||||
else
|
||||
{
|
||||
mRayIntersection = SRayIntersection();
|
||||
}
|
||||
|
||||
QMouseEvent Event = CreateMouseEvent();
|
||||
emit InputProcessed(mRayIntersection, &Event);
|
||||
@@ -309,10 +313,10 @@ void CSceneViewport::Paint()
|
||||
mpRenderer->BeginFrame();
|
||||
|
||||
// todo: The sky should really just be a regular node in the background depth group instead of having special rendering code here
|
||||
if ((mViewInfo.ShowFlags & EShowFlag::Sky) || mViewInfo.GameMode)
|
||||
if ((mViewInfo.ShowFlags & EShowFlag::Sky) != 0 || mViewInfo.GameMode)
|
||||
{
|
||||
CModel *pSky = mpScene->ActiveSkybox();
|
||||
if (pSky) mpRenderer->RenderSky(pSky, mViewInfo);
|
||||
if (CModel* pSky = mpScene->ActiveSkybox())
|
||||
mpRenderer->RenderSky(pSky, mViewInfo);
|
||||
}
|
||||
|
||||
mCamera.LoadMatrices();
|
||||
@@ -331,7 +335,8 @@ void CSceneViewport::Paint()
|
||||
mGrid.AddToRenderer(mpRenderer.get(), mViewInfo);
|
||||
|
||||
// Draw the line for the link the user is editing.
|
||||
if (mLinkLineEnabled) mLinkLine.AddToRenderer(mpRenderer.get(), mViewInfo);
|
||||
if (mLinkLineEnabled)
|
||||
mLinkLine.AddToRenderer(mpRenderer.get(), mViewInfo);
|
||||
|
||||
mpRenderer->RenderBuckets(mViewInfo);
|
||||
mpRenderer->EndFrame();
|
||||
@@ -344,12 +349,12 @@ void CSceneViewport::ContextMenu(QContextMenuEvent *pEvent)
|
||||
|
||||
// Set up actions
|
||||
TString NodeName;
|
||||
bool HasHoverNode = (mpHoverNode && (mpHoverNode->NodeType() != ENodeType::Static) && (mpHoverNode->NodeType() != ENodeType::Model));
|
||||
bool HasSelection = mpEditor->HasSelection();
|
||||
bool IsScriptNode = (mpHoverNode && mpHoverNode->NodeType() == ENodeType::Script);
|
||||
const bool HasHoverNode = (mpHoverNode && (mpHoverNode->NodeType() != ENodeType::Static) && (mpHoverNode->NodeType() != ENodeType::Model));
|
||||
const bool HasSelection = mpEditor->HasSelection();
|
||||
const bool IsScriptNode = (mpHoverNode && mpHoverNode->NodeType() == ENodeType::Script);
|
||||
|
||||
CWorldEditor* pOwnerWorldEd = qobject_cast<CWorldEditor*>(mpEditor);
|
||||
bool QuickplayEnabled = (pOwnerWorldEd && pOwnerWorldEd->IsQuickplayEnabled());
|
||||
const auto* pOwnerWorldEd = qobject_cast<const CWorldEditor*>(mpEditor);
|
||||
const bool QuickplayEnabled = (pOwnerWorldEd && pOwnerWorldEd->IsQuickplayEnabled());
|
||||
|
||||
mpToggleSelectAction->setVisible(HasHoverNode);
|
||||
mpSelectConnectedMenu->menuAction()->setVisible(IsScriptNode);
|
||||
@@ -381,10 +386,10 @@ void CSceneViewport::ContextMenu(QContextMenuEvent *pEvent)
|
||||
mpHideHoverTypeAction->setText(tr("Hide all %1 objects").arg(TO_QSTRING(pScript->Template()->Name())));
|
||||
mpHideHoverLayerAction->setText(tr("Hide layer %1").arg(TO_QSTRING(pScript->Instance()->Layer()->Name())));
|
||||
}
|
||||
|
||||
else if (HasHoverNode)
|
||||
{
|
||||
NodeName = mpHoverNode->Name();
|
||||
|
||||
}
|
||||
mpHideHoverNodeAction->setText(tr("Hide %1").arg(TO_QSTRING(NodeName)));
|
||||
|
||||
// Show menu
|
||||
@@ -424,10 +429,10 @@ void CSceneViewport::OnMouseRelease(QMouseEvent *pEvent)
|
||||
mpEditor->EndGizmoTransform();
|
||||
mGizmoTransforming = false;
|
||||
}
|
||||
|
||||
// Object selection/deselection
|
||||
else
|
||||
else // Object selection/deselection
|
||||
{
|
||||
emit ViewportClick(mRayIntersection, pEvent);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -86,28 +86,30 @@ void CPasteNodesCommand::redo()
|
||||
// 1. If the link receiver has also been copied then redirect to the copied version.
|
||||
// 2. If we're pasting into the same area that this data was copied from and the receiver still exists, connect to original receiver.
|
||||
// 3. If neither of those things is true, then delete the link.
|
||||
for (CSceneNode *pNode : PastedNodes)
|
||||
for (const CSceneNode* pNode : PastedNodes)
|
||||
{
|
||||
if (pNode && pNode->NodeType() == ENodeType::Script)
|
||||
{
|
||||
CScriptObject *pInstance = static_cast<CScriptNode*>(pNode)->Instance();
|
||||
const auto* pInstance = static_cast<const CScriptNode*>(pNode)->Instance();
|
||||
|
||||
for (size_t iLink = 0; iLink < pInstance->NumLinks(ELinkType::Outgoing); iLink++)
|
||||
{
|
||||
CLink *pLink = pInstance->Link(ELinkType::Outgoing, iLink);
|
||||
int Index = mpMimeData->IndexOfInstanceID(pLink->ReceiverID());
|
||||
CLink* pLink = pInstance->Link(ELinkType::Outgoing, iLink);
|
||||
const int Index = mpMimeData->IndexOfInstanceID(pLink->ReceiverID());
|
||||
|
||||
if (Index != -1)
|
||||
{
|
||||
CScriptObject *pNewTarget = static_cast<CScriptNode*>(PastedNodes[Index])->Instance();
|
||||
const auto* pNewTarget = static_cast<CScriptNode*>(PastedNodes[Index])->Instance();
|
||||
pLink->SetReceiver(pNewTarget->InstanceID());
|
||||
}
|
||||
else if (mpMimeData->AreaID() != pArea->ID() || pArea->InstanceByID(pLink->ReceiverID()) == nullptr)
|
||||
{
|
||||
CScriptObject *pSender = pLink->Sender();
|
||||
CScriptObject *pReceiver = pLink->Receiver();
|
||||
if (pSender) pSender->RemoveLink(ELinkType::Outgoing, pLink);
|
||||
if (pReceiver) pReceiver->RemoveLink(ELinkType::Incoming, pLink);
|
||||
CScriptObject* pSender = pLink->Sender();
|
||||
CScriptObject* pReceiver = pLink->Receiver();
|
||||
if (pSender)
|
||||
pSender->RemoveLink(ELinkType::Outgoing, pLink);
|
||||
if (pReceiver)
|
||||
pReceiver->RemoveLink(ELinkType::Incoming, pLink);
|
||||
|
||||
delete pLink;
|
||||
iLink--;
|
||||
|
||||
@@ -411,7 +411,7 @@ void CInstancesModel::NodeCreated(CSceneNode *pNode)
|
||||
{
|
||||
if (pNode->NodeType() == ENodeType::Script)
|
||||
{
|
||||
CScriptNode *pScript = static_cast<CScriptNode*>(pNode);
|
||||
const auto* pScript = static_cast<const CScriptNode*>(pNode);
|
||||
CScriptObject *pObj = pScript->Instance();
|
||||
pObj->Template()->SortObjects();
|
||||
|
||||
@@ -441,8 +441,8 @@ void CInstancesModel::NodeAboutToBeDeleted(CSceneNode *pNode)
|
||||
|
||||
if (mModelType == EInstanceModelType::Types)
|
||||
{
|
||||
const auto *pScript = static_cast<CScriptNode*>(pNode);
|
||||
const CScriptObject *pObj = pScript->Instance();
|
||||
const auto* pScript = static_cast<const CScriptNode*>(pNode);
|
||||
const CScriptObject* pObj = pScript->Instance();
|
||||
|
||||
if (pObj->Template()->NumObjects() <= 1)
|
||||
{
|
||||
|
||||
@@ -800,7 +800,7 @@ void CWorldEditor::UpdateStatusBar()
|
||||
{
|
||||
if (ui->MainViewport->underMouse())
|
||||
{
|
||||
CSceneNode *pHoverNode = ui->MainViewport->HoverNode();
|
||||
const CSceneNode* pHoverNode = ui->MainViewport->HoverNode();
|
||||
|
||||
if (pHoverNode && mpSelection->IsAllowedType(pHoverNode))
|
||||
StatusText = TO_QSTRING(pHoverNode->Name());
|
||||
@@ -895,11 +895,11 @@ void CWorldEditor::UpdateCursor()
|
||||
{
|
||||
if (ui->MainViewport->IsCursorVisible() && !mPickMode)
|
||||
{
|
||||
CSceneNode *pHoverNode = ui->MainViewport->HoverNode();
|
||||
const CSceneNode* pHoverNode = ui->MainViewport->HoverNode();
|
||||
|
||||
if (ui->MainViewport->IsHoveringGizmo())
|
||||
ui->MainViewport->SetCursorState(Qt::SizeAllCursor);
|
||||
else if ((pHoverNode) && mpSelection->IsAllowedType(pHoverNode))
|
||||
else if (pHoverNode && mpSelection->IsAllowedType(pHoverNode))
|
||||
ui->MainViewport->SetCursorState(Qt::PointingHandCursor);
|
||||
else
|
||||
ui->MainViewport->SetCursorState(Qt::ArrowCursor);
|
||||
@@ -955,7 +955,7 @@ void CWorldEditor::UpdateNewLinkLine()
|
||||
|
||||
if (ui->MainViewport->underMouse() && !ui->MainViewport->IsMouseInputActive() && IsPicking)
|
||||
{
|
||||
CSceneNode* pHoverNode = ui->MainViewport->HoverNode();
|
||||
const CSceneNode* pHoverNode = ui->MainViewport->HoverNode();
|
||||
const CScriptObject* pInst = (pSender ? pSender : pReceiver);
|
||||
|
||||
CVector3f Start = mScene.NodeForInstance(pInst)->CenterPoint();
|
||||
|
||||
@@ -74,8 +74,8 @@ void WEditorProperties::SetLayerComboBox()
|
||||
|
||||
if (mpDisplayNode && mpDisplayNode->NodeType() == ENodeType::Script)
|
||||
{
|
||||
CScriptNode *pScript = static_cast<CScriptNode*>(mpDisplayNode);
|
||||
CScriptLayer *pLayer = pScript->Instance()->Layer();
|
||||
const auto* pScript = static_cast<const CScriptNode*>(mpDisplayNode);
|
||||
const auto* pLayer = pScript->Instance()->Layer();
|
||||
for (size_t iLyr = 0; iLyr < mpEditor->ActiveArea()->NumScriptLayers(); iLyr++)
|
||||
{
|
||||
if (mpEditor->ActiveArea()->ScriptLayer(iLyr) == pLayer)
|
||||
@@ -98,7 +98,7 @@ void WEditorProperties::SetLayerComboBox()
|
||||
// ************ PUBLIC SLOTS ************
|
||||
void WEditorProperties::OnSelectionModified()
|
||||
{
|
||||
CNodeSelection *pSelection = mpEditor->Selection();
|
||||
const CNodeSelection* pSelection = mpEditor->Selection();
|
||||
mpDisplayNode = (pSelection->Size() == 1 ? pSelection->Front() : nullptr);
|
||||
|
||||
if (pSelection->IsEmpty() || pSelection->Size() != 1 || mpDisplayNode->NodeType() != ENodeType::Script)
|
||||
@@ -125,7 +125,6 @@ void WEditorProperties::OnSelectionModified()
|
||||
|
||||
mpInstanceInfoLabel->setToolTip({});
|
||||
}
|
||||
|
||||
else
|
||||
{
|
||||
CScriptNode *pScript = static_cast<CScriptNode*>(mpDisplayNode);
|
||||
|
||||
@@ -81,8 +81,8 @@ void WModifyTab::GenerateUI()
|
||||
|
||||
if (mpSelectedNode->NodeType() == ENodeType::Script)
|
||||
{
|
||||
CScriptNode *pScriptNode = static_cast<CScriptNode*>(mpSelectedNode);
|
||||
CScriptObject *pObj = pScriptNode->Instance();
|
||||
const auto* pScriptNode = static_cast<const CScriptNode*>(mpSelectedNode);
|
||||
CScriptObject* pObj = pScriptNode->Instance();
|
||||
|
||||
// Set up UI
|
||||
ui->ObjectsTabWidget->show();
|
||||
@@ -118,7 +118,7 @@ void WModifyTab::OnInstanceLinksModified(const QList<CScriptObject*>& rkInstance
|
||||
{
|
||||
if (mpSelectedNode && mpSelectedNode->NodeType() == ENodeType::Script)
|
||||
{
|
||||
CScriptObject *pInstance = static_cast<CScriptNode*>(mpSelectedNode)->Instance();
|
||||
const auto* pInstance = static_cast<const CScriptNode*>(mpSelectedNode)->Instance();
|
||||
|
||||
if (pInstance && rkInstances.contains(pInstance))
|
||||
{
|
||||
@@ -247,7 +247,7 @@ void WModifyTab::OnEditLinkClicked()
|
||||
|
||||
if (SelectedIndices.size() == 1)
|
||||
{
|
||||
CScriptObject *pInst = static_cast<CScriptNode*>(mpSelectedNode)->Instance();
|
||||
const auto* pInst = static_cast<const CScriptNode*>(mpSelectedNode)->Instance();
|
||||
CLinkDialog *pDialog = mpWorldEditor->LinkDialog();
|
||||
pDialog->EditLink(pInst->Link(Type, SelectedIndices.front().row()));
|
||||
pDialog->show();
|
||||
|
||||
Reference in New Issue
Block a user