private BaseUILayer GetLayer(string layerName) { BaseUILayer UILayer = null; if (this._layerDic.ContainsKey(layerName)) { UILayer = _layerDic[layerName]; } else { GameObject gobj = GameObject.Instantiate(ResourcesManager.GetInstance().GetUILayerPrefab(layerName)); UILayer = gobj.GetComponent <BaseUILayer>(); UILayer.LayerName = layerName; this._layerDic[layerName] = UILayer; } if (!_UIIndexDic.ContainsKey(UILayer.z_Index)) { _UIIndexDic[UILayer.z_Index] = new GameObject(UILayer.z_Index.ToString(), typeof(RectTransform)); _UIIndexDic[UILayer.z_Index].transform.SetParent(canvas.transform, false); } if (UILayer.isRemoveOther) { for (int i = 0; i < _UIIndexDic[UILayer.z_Index].transform.childCount; i++) { this.RemoveLayer(_UIIndexDic[UILayer.z_Index].transform.GetChild(i).name.Replace("(Clone)", "")); } } UILayer.transform.SetParent(_UIIndexDic[UILayer.z_Index].transform, false); UILayer.transform.SetAsLastSibling(); return(UILayer); }
public void PushLayer(string layerName) { BaseUILayer UILayer = this.GetLayer(layerName); UILayer.gameObject.SetActive(true); UILayer.OnAddToStage(); }
public BaseUILayerMediator(BaseUILayer layer) : base(layer.LayerName + "Mediator" + layer.GetHashCode(), layer) { }