public T CreateWindow <T>(string _pathPrefab, EnumWindowsLayer _layer, object _data = null) where T : WindowBase { var prefab = Resources.Load <GameObject>(string.Format(_pathPrefab)); var layer = layers.Find((x) => x.key == _layer)?.value ?? transform; var window = Instantiate(prefab, layer).GetComponent <T>(); window.Initialize(_data); window.OnClose += OnCloseHandler; windows.Add(window); OnCreateWindow?.Invoke(window); return(window); }
public WindowsLayer(EnumWindowsLayer _key, Transform _value) { key = _key; value = _value; }