Пример #1
0
 public static void FillPoolWithChildrenViews <TView, TData>(IViewPool <TView, TData> pool, Transform parent, PrefabRef <TView> prefabRef,
                                                             TView prefab, PresentOptions options) where TView : ReusableView
 {
     if (parent == null)
     {
         return;
     }
     foreach (var obj in parent)
     {
         var view = ((Transform)obj).GetComponent <TView>();
         if (view != null)
         {
             if (view.prefabRef != null && view.prefabRef == prefab)
             {
                 pool.AddViewToUse((TView)view.prefabRef, view);
             }
             else if (options.Has(PresentOptions.UseChildWithSameTypeAsView) && view.GetType() == prefabRef.ExtractType())
             {
                 view.prefabRef = prefab;
                 pool.AddViewToUse((TView)view.prefabRef, view);
             }
             else if (options.Has(PresentOptions.UseChildWithSameNameAsView) && view.name == prefabRef.ExtractName())
             {
                 view.prefabRef = prefab;
                 pool.AddViewToUse((TView)view.prefabRef, view);
             }
         }
     }
 }
Пример #2
0
 public static void FillPoolWithChildrenViews <TView, TData>(IViewPool <TView, TData> pool, Transform parent, Type viewType) where TView : ReusableView
 {
     foreach (var obj in parent)
     {
         var view = ((Transform)obj).GetComponent <TView>();
         if (view != null && view.GetType() == viewType)
         {
             pool.AddViewToUse((TView)view.prefabRef, view);
         }
     }
 }
Пример #3
0
 public void AddViewToUse(TView prefab, TView view)
 {
     viewPoolImplementation.AddViewToUse(prefab, view);
 }