ObjectsPerSample









How do I use Objects Per Sample
Below are practical examples compiled from projects for learning and reference purposes

Featured Snippets


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
118     public object ReceiveNext()
119     {
120         if( m_NextObjectIndex == -1 )
121         {
122             return null;
123         }
124
125         if( m_NextObjectIndex >= m_Objects.Count )
126         {
127             m_NextObjectIndex -= m_ObjectsPerSample;
128         }
129
130         return m_Objects[ m_NextObjectIndex++ ];
131     }
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     }

ObjectsPerSample 113 lượt xem

Gõ tìm kiếm nhanh...