//------------------------------------------------------------------------------------------ //------------------------------------------------------------------------------------------ void PushMeshComponent(MeshComponent component) { MeshItem mesh = (MeshItem) this._library.GetResource(component.MeshHandle); if (mesh == null) { SystemCore.Log("Mesh does not exists : " + component.Id); return; } if(this._opaqueMeshQueue[mesh.ItemId] == null) this._opaqueMeshQueue[mesh.ItemId] = new List<Node>(); this._opaqueMeshQueue[mesh.ItemId].Add(component.Parent); }
//------------------------------------------------------------------------------------------ //------------------------------------------------------------------------------------------ void PopMeshComponent(MeshComponent component) { MeshItem mesh = (MeshItem)this._library.GetResource(component.MeshHandle); if (mesh == null) { SystemCore.Log("Mesh does not exists : " + component.Id); return; } this._opaqueMeshQueue[mesh.ItemId].Remove(component.Parent); if (this._opaqueMeshQueue[mesh.ItemId].Count == 0) this._opaqueMeshQueue.RemoveAt(mesh.ItemId); }