Survivalcraft API 1.8.2.3 v1.8.2.3
Survivalcraft 2.4
载入中...
搜索中...
未找到
ModelData.cs
浏览该文件的文档.
1namespace Engine.Media {
2 public class ModelData {
3 public List<ModelBoneData> Bones = [];
4
5 public List<ModelMeshData> Meshes = [];
6
7 public List<ModelBuffersData> Buffers = [];
8
9 public static ModelFileFormat DetermineFileFormat(Stream stream) => Collada.IsColladaStream(stream)
11 : throw new InvalidOperationException("Unsupported model file format.");
12
13 public static ModelFileFormat DetermineFileFormat(string extension) => extension.Equals(".dae", StringComparison.OrdinalIgnoreCase)
15 : throw new InvalidOperationException("Unsupported model file format.");
16
17 public static ModelData Load(Stream stream, ModelFileFormat format) => format == ModelFileFormat.Collada
18 ? Collada.Load(stream)
19 : throw new InvalidOperationException("Unsupported model file format.");
20
21 public static ModelData Load(string fileName, ModelFileFormat format) {
22 using (Stream stream = Storage.OpenFile(fileName, OpenFileMode.Read)) {
23 return Load(stream, format);
24 }
25 }
26
27 public static ModelData Load(Stream stream) {
28 PeekStream peekStream = new(stream, 256);
30 return Load(peekStream, format);
31 }
32
33 public static ModelData Load(string fileName) {
34 using (Stream stream = Storage.OpenFile(fileName, OpenFileMode.Read)) {
35 return Load(stream);
36 }
37 }
38
39 public static void Save(ModelData modelData, Stream stream, ModelFileFormat format) {
40 if (format == ModelFileFormat.Collada) {
41 Collada.Save(modelData, stream);
42 return;
43 }
44 throw new InvalidOperationException("Unsupported model file format.");
45 }
46
47 public static void Save(ModelData modelData, string fileName, ModelFileFormat format) {
48 using Stream stream = Storage.OpenFile(fileName, OpenFileMode.Create);
49 Save(modelData, stream, format);
50 }
51 }
52}
static void Save(ModelData modelData, Stream stream)
static ModelData Load(Stream stream)
static bool IsColladaStream(Stream stream)
static ModelFileFormat DetermineFileFormat(Stream stream)
static ModelFileFormat DetermineFileFormat(string extension)
static ModelData Load(string fileName)
List< ModelBuffersData > Buffers
List< ModelMeshData > Meshes
static void Save(ModelData modelData, string fileName, ModelFileFormat format)
static ModelData Load(Stream stream)
List< ModelBoneData > Bones
static void Save(ModelData modelData, Stream stream, ModelFileFormat format)
static ModelData Load(string fileName, ModelFileFormat format)
static ModelData Load(Stream stream, ModelFileFormat format)
MemoryStream GetInitialBytesStream()
static Stream OpenFile(string path, OpenFileMode openFileMode)