blob: 8db7f3168a20cecf65221c136e9b5224e28daf30 (
plain) (
blame)
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
|
/* ---------------------------------------
* Author: Martin Pane (martintayx@gmail.com) (@tayx94)
* Collaborators: Lars Aalbertsen (@Rockylars)
* Project: Graphy - Ultimate Stats Monitor
* Date: 05-Dec-17
* Studio: Tayx
*
* This project is released under the MIT license.
* Attribution is not required, but it is always welcomed!
* -------------------------------------*/
using UnityEngine;
using UnityEngine.UI;
using Tayx.Graphy.Utils.NumString;
namespace Tayx.Graphy.Ram
{
public class G_RamText : MonoBehaviour
{
/* ----- TODO: ----------------------------
* Add summaries to the variables.
* Add summaries to the functions.
* Check if we should add a "RequireComponent" for "RamMonitor".
* Improve the FloatString Init to come from the core instead.
* --------------------------------------*/
#region Variables -> Serialized Private
[SerializeField] private Text m_allocatedSystemMemorySizeText = null;
[SerializeField] private Text m_reservedSystemMemorySizeText = null;
[SerializeField] private Text m_monoSystemMemorySizeText = null;
#endregion
#region Variables -> Private
private GraphyManager m_graphyManager = null;
private G_RamMonitor m_ramMonitor = null;
private float m_updateRate = 4f; // 4 updates per sec.
private float m_deltaTime = 0.0f;
private readonly string m_memoryStringFormat = "0.0";
#endregion
#region Methods -> Unity Callbacks
private void Awake()
{
Init();
}
private void Update()
{
m_deltaTime += Time.unscaledDeltaTime;
if (m_deltaTime > 1f / m_updateRate)
{
// Update allocated, mono and reserved memory
m_allocatedSystemMemorySizeText .text = m_ramMonitor.AllocatedRam.ToStringNonAlloc(m_memoryStringFormat);
m_reservedSystemMemorySizeText .text = m_ramMonitor.ReservedRam.ToStringNonAlloc(m_memoryStringFormat);
m_monoSystemMemorySizeText .text = m_ramMonitor.MonoRam.ToStringNonAlloc(m_memoryStringFormat);
m_deltaTime = 0f;
}
}
#endregion
#region Methods -> Public
public void UpdateParameters()
{
m_allocatedSystemMemorySizeText .color = m_graphyManager.AllocatedRamColor;
m_reservedSystemMemorySizeText .color = m_graphyManager.ReservedRamColor;
m_monoSystemMemorySizeText .color = m_graphyManager.MonoRamColor;
m_updateRate = m_graphyManager.RamTextUpdateRate;
}
#endregion
#region Methods -> Private
private void Init()
{
//TODO: Replace this with one activated from the core and figure out the min value.
if (!G_FloatString.Inited || G_FloatString.MinValue > -1000f || G_FloatString.MaxValue < 16384f)
{
G_FloatString.Init
(
minNegativeValue: -1001f,
maxPositiveValue: 16386f
);
}
m_graphyManager = transform.root.GetComponentInChildren<GraphyManager>();
m_ramMonitor = GetComponent<G_RamMonitor>();
UpdateParameters();
}
#endregion
}
}
|