public (IView, WidgetViewReference) LoadViewPrefab(WidgetViewReference viewReference)
        {
            foreach (var loader in _loaders)
            {
                var(view, reference) = loader.LoadViewPrefab(viewReference);
                if (view != null)
                {
                    return(view, reference);
                }
            }

            return(null, default);
Esempio n. 2
0
        protected override IView ResolveView(WidgetViewReference viewReference)
        {
            var(prefab, viewRef) = ViewContext.Loader.LoadViewPrefab(viewReference);
            var view = GameObjectPool
                       .Instantiate(prefab.gameObject, _parentSelector.Invoke(), _worldPositionStays)
                       .GetComponent <IView>();

            view.gameObject.name = prefab.gameObject.name;
            view.rectTransform.anchoredPosition = Vector2.zero;
            view.ViewReference = viewRef;
            return(view);
        }
Esempio n. 3
0
        private IView ResolveOrReuseView(WidgetViewReference viewReference)
        {
            for (var i = 0; i < _reuse.Count; i++)
            {
                var item = _reuse[i];
                if (!item.View.ViewReference.Equals(viewReference))
                {
                    continue;
                }

                _reuse.RemoveAt(i);

                var view = item.View;

                if (!view.gameObject.activeSelf)
                {
                    view.gameObject.SetActive(true);
                }

                return(view);
            }

            return(ResolveView(viewReference));
        }
 public (IView, WidgetViewReference) LoadViewPrefab(WidgetViewReference viewReference)
 {
     if (viewReference.Type != WidgetViewReferenceType.Resource ||
         !viewReference.Path.StartsWith("$$_"))
     {
         return(null, default);
 public (IView, WidgetViewReference) LoadViewPrefab(WidgetViewReference viewReference)
 {
     if (viewReference.Type != WidgetViewReferenceType.Resource)
     {
         return(null, default);
Esempio n. 6
0
 protected abstract IView ResolveView(WidgetViewReference state);
Esempio n. 7
0
 public CounterState(WidgetViewReference view)
 {
     View = view;
 }