| | 1 | | namespace DCL |
| | 2 | | { |
| | 3 | | [System.Serializable] |
| | 4 | | public class SceneMetricsModel |
| | 5 | | { |
| | 6 | | public int meshes; |
| | 7 | | public int bodies; |
| | 8 | | public int materials; |
| | 9 | | public int textures; |
| | 10 | | public int triangles; |
| | 11 | | public int entities; |
| | 12 | | public float sceneHeight; |
| | 13 | |
|
| | 14 | | public long textureMemory; |
| | 15 | | public long meshMemory; |
| | 16 | | public long audioClipMemory; |
| | 17 | | public long animationClipMemory; |
| | 18 | |
|
| 837 | 19 | | public SceneMetricsModel Clone() { return (SceneMetricsModel) MemberwiseClone(); } |
| | 20 | |
|
| | 21 | | public static bool operator >(SceneMetricsModel lhs, SceneMetricsModel rhs) |
| | 22 | | { |
| 297 | 23 | | int lhsValue = lhs.meshes + lhs.bodies + lhs.materials + lhs.textures + lhs.triangles + lhs.entities; |
| 297 | 24 | | int rhsValue = rhs.meshes + rhs.bodies + rhs.materials + rhs.textures + rhs.triangles + rhs.entities; |
| | 25 | |
|
| 297 | 26 | | return lhsValue > rhsValue; |
| | 27 | | } |
| | 28 | |
|
| | 29 | | public static bool operator <(SceneMetricsModel lhs, SceneMetricsModel rhs) |
| | 30 | | { |
| 1 | 31 | | int lhsValue = lhs.meshes + lhs.bodies + lhs.materials + lhs.textures + lhs.triangles + lhs.entities; |
| 1 | 32 | | int rhsValue = rhs.meshes + rhs.bodies + rhs.materials + rhs.textures + rhs.triangles + rhs.entities; |
| | 33 | |
|
| 1 | 34 | | return lhsValue < rhsValue; |
| | 35 | | } |
| | 36 | |
|
| | 37 | | public static SceneMetricsModel operator -(SceneMetricsModel lhs, SceneMetricsModel rhs) |
| | 38 | | { |
| 1 | 39 | | SceneMetricsModel result = lhs.Clone(); |
| 1 | 40 | | result.bodies -= rhs.bodies; |
| 1 | 41 | | result.entities -= rhs.entities; |
| 1 | 42 | | result.materials -= rhs.materials; |
| 1 | 43 | | result.textures -= rhs.textures; |
| 1 | 44 | | result.meshes -= rhs.meshes; |
| 1 | 45 | | result.triangles -= rhs.triangles; |
| 1 | 46 | | return result; |
| | 47 | | } |
| | 48 | |
|
| | 49 | | public static SceneMetricsModel operator +(SceneMetricsModel lhs, SceneMetricsModel rhs) |
| | 50 | | { |
| 0 | 51 | | SceneMetricsModel result = lhs.Clone(); |
| 0 | 52 | | result.bodies += rhs.bodies; |
| 0 | 53 | | result.entities += rhs.entities; |
| 0 | 54 | | result.materials += rhs.materials; |
| 0 | 55 | | result.textures += rhs.textures; |
| 0 | 56 | | result.meshes += rhs.meshes; |
| 0 | 57 | | result.triangles += rhs.triangles; |
| 0 | 58 | | return result; |
| | 59 | | } |
| | 60 | |
|
| | 61 | | public override string ToString() |
| | 62 | | { |
| 298 | 63 | | string result = ""; |
| | 64 | |
|
| 298 | 65 | | result += $"Textures: {textures}"; |
| 298 | 66 | | result += $"- Texture Memory: {textureMemory}"; |
| 298 | 67 | | result += $"- Triangles: {triangles}"; |
| 298 | 68 | | result += $"- Mesh Memory: {meshMemory}"; |
| 298 | 69 | | result += $"- Materials: {materials}"; |
| 298 | 70 | | result += $"- Meshes: {meshes}"; |
| 298 | 71 | | result += $"- Bodies: {bodies}"; |
| 298 | 72 | | result += $"- Entities: {entities}"; |
| 298 | 73 | | result += $"- Scene Height: {sceneHeight}"; |
| 298 | 74 | | result += $"- Audio Memory: {audioClipMemory}"; |
| 298 | 75 | | result += $"- Animation Memory: {animationClipMemory}"; |
| | 76 | |
|
| 298 | 77 | | return result; |
| | 78 | | } |
| | 79 | | } |
| | 80 | | } |