コード例 #1
0
ファイル: CoctLogical.cs プロジェクト: shinerkz/OpenKh
        public CoctLogical(Coct coct)
        {
            CollisionMeshGroupList = coct.CollisionMeshGroupList
                                     .Select(MapMeshGroup)
                                     .ToList();

            VertexList = coct.VertexList
                         .Select(collision4 => MapVector(collision4))
                         .ToList();
        }
コード例 #2
0
ファイル: CoctLogical.cs プロジェクト: shinerkz/OpenKh
        public Coct CreateCoct()
        {
            var coct = new Coct();

            coct.CollisionMeshGroupList.AddRange(
                CollisionMeshGroupList.Select(Unmap1)
                );

            coct.VertexList.AddRange(
                VertexList
                .Select(UnmapVector)
                );

            return(coct);
        }
コード例 #3
0
 public BuildHelper(Coct coct)
 {
     this.coct = coct;
 }
コード例 #4
0
        public Coct CreateCoct()
        {
            var coct = new Coct();

            coct.CollisionMeshGroupList.AddRange(
                CollisionMeshGroupList
                .Select(
                    collision1 =>
            {
                var newCollision1 = Ummap1(collision1);

                newCollision1.CollisionMeshStart = Convert.ToUInt16(
                    coct.CollisionMeshList.Count
                    );

                coct.CollisionMeshList.AddRange(
                    collision1.Meshes
                    .Select(
                        collision2 =>
                {
                    var newCollision2 = Unmap2(collision2);

                    newCollision2.CollisionStart = Convert.ToUInt16(
                        coct.CollisionList.Count
                        );

                    coct.CollisionList.AddRange(
                        collision2.Items
                        .Select(
                            collision3 =>
                    {
                        var newCollision3 = Unmap3(collision3);

                        return(newCollision3);
                    }
                            )
                        );

                    newCollision2.CollisionEnd = Convert.ToUInt16(
                        coct.CollisionList.Count
                        );

                    return(newCollision2);
                }
                        )
                    );

                newCollision1.CollisionMeshEnd = Convert.ToUInt16(
                    coct.CollisionMeshList.Count
                    );

                return(newCollision1);
            }
                    )
                );

            coct.VertexList.AddRange(
                VertexList
                .Select(Unmap4)
                );

            coct.PlaneList.AddRange(
                PlaneList
                .Select(Unmap5)
                );

            coct.BoundingBoxList.AddRange(
                BoundingBoxList
                .Select(Unmap6)
                );

            coct.SurfaceFlagsList.AddRange(
                SurfaceFlagsList
                .Select(Unmap7)
                );

            return(coct);
        }
コード例 #5
0
        public CoctLogical(Coct coct)
        {
            CollisionMeshGroupList = coct.CollisionMeshGroupList
                                     .Select(
                collision1 =>
            {
                var newCollision1 = Map1(collision1);

                newCollision1.Meshes = Enumerable.Range(
                    collision1.CollisionMeshStart,
                    collision1.CollisionMeshEnd - collision1.CollisionMeshStart
                    )
                                       .Select(
                    collision2Index =>
                {
                    var collision2 = coct.CollisionMeshList[collision2Index];

                    var newCollision2 = Map2(collision2);

                    newCollision2.Items = Enumerable.Range(
                        collision2.CollisionStart,
                        collision2.CollisionEnd - collision2.CollisionStart
                        )
                                          .Select(
                        collision3Index =>
                    {
                        var collision3 = coct.CollisionList[collision3Index];

                        var newCollision3 = Map3(collision3);

                        return(newCollision3);
                    }
                        )
                                          .ToList();

                    return(newCollision2);
                }
                    )
                                       .ToList();

                return(newCollision1);
            }
                )
                                     .ToList();

            VertexList = coct.VertexList
                         .Select(collision4 => Map4(collision4))
                         .ToList();

            PlaneList = coct.PlaneList
                        .Select(collision5 => Map5(collision5))
                        .ToList();

            BoundingBoxList = coct.BoundingBoxList
                              .Select(collision6 => Map6(collision6))
                              .ToList();

            SurfaceFlagsList = coct.SurfaceFlagsList
                               .Select(collision7 => Map7(collision7))
                               .ToList();
        }