示例#1
0
		public Vector3[] GenerateWaypoints(ITerrain terrain, Vector3 lastPos, int min, int max, float minDist, float maxDist)
		{
			if (min < 1 || max < min || maxDist < minDist)
			{
				throw new ArgumentException("Invalid arguments");
			}

			var count = Utility.Random(min, max);
			var wps = new Vector3[count];
			for (var i = 0; i < count; i++)
			{
				var direction = Utility.Random(0, MathUtil.TwoPI);
				var dist = Utility.Random(minDist, maxDist);
				lastPos.GetPointYX(direction, dist, out lastPos);
				lastPos.Z = terrain.QueryWorldHeight(lastPos);
				wps[i] = lastPos;
			}
			return wps;
		}