Example #1
0
        private UILayerBase CreateLayer(UILayerDBEntry layerDBEntry)
        {
            var layerPrefab = layerDBEntry.LoadPrefab <UILayerBase>();

            if (layerPrefab == null)
            {
                layerPrefab = defaultLayerSrc;
            }
            var layer = layerPrefab.Clone(transform);

            layer.Init(layerDBEntry);
            _layers.Add(layerDBEntry, layer);
            transform.SetChildrenSiblingIndex(c => c.GetComponent <Canvas>().sortingOrder);
            return(layer);
        }
Example #2
0
        private UILayerBase GetOrCreateLayer(UILayerDBEntry layerDBEntry)
        {
            if (layerDBEntry == null)
            {
                return(GetOrCreateLayer(uiDefaults.mainLayer));
            }
            if (_layers.ContainsKey(layerDBEntry))
            {
                return(_layers[layerDBEntry]);
            }
            var existedButNotCached = GetComponentsInChildren <UILayerBase>().Where(l => l.layerDBEntry == layerDBEntry).First();

            if (existedButNotCached != null)
            {
                _layers.AddOrSet(layerDBEntry, existedButNotCached);
                return(existedButNotCached);
            }
            return(CreateLayer(layerDBEntry));
        }
Example #3
0
 public void Init(UILayerDBEntry layerDBEntry)
 {
     _layerDBEntry       = layerDBEntry;
     name                = layerDBEntry.name;
     canvas.sortingOrder = layerDBEntry.sortOrder;
 }