Terraria v1.4.4.9
Terraria source code documentation
Loading...
Searching...
No Matches

◆ GetCachedObject()

unsafe object Microsoft.Xna.Framework.Graphics.DeviceResourceManager.GetCachedObject ( void * pComPtr)
inline

Definition at line 191 of file DeviceResourceManager.cs.

192 {
193 bool lockTaken = false;
194 try
195 {
198 while (enumerator.MoveNext())
199 {
200 ulong current = enumerator.Current;
201 if (pResourceData[current].pComPtr == pComPtr && pResourceData[current].ManagedObject.IsAlive)
202 {
203 return pResourceData[current].ManagedObject.Target;
204 }
205 }
206 return null;
207 }
208 finally
209 {
210 if (lockTaken)
211 {
213 }
214 }
215 }
static void Exit(object obj)
static void Enter(object obj)

References System.Threading.Monitor.Enter(), System.Threading.Monitor.Exit(), System.Collections.Generic.Dictionary< TKey, TValue >.KeyCollection.GetEnumerator(), System.Collections.Generic.Dictionary< TKey, TValue >.Keys, Microsoft.Xna.Framework.Graphics.DeviceResourceManager.pResourceData, and Microsoft.Xna.Framework.Graphics.DeviceResourceManager.pSyncObject.

Referenced by Microsoft.Xna.Framework.Graphics.Effect.GetManagedObject(), Microsoft.Xna.Framework.Graphics.TextureCube.GetManagedObject(), Microsoft.Xna.Framework.Graphics.GraphicsDevice.GetManagedObject(), Microsoft.Xna.Framework.Graphics.IndexBuffer.GetManagedObject(), Microsoft.Xna.Framework.Graphics.OcclusionQuery.GetManagedObject(), Microsoft.Xna.Framework.Graphics.Texture2D.GetManagedObject(), Microsoft.Xna.Framework.Graphics.VertexBuffer.GetManagedObject(), and Microsoft.Xna.Framework.Graphics.Texture3D.GetManagedObject().