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

◆ AddTrackedObject()

unsafe void Microsoft.Xna.Framework.Graphics.DeviceResourceManager.AddTrackedObject ( object managedObject,
void * pComPtr,
uint resourceManagementMode,
ulong handle,
ref ulong updatedHandle )
inline

Definition at line 77 of file DeviceResourceManager.cs.

78 {
79 bool lockTaken = false;
80 try
81 {
84 {
85 ResourceData value = pResourceData[handle];
86 value.pComPtr = pComPtr;
87 value.dwResourceManagementMode = resourceManagementMode;
88 value.CurrentRefCount = 1;
89 value.isDisposed = false;
92 }
93 else
94 {
95 ResourceData value2 = default(ResourceData);
96 value2.ManagedObject = new WeakReference(managedObject);
97 value2.pComPtr = pComPtr;
98 value2.ResourceName = string.Empty;
99 value2.ResourceTag = null;
100 value2.dwResourceManagementMode = resourceManagementMode;
101 value2.CurrentRefCount = 1;
102 value2.isDisposed = false;
103 updatedHandle = (value2.objectHandle = ++_currentMaxHandle);
106 }
107 }
108 finally
109 {
110 if (lockTaken)
111 {
113 }
114 }
115 }
void Add(TKey key, TValue value)
static void Exit(object obj)
static void Enter(object obj)

References Microsoft.Xna.Framework.Graphics.DeviceResourceManager._currentMaxHandle, System.Collections.Generic.Dictionary< TKey, TValue >.Add(), System.Collections.Generic.Dictionary< TKey, TValue >.ContainsKey(), System.Threading.Monitor.Enter(), System.Threading.Monitor.Exit(), Microsoft.Xna.Framework.Graphics.GraphicsDevice.FireCreatedEvent(), System.handle, Microsoft.Xna.Framework.Graphics.DeviceResourceManager.pParentDevice, Microsoft.Xna.Framework.Graphics.DeviceResourceManager.pResourceData, Microsoft.Xna.Framework.Graphics.DeviceResourceManager.pSyncObject, and System.value.

Referenced by Microsoft.Xna.Framework.Graphics.DynamicIndexBuffer.DynamicIndexBuffer(), Microsoft.Xna.Framework.Graphics.DynamicIndexBuffer.DynamicIndexBuffer(), Microsoft.Xna.Framework.Graphics.DynamicVertexBuffer.DynamicVertexBuffer(), Microsoft.Xna.Framework.Graphics.DynamicVertexBuffer.DynamicVertexBuffer(), Microsoft.Xna.Framework.Graphics.Effect.Effect(), Microsoft.Xna.Framework.Graphics.IndexBuffer.IndexBuffer(), Microsoft.Xna.Framework.Graphics.IndexBuffer.IndexBuffer(), Microsoft.Xna.Framework.Graphics.OcclusionQuery.OcclusionQuery(), Microsoft.Xna.Framework.Graphics.Texture2D.Texture2D(), Microsoft.Xna.Framework.Graphics.VertexBuffer.VertexBuffer(), Microsoft.Xna.Framework.Graphics.VertexBuffer.VertexBuffer(), Microsoft.Xna.Framework.Graphics.Effect.CreateEffectFromCode(), Microsoft.Xna.Framework.Graphics.TextureCube.CreateTexture(), Microsoft.Xna.Framework.Graphics.Texture2D.CreateTexture(), Microsoft.Xna.Framework.Graphics.Texture3D.CreateTexture(), 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(), Microsoft.Xna.Framework.Graphics.Texture3D.GetManagedObject(), Microsoft.Xna.Framework.Graphics.DynamicIndexBuffer.RecreateAndPopulateObject(), Microsoft.Xna.Framework.Graphics.DynamicVertexBuffer.RecreateAndPopulateObject(), Microsoft.Xna.Framework.Graphics.Effect.RecreateAndPopulateObject(), Microsoft.Xna.Framework.Graphics.IndexBuffer.RecreateAndPopulateObject(), Microsoft.Xna.Framework.Graphics.OcclusionQuery.RecreateAndPopulateObject(), Microsoft.Xna.Framework.Graphics.Texture2D.RecreateAndPopulateObject(), Microsoft.Xna.Framework.Graphics.Texture3D.RecreateAndPopulateObject(), Microsoft.Xna.Framework.Graphics.TextureCube.RecreateAndPopulateObject(), and Microsoft.Xna.Framework.Graphics.VertexBuffer.RecreateAndPopulateObject().