public Material PickMaterial(DecalCanvas canvas, out bool isDirty) { var size = new DecalSize(canvas.decal.width, canvas.decal.height); Pool pool; if (m_pool.TryGetValue(size, out pool)) { return(pool.Pick(out isDirty)); } isDirty = false; return(null); }
public void RegisterDecal(DecalCanvas canvas) { var size = new DecalSize(canvas.decal.width, canvas.decal.height); if (m_pool.ContainsKey(size)) { var pool = m_pool[size]; pool.AddMaterial(); } else { var pool = new Pool(canvas.decalMaterial, 10); m_pool.Add(size, pool); } }