Browse Source

cleanup

Clean out the link vars and functions from guinaveditorctrl its now handled by the tool

offmeshcontool: Add ability to continue to draw from the last links end point holding shift
marauder2k7 1 month ago
parent
commit
a0b4b8627f

+ 3 - 49
Engine/source/navigation/guiNavEditorCtrl.cpp

@@ -61,8 +61,6 @@ GuiNavEditorCtrl::GuiNavEditorCtrl()
    mMesh = NULL;
    mPlayer = mCurPlayer = NULL;
    mSpawnClass = mSpawnDatablock = "";
-   mLinkStart = Point3F::Max;
-   mLink = mCurLink = -1;
 }
 
 GuiNavEditorCtrl::~GuiNavEditorCtrl()
@@ -118,6 +116,9 @@ void GuiNavEditorCtrl::selectMesh(NavMesh *mesh)
 {
    mesh->setSelected(true);
    mMesh = mesh;
+
+   if (mTool)
+      mTool->setActiveNavMesh(mMesh);
 }
 
 DefineEngineMethod(GuiNavEditorCtrl, selectMesh, void, (S32 id),,
@@ -156,8 +157,6 @@ void GuiNavEditorCtrl::deselect()
       mMesh->setSelected(false);
    mMesh = NULL;
    mPlayer = mCurPlayer = NULL;
-   mLinkStart = Point3F::Max;
-   mLink = mCurLink = -1;
 }
 
 DefineEngineMethod(GuiNavEditorCtrl, deselect, void, (),,
@@ -166,37 +165,6 @@ DefineEngineMethod(GuiNavEditorCtrl, deselect, void, (),,
    object->deselect();
 }
 
-void GuiNavEditorCtrl::deleteLink()
-{
-   if(!mMesh.isNull() && mLink != -1)
-   {
-      mMesh->selectLink(mLink, false);
-      mMesh->deleteLink(mLink);
-      mLink = -1;
-      Con::executef(this, "onLinkDeselected");
-   }
-}
-
-DefineEngineMethod(GuiNavEditorCtrl, deleteLink, void, (),,
-   "@brief Delete the currently selected link.")
-{
-   object->deleteLink();
-}
-
-void GuiNavEditorCtrl::setLinkFlags(const LinkData &d)
-{
-   if(mMode == mLinkMode && !mMesh.isNull() && mLink != -1)
-   {
-      mMesh->setLinkFlags(mLink, d);
-   }
-}
-
-DefineEngineMethod(GuiNavEditorCtrl, setLinkFlags, void, (U32 flags),,
-   "@Brief Set jump and drop properties of the selected link.")
-{
-   object->setLinkFlags(LinkData(flags));
-}
-
 void GuiNavEditorCtrl::spawnPlayer(const Point3F &pos)
 {
    SceneObject *obj = (SceneObject*)Sim::spawnObject(mSpawnClass, mSpawnDatablock);
@@ -511,20 +479,6 @@ void GuiNavEditorCtrl::renderScene(const RectI & updateRect)
    if (mTool)
       mTool->onRender3D();
 
-   if(mMode == mLinkMode)
-   {
-      if(mLinkStart != Point3F::Max)
-      {
-         GFXStateBlockDesc desc;
-         desc.setBlend(false);
-         desc.setZReadWrite(true ,true);
-         MatrixF linkMat(true);
-		 linkMat.setPosition(mLinkStart);
-         Point3F scale(0.8f, 0.8f, 0.8f);
-         GFX->getDrawUtil()->drawTransform(desc, linkMat, &scale);
-      }
-   }
-
    if(mMode == mTestMode)
    {
       if(!mCurPlayer.isNull())

+ 0 - 7
Engine/source/navigation/guiNavEditorCtrl.h

@@ -139,13 +139,6 @@ protected:
    /// The active tool in used by the editor.
    SimObjectPtr<NavMeshTool> mTool;
 
-   /// @name Link mode
-   /// @{
-
-   Point3F mLinkStart;
-   S32 mCurLink;
-   S32 mLink;
-
    /// @}
 
    /// @name Tile mode

+ 9 - 1
Engine/source/navigation/navMeshTools/offMeshConnTool.cpp

@@ -67,7 +67,12 @@ void OffMeshConnectionTool::on3DMouseDown(const Gui3DMouseEvent& evt)
          {
             mLink = mNavMesh->addLink(mLinkStart, ri.point, mBiDir);
             mNavMesh->selectLink(mLink, true, false);
-            mLinkStart = Point3F::Max;
+
+            if (shift)
+               mLinkStart = ri.point;
+            else
+               mLinkStart = Point3F::Max;
+
             Con::executef(this, "onLinkSelected", Con::getIntArg(mLinkCache.getFlags()), Con::getBoolArg(mBiDir));
          }
          else
@@ -156,6 +161,9 @@ bool OffMeshConnectionTool::updateGuiInfo()
    String text;
    text = "LMB To Select Link. CTRL+LMB To Delete Link";
 
+   if (mLinkStart != Point3F::Max)
+      text = "LinkStarted: LMB To place End Point. Hold Left Shift to start a new Link from the end point.";
+
    if (statusbar)
       Con::executef(statusbar, "setInfo", text.c_str());