Beispiel #1
0
        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);
        }
Beispiel #2
0
        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);
            }
        }