Files
test/Assets/PerfectWorld/Scripts/Managers/aabbcd.cs
T
Tungdv 3a05b94366 Merge branch 'develop' into feature/hp_normal_attack
# Conflicts:
#	Assets/PerfectWorld/Scripts/Managers/CECNPCMan.cs
#	Assets/PerfectWorld/Scripts/Managers/EC_HPWorkMelee.cs
#	Assets/PerfectWorld/Scripts/Managers/EC_HPWorkTrace.cs
#	Assets/PerfectWorld/Scripts/Managers/EC_HostPlayer.cs
#	Assets/PerfectWorld/Scripts/Managers/EC_ManMatter.cs
#	Assets/PerfectWorld/Scripts/Managers/EC_ManPlayer.cs
#	Assets/PerfectWorld/Scripts/Managers/EC_Object.cs
#	Assets/PerfectWorld/Scripts/Move/CECHostMove.cs
#	Assets/PerfectWorld/Scripts/NPC/CECMonster.cs
#	Assets/PerfectWorld/Scripts/NPC/CECNPC.cs
#	Assets/PerfectWorld/Scripts/NPC/CECNPCModelDefaultPolicy.cs
#	Assets/PerfectWorld/Scripts/Network/UnityGameSession.cs
#	Assets/PerfectWorld/Scripts/PlayerState/PlayerIdleState.cs
#	Assets/PerfectWorld/Scripts/PlayerState/PlayerMoveState.cs
#	Assets/PerfectWorld/Scripts/Players/EC_ElsePlayer.cs
#	Assets/PerfectWorld/Scripts/UI/pickupItem.cs
#	Assets/Scripts/CECHostPlayer.cs
#	Assets/Scripts/EC_Utility.cs
#	Assets/Scripts/GameController.cs
#	Assets/Scripts/InitializePlayer.cs
#	Assets/Scripts/Move/EC_Player.cs
#	Assets/Scripts/PlayerVisual.cs
2025-10-20 16:58:20 +07:00

68 lines
2.7 KiB
C#

using CSNetwork.GPDataType;
using BrewMonster.Scripts.Player;
using PerfectWorld.Scripts.Player;
namespace BrewMonster.Scripts
{
//////////////////////////////////////////////////////////////////////////
// define a new compact Convex Hull data type which is used in ElementClient!
//////////////////////////////////////////////////////////////////////////
public class BrushTraceInfo
{
//////////////////////////////////////////////////////////////////////////
// In
//////////////////////////////////////////////////////////////////////////
// aabb's info
public A3DVECTOR3 vStart; // Start point
public A3DVECTOR3 vDelta; // Move delta
public A3DVECTOR3 vExtents;
public A3DAABB BoundAABB;
// Dist Epsilon
public float fDistEpsilon; // Dist Epsilon
public bool bIsPoint; //raytrace
//////////////////////////////////////////////////////////////////////////
// Out
//////////////////////////////////////////////////////////////////////////
public bool bStartSolid; // Collide something at start point
public bool bAllSolid; // All in something
public CHalfSpace ClipPlane; // Clip plane
public int iClipPlane; // Clip plane's index
public float fFraction; // Fraction
public uint dwUser1; // User defined data 1
public uint dwUser2; // User defined data 2
public void Init(A3DVECTOR3 start, A3DVECTOR3 delta, A3DVECTOR3 ext, bool bRay = false, float epsilon = 0.03125f)
{
vStart = start;
vDelta = delta;
vExtents = ext;
fDistEpsilon = epsilon;
fFraction = 100.0f;
bIsPoint = bRay;
bStartSolid = false;
bAllSolid = false;
dwUser1 = 0;
dwUser2 = 0;
if (!bIsPoint)
{
BoundAABB.Clear();
BoundAABB.AddVertex(vStart);
BoundAABB.AddVertex(vStart + vExtents);
BoundAABB.AddVertex(vStart - vExtents);
BoundAABB.AddVertex(vStart + vDelta);
BoundAABB.AddVertex(vStart + vDelta + vExtents);
BoundAABB.AddVertex(vStart + vDelta - vExtents);
BoundAABB.CompleteCenterExts();
}
else
{
//@note : it cheats the caller. By Kuiwu[25/8/2005]
//@todo : refine me. By Kuiwu[25/8/2005]
fDistEpsilon = 1E-5f;
}
}
};
}