コード例 #1
0
ファイル: TDMap.cs プロジェクト: Genae/VoxelEngine
        private void CreatePath(List <Raido> markersPath, List <Mannaz> markersBase, VoxelMaterial dirt, VoxelMaterial grass)
        {
            var transforms = new List <Transform>();

            if (markersPath.Count > 0)
            {
                transforms.AddRange(markersPath.OrderBy(m => m.Number).Select(m => m.transform));
            }
            if (markersBase.Count > 0)
            {
                transforms.AddRange(markersBase.Select(m => m.transform));
            }
            if (transforms.Count < 2)
            {
                return;
            }

            var list = Bezier.GetBSplinePoints(transforms.Select(m => m.position).ToList(), 10f);

            Path = BuildWalkablePath(list);
            for (var i = 1; i < list.Count; i++)
            {
                ResourceManager.DrawCapsule(list[i - 1], list[i], 3f, dirt, grass);
            }
        }