mirror of
https://github.com/TorqueGameEngines/Torque3D.git
synced 2026-03-28 08:39:34 +00:00
add cover tool
add cover tool some more cleanup navmeshselecttool needs to use collideBox duDebugDrawTorque now has the transparent blending option
This commit is contained in:
parent
24ec55e8bc
commit
b5d6601b96
11 changed files with 142 additions and 88 deletions
40
Engine/source/navigation/navMeshTools/coverTool.cpp
Normal file
40
Engine/source/navigation/navMeshTools/coverTool.cpp
Normal file
|
|
@ -0,0 +1,40 @@
|
|||
#include "coverTool.h"
|
||||
|
||||
IMPLEMENT_CONOBJECT(CoverTool);
|
||||
|
||||
CoverTool::CoverTool()
|
||||
{
|
||||
}
|
||||
|
||||
void CoverTool::onActivated(const Gui3DMouseEvent& evt)
|
||||
{
|
||||
Con::executef(this, "onActivated");
|
||||
}
|
||||
|
||||
void CoverTool::onDeactivated()
|
||||
{
|
||||
Con::executef(this, "onDeactivated");
|
||||
}
|
||||
|
||||
void CoverTool::on3DMouseDown(const Gui3DMouseEvent& evt)
|
||||
{
|
||||
if (mNavMesh.isNull())
|
||||
return;
|
||||
}
|
||||
|
||||
void CoverTool::on3DMouseMove(const Gui3DMouseEvent& evt)
|
||||
{
|
||||
if (mNavMesh.isNull())
|
||||
return;
|
||||
}
|
||||
|
||||
void CoverTool::onRender3D()
|
||||
{
|
||||
if (mNavMesh.isNull())
|
||||
return;
|
||||
}
|
||||
|
||||
bool CoverTool::updateGuiInfo()
|
||||
{
|
||||
return false;
|
||||
}
|
||||
33
Engine/source/navigation/navMeshTools/coverTool.h
Normal file
33
Engine/source/navigation/navMeshTools/coverTool.h
Normal file
|
|
@ -0,0 +1,33 @@
|
|||
#ifndef _COVERTOOL_H_
|
||||
#define _COVERTOOL_H_
|
||||
|
||||
#ifndef _NAVMESH_TOOL_H_
|
||||
#include "navigation/navMeshTool.h"
|
||||
#endif
|
||||
|
||||
#ifndef _NAVPATH_H_
|
||||
#include "navigation/navPath.h"
|
||||
#endif
|
||||
|
||||
class CoverTool : public NavMeshTool
|
||||
{
|
||||
typedef NavMeshTool Parent;
|
||||
public:
|
||||
DECLARE_CONOBJECT(CoverTool);
|
||||
|
||||
CoverTool();
|
||||
|
||||
virtual ~CoverTool() {}
|
||||
|
||||
void onActivated(const Gui3DMouseEvent& evt) override;
|
||||
void onDeactivated() override;
|
||||
|
||||
void on3DMouseDown(const Gui3DMouseEvent& evt) override;
|
||||
void on3DMouseMove(const Gui3DMouseEvent& evt) override;
|
||||
void onRender3D() override;
|
||||
|
||||
bool updateGuiInfo() override;
|
||||
};
|
||||
|
||||
#endif // !_COVERTOOL_H_
|
||||
|
||||
|
|
@ -44,7 +44,7 @@ void NavMeshSelectTool::on3DMouseDown(const Gui3DMouseEvent& evt)
|
|||
Point3F endPnt = evt.pos + evt.vec * 1000.0f;
|
||||
|
||||
RayInfo ri;
|
||||
if (gServerContainer.castRay(startPnt, endPnt, MarkerObjectType, &ri))
|
||||
if (gServerContainer.collideBox(startPnt, endPnt, MarkerObjectType, &ri))
|
||||
{
|
||||
if (!ri.object)
|
||||
return;
|
||||
|
|
@ -53,6 +53,8 @@ void NavMeshSelectTool::on3DMouseDown(const Gui3DMouseEvent& evt)
|
|||
if (selNavMesh)
|
||||
{
|
||||
mCurEditor->selectMesh(selNavMesh);
|
||||
mSelMesh = selNavMesh;
|
||||
Con::executef(this, "onNavMeshSelected");
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
|
@ -68,7 +70,7 @@ void NavMeshSelectTool::on3DMouseMove(const Gui3DMouseEvent& evt)
|
|||
Point3F endPnt = evt.pos + evt.vec * 1000.0f;
|
||||
|
||||
RayInfo ri;
|
||||
if (gServerContainer.castRay(startPnt, endPnt, MarkerObjectType, &ri))
|
||||
if (gServerContainer.collideBox(startPnt, endPnt, MarkerObjectType, &ri))
|
||||
{
|
||||
NavMesh* selNavMesh = dynamic_cast<NavMesh*>(ri.object);
|
||||
if (selNavMesh)
|
||||
|
|
@ -90,6 +92,8 @@ void NavMeshSelectTool::onRender3D()
|
|||
{
|
||||
if (!mCurMesh.isNull())
|
||||
renderBoxOutline(mCurMesh->getWorldBox(), ColorI::LIGHT);
|
||||
if (!mSelMesh.isNull())
|
||||
renderBoxOutline(mSelMesh->getWorldBox(), ColorI::LIGHT);
|
||||
}
|
||||
|
||||
bool NavMeshSelectTool::updateGuiInfo()
|
||||
|
|
|
|||
|
|
@ -11,6 +11,7 @@ class NavMeshSelectTool : public NavMeshTool
|
|||
typedef NavMeshTool Parent;
|
||||
protected:
|
||||
SimObjectPtr<NavMesh> mCurMesh;
|
||||
SimObjectPtr<NavMesh> mSelMesh;
|
||||
public:
|
||||
DECLARE_CONOBJECT(NavMeshSelectTool);
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue