Exemple #1
0
        public void RemoveDecal(Decal d, bool removeLayer = true)
        {
            foreach (var decalsPair in layerToDecals)
            {
                var decals = decalsPair.Value;
                decals.Remove(d);

                if (removeLayer && decals.Count == 0)
                {
                    availableLayers.Remove(d.Layer);
                }
            }
        }
Exemple #2
0
        public void AddDecal(Decal d)
        {
            RemoveDecal(d, false);

            if (layerToDecals.TryGetValue(d.Layer, out List <Decal> decals))
            {
                decals.Add(d);
            }
            else
            {
                List <Decal> newDecalList = new List <Decal>();
                layerToDecals[d.Layer] = newDecalList;

                newDecalList.Add(d);

                availableLayers.Add(d.Layer);
                availableLayers.Sort();
            }
        }