21 m_uiNumLocksAllTime = 0;
38 auto pBlock = pFactory->FindBlockResource(
this );
49 uiMaxVertices = pFactory->GetMaxStaticIndices();
52 else if ( uiUnk1 == 2 )
68 pBlock = pFactory->CreateBlockResource( uiMaxVertices, uiFlags );
76 pBlock->AttachPool(
this );
90 pIndexBlock->DettachPool(
this );
113 m_uiNumLocksAllTime += 1;
116 if ( uiOldLockCount == 0 )
122 a_pLockBuffer->
pBuffer = m_pIndices;
125 else if ( uiUnk1 == 2 )
131 m_uiIndexOffset = a_pLockBuffer->
uiOffset;
135 else if ( uiUnk1 == 4 )
141 m_uiIndexOffset = a_pLockBuffer->
uiOffset;
166 pIndexBlock->ChildIndexUsedChanged( iChange );
189 a_uiFlags = a_uiFlags & 0xfffb | 2;
196 m_pIndices =
new TIndexType[ a_uiMaxIndices ];
237 if ( pIndexBlock->Validate() && pIndexBlock->GetHALBuffer( a_pHALBuffer ) )
#define TSTATICCAST(POINTERTYPE, VALUE)
#define TOSHI_NAMESPACE_START
#define TOSHI_NAMESPACE_END
#define TDEFINE_CLASS(...)
TBOOL GetHALBuffer(TIndexBlockResource::HALBuffer *a_pHALBuffer)
virtual TBOOL Lock(LockBuffer *a_pLockBuffer) override
friend TIndexBlockResource
virtual void Unlock(TUINT16 a_uiNewNumIndices) override
TIndexBlockResource * GetIndexBlock()
virtual TBOOL Validate() override
virtual void Invalidate() override
virtual void OnDestroy() override
TUINT16 GetMaxIndices() const
virtual TBOOL Create(TIndexFactoryResourceInterface *a_pFactory, TUINT16 a_uiMaxIndices, TUINT16 a_uiFlags)
TIndexFactoryResourceInterface * GetFactory() const
virtual void OnDestroy() override
TUINT16 GetNumIndices() const
virtual void Invalidate()
TNodeTree< T > * Tree() const
virtual Toshi::TClass * GetClass()
TBOOL IsA(TClass *a_pClass)
TBOOL IsExactly(TClass *a_pClass)