SampleCount
How do I use Sample Count
Below are practical examples compiled from projects for learning and reference purposes
Featured Snippets
Line | Code | Ex.. |
---|---|---|
46 | if( m_SampleCount == 1 ) | 1 |
76 | m_SampleCount = 0; | 2 |
139 | stream.SendNext( m_SampleCount ); | 3 |
161 | m_SampleCount = (int)stream.ReceiveNext(); | 4 |
File name: PhotonStreamQueue.cs
Copy
37 void BeginWritePackage()
38 {
39 //If not enough time has passed since the last sample, we don't want to write anything
40 if( Time.realtimeSinceStartup < m_LastSampleTime + 1f / m_SampleRate )
41 {
42 m_IsWriting = false;
43 return;
44 }
45
46 if( m_SampleCount == 1 )
47 {
48 m_ObjectsPerSample = m_Objects.Count;
49 //Debug.Log( "Setting m_ObjectsPerSample to " + m_ObjectsPerSample );
50 }
51 else if( m_SampleCount > 1 )
52 {
53 if( m_Objects.Count / m_SampleCount != m_ObjectsPerSample )
54 {
55 Debug.LogWarning( "The number of objects sent via a PhotonStreamQueue has to be the same each frame" );
56 Debug.LogWarning( "Objects in List: " + m_Objects.Count + " / Sample Count: " + m_SampleCount + " = " + ( m_Objects.Count / m_SampleCount ) + " != " + m_ObjectsPerSample );
57 }
58 }
59
60 /*if( m_SampleCount > 1 )
61 {
62 Debug.Log( "Check: " + m_Objects.Count + " / " + m_SampleCount + " = " + ( m_Objects.Count / m_SampleCount ) + " = " + m_ObjectsPerSample );
63 }*/
64
65 m_IsWriting = true;
66 m_SampleCount++;
67 m_LastSampleTime = Time.realtimeSinceStartup;
68
69 }
File name: PhotonStreamQueue.cs
Copy
74 public void Reset()
75 {
76 m_SampleCount = 0;
77 m_ObjectsPerSample = -1;
78
79 m_LastSampleTime = -Mathf.Infinity;
80 m_LastFrameCount = -1;
81
82 m_Objects.Clear();
83 }
File name: PhotonStreamQueue.cs
Copy
137 public void Serialize( PhotonStream stream )
138 {
139 stream.SendNext( m_SampleCount );
140 stream.SendNext( m_ObjectsPerSample );
141
142 for( int i = 0; i < m_Objects.Count; ++i )
143 {
144 stream.SendNext( m_Objects[ i ] );
145 }
146
147 //Debug.Log( "Serialize " + m_SampleCount + " samples with " + m_ObjectsPerSample + " objects per sample. object count: " + m_Objects.Count + " / " + ( m_SampleCount * m_ObjectsPerSample ) );
148
149 m_Objects.Clear();
150 m_SampleCount = 0;
151 }
File name: PhotonStreamQueue.cs
Copy
157 public void Deserialize( PhotonStream stream )
158 {
159 m_Objects.Clear();
160
161 m_SampleCount = (int)stream.ReceiveNext();
162 m_ObjectsPerSample = (int)stream.ReceiveNext();
163
164 for( int i = 0; i < m_SampleCount * m_ObjectsPerSample; ++i )
165 {
166 m_Objects.Add( stream.ReceiveNext() );
167 }
168
169 if( m_Objects.Count > 0 )
170 {
171 m_NextObjectIndex = 0;
172 }
173 else
174 {
175 m_NextObjectIndex = -1;
176 }
177
178 //Debug.Log( "Deserialized " + m_SampleCount + " samples with " + m_ObjectsPerSample + " objects per sample. object count: " + m_Objects.Count + " / " + ( m_SampleCount * m_ObjectsPerSample ) );
179 }
SampleCount 125 lượt xem
Gõ tìm kiếm nhanh...