forked from mirror/DotRecast
move frand
This commit is contained in:
parent
4cb6c1cac7
commit
89eb8554d9
|
@ -0,0 +1,24 @@
|
|||
using System;
|
||||
|
||||
namespace DotRecast.Core
|
||||
{
|
||||
public class FRand
|
||||
{
|
||||
private readonly Random r;
|
||||
|
||||
public FRand()
|
||||
{
|
||||
r = new Random();
|
||||
}
|
||||
|
||||
public FRand(long seed)
|
||||
{
|
||||
r = new Random((int)seed); // TODO : 랜덤 시드 확인 필요
|
||||
}
|
||||
|
||||
public float frand()
|
||||
{
|
||||
return (float)r.NextDouble();
|
||||
}
|
||||
}
|
||||
}
|
|
@ -73,26 +73,6 @@ namespace DotRecast.Detour
|
|||
m_openList = new NodeQueue();
|
||||
}
|
||||
|
||||
public class FRand
|
||||
{
|
||||
private readonly Random r;
|
||||
|
||||
public FRand()
|
||||
{
|
||||
r = new Random();
|
||||
}
|
||||
|
||||
public FRand(long seed)
|
||||
{
|
||||
r = new Random((int)seed); // TODO : 랜덤 시드 확인 필요
|
||||
}
|
||||
|
||||
public float frand()
|
||||
{
|
||||
return (float)r.NextDouble();
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns random location on navmesh. Polygons are chosen weighted by area. The search runs in linear related to
|
||||
* number of polygon.
|
||||
|
|
|
@ -48,7 +48,7 @@ public class CrowdProfilingTool
|
|||
private Crowd crowd;
|
||||
private NavMesh navMesh;
|
||||
private CrowdConfig config;
|
||||
private NavMeshQuery.FRand rnd;
|
||||
private FRand rnd;
|
||||
private readonly List<FindRandomPointResult> zones = new();
|
||||
private long crowdUpdateTime;
|
||||
|
||||
|
@ -79,7 +79,7 @@ public class CrowdProfilingTool
|
|||
{
|
||||
if (navMesh != null)
|
||||
{
|
||||
rnd = new NavMeshQuery.FRand(randomSeed);
|
||||
rnd = new FRand(randomSeed);
|
||||
createCrowd();
|
||||
createZones();
|
||||
NavMeshQuery navquery = new NavMeshQuery(navMesh);
|
||||
|
|
|
@ -495,7 +495,7 @@ public class TestNavmeshTool : Tool
|
|||
for (int i = 0; i < 200; i++)
|
||||
{
|
||||
Result<FindRandomPointResult> result = m_navQuery.findRandomPointAroundCircle(m_startRef, m_spos, dist,
|
||||
m_filter, new NavMeshQuery.FRand(), constraint);
|
||||
m_filter, new FRand(), constraint);
|
||||
if (result.succeeded())
|
||||
{
|
||||
randomPoints.Add(result.result.getRandomPt());
|
||||
|
|
|
@ -31,7 +31,7 @@ public class RandomPointTest : AbstractDetourTest
|
|||
[Test]
|
||||
public void testRandom()
|
||||
{
|
||||
NavMeshQuery.FRand f = new NavMeshQuery.FRand(1);
|
||||
FRand f = new FRand(1);
|
||||
QueryFilter filter = new DefaultQueryFilter();
|
||||
for (int i = 0; i < 1000; i++)
|
||||
{
|
||||
|
@ -59,7 +59,7 @@ public class RandomPointTest : AbstractDetourTest
|
|||
[Test]
|
||||
public void testRandomAroundCircle()
|
||||
{
|
||||
NavMeshQuery.FRand f = new NavMeshQuery.FRand(1);
|
||||
FRand f = new FRand(1);
|
||||
QueryFilter filter = new DefaultQueryFilter();
|
||||
FindRandomPointResult point = query.findRandomPoint(filter, f).result;
|
||||
for (int i = 0; i < 1000; i++)
|
||||
|
@ -90,7 +90,7 @@ public class RandomPointTest : AbstractDetourTest
|
|||
[Test]
|
||||
public void testRandomWithinCircle()
|
||||
{
|
||||
NavMeshQuery.FRand f = new NavMeshQuery.FRand(1);
|
||||
FRand f = new FRand(1);
|
||||
QueryFilter filter = new DefaultQueryFilter();
|
||||
FindRandomPointResult point = query.findRandomPoint(filter, f).result;
|
||||
float radius = 5f;
|
||||
|
@ -108,7 +108,7 @@ public class RandomPointTest : AbstractDetourTest
|
|||
[Test]
|
||||
public void testPerformance()
|
||||
{
|
||||
NavMeshQuery.FRand f = new NavMeshQuery.FRand(1);
|
||||
FRand f = new FRand(1);
|
||||
QueryFilter filter = new DefaultQueryFilter();
|
||||
FindRandomPointResult point = query.findRandomPoint(filter, f).result;
|
||||
float radius = 5f;
|
||||
|
|
Loading…
Reference in New Issue