forked from MonoGame/MonoGame
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathModelMeshCollection.cs
More file actions
127 lines (110 loc) · 3.62 KB
/
Copy pathModelMeshCollection.cs
File metadata and controls
127 lines (110 loc) · 3.62 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
using System;
using System.Collections;
using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.Reflection;
namespace Microsoft.Xna.Framework.Graphics
{
// Summary:
// Represents a collection of ModelMesh objects.
public sealed class ModelMeshCollection : ReadOnlyCollection<ModelMesh>
{
internal ModelMeshCollection(IList<ModelMesh> list)
: base(list)
{
}
// Summary:
// Retrieves a ModelMesh from the collection, given the name of the mesh.
//
// Parameters:
// meshName:
// The name of the mesh to retrieve.
public ModelMesh this[string meshName] {
get {
ModelMesh ret;
if (!this.TryGetValue(meshName, out ret)) {
throw new KeyNotFoundException();
}
return ret;
}
}
// Summary:
// Finds a mesh with a given name if it exists in the collection.
//
// Parameters:
// meshName:
// The name of the mesh to find.
//
// value:
// [OutAttribute] The mesh named meshName, if found.
public bool TryGetValue (string meshName, out ModelMesh value)
{
if (string.IsNullOrEmpty (meshName)) {
throw new ArgumentNullException ("meshName");
}
foreach (var mesh in this) {
if (string.Compare(mesh.Name, meshName, StringComparison.Ordinal) == 0) {
value = mesh;
return true;
}
}
value = null;
return false;
}
}
//// Summary:
//// Represents a collection of ModelMesh objects.
//public sealed class ModelMeshCollection : ReadOnlyCollection<ModelMesh>
//{
// internal ModelMeshCollection()
// : base(new List<ModelMesh>())
// {
// }
// // Summary:
// // Retrieves a ModelMesh from the collection, given the name of the mesh.
// //
// // Parameters:
// // meshName:
// // The name of the mesh to retrieve.
// public ModelMesh this[string meshName] { get { throw new NotImplementedException(); } }
// // Summary:
// // Returns a ModelMeshCollection.Enumerator that can iterate through a ModelMeshCollection.
// public ModelMeshCollection.Enumerator GetEnumerator() { throw new NotImplementedException(); }
// //
// // Summary:
// // Finds a mesh with a given name if it exists in the collection.
// //
// // Parameters:
// // meshName:
// // The name of the mesh to find.
// //
// // value:
// // [OutAttribute] The mesh named meshName, if found.
// public bool TryGetValue(string meshName, out ModelMesh value) { throw new NotImplementedException(); }
// // Summary:
// // Provides the ability to iterate through the bones in an ModelMeshCollection.
// public struct Enumerator : IEnumerator<ModelMesh>, IDisposable, IEnumerator
// {
// // Summary:
// // Gets the current element in the ModelMeshCollection.
// public ModelMesh Current { get { throw new NotImplementedException(); } }
// // Summary:
// // Immediately releases the unmanaged resources used by this object.
// public void Dispose() { throw new NotImplementedException(); }
// //
// // Summary:
// // Advances the enumerator to the next element of the ModelMeshCollection.
// public bool MoveNext() { throw new NotImplementedException(); }
// #region IEnumerator Members
// object IEnumerator.Current
// {
// get { throw new NotImplementedException(); }
// }
// public void Reset()
// {
// throw new NotImplementedException();
// }
// #endregion
// }
//}
}