Esempio n. 1
0
            static partial void WriteBinaryParentLogicCustom(MutagenWriter writer, IANavigationMeshDataGetter item)
            {
                switch (item)
                {
                case ICellNavigationMeshDataGetter cell:
                    FormKeyBinaryTranslation.Instance.Write(writer, cell.UnusedWorldspaceParent.FormKey);
                    FormKeyBinaryTranslation.Instance.Write(writer, cell.Parent.FormKey);
                    break;

                case IWorldspaceNavigationMeshDataGetter worldspace:
                    FormKeyBinaryTranslation.Instance.Write(writer, worldspace.Parent.FormKey);
                    var coords = worldspace.Coordinates;
                    writer.Write(coords.X);
                    writer.Write(coords.Y);
                    break;

                default:
                    throw new NotImplementedException();
                }
            }
Esempio n. 2
0
 static partial void WriteBinaryNavmeshGridCustom(MutagenWriter writer, IANavigationMeshDataGetter item)
 {
     writer.Write(item.NavmeshGrid);
 }
Esempio n. 3
0
            static partial void WriteBinaryCoverTrianglesLogicCustom(MutagenWriter writer, IANavigationMeshDataGetter item)
            {
                var triangles = item.Triangles;
                var indices   = new List <short>();

                for (int i = 0; i < triangles.Count; i++)
                {
                    if (triangles[i].IsCover)
                    {
                        indices.Add(checked ((short)i));
                    }
                }
                writer.Write(indices.Count);
                foreach (var index in indices)
                {
                    writer.Write(index);
                }
            }