Example #1
0
        public GroupWaitConditional CreateWaitItem(LiteFunc <bool> ConditionFunc)
        {
            var Item = new GroupWaitConditional(this, ConditionFunc);

            ItemList_.Add(Item);
            return(Item);
        }
Example #2
0
        public void Initialize(int TotalCount, int Index, LiteFunc <int, LiteLoopViewItem> CreateItem, LiteAction <LiteLoopViewItem> DeleteItem, LiteAction <int, LiteLoopViewItem> UpdateItem)
        {
            LayoutRebuilder.ForceRebuildLayoutImmediate(GetComponent <RectTransform>());
            ViewBounds_       = new Bounds(Viewport.rect.center, Viewport.rect.size);
            ViewItemCount_    = InternalCalculateViewItemCount();
            Content.sizeDelta = InternalCalculateContentSize();
            ContentBounds_    = GetBounds();

            if (ViewItemCount_ > TotalCount)
            {
                ViewItemCount_ = TotalCount;
            }

            this.TotalCount        = TotalCount;
            this.Content.sizeDelta = InternalCalculateContentSize();
            this.CurrentIndex_     = Mathf.Clamp(Index, 0, TotalCount - ViewItemCount_);
            this.PreviousIndex_    = this.CurrentIndex_;
            this.OnCreateItem_     = CreateItem;
            this.OnDeleteItem_     = DeleteItem;
            this.OnUpdateItem_     = UpdateItem;
            this.Dragging_         = false;
            this.PrevPosition_     = Vector2.zero;
            this.Velocity_         = Vector2.zero;
            this.IsInit_           = true;
            FillItemList();
        }
Example #3
0
        public ObjectPoolEntity(string PoolName, LiteFunc <T> CreateFunc, LiteAction <T> SpawnFunc, LiteAction <T> RecycleFunc, LiteAction <T> DisposeFunc)
            : base(PoolName, typeof(T))
        {
            ObjectCacheList_ = new Queue <T>();

            this.CreateFunc_  = CreateFunc;
            this.SpawnFunc_   = SpawnFunc;
            this.RecycleFunc_ = RecycleFunc;
            this.DisposeFunc_ = DisposeFunc;
        }
Example #4
0
 /// <summary>
 /// Return T when TickFunc return true
 /// </summary>
 public T ForeachReturn(LiteFunc <T, bool> TickFunc)
 {
     Flush();
     InEach_++;
     foreach (var Item in Values_)
     {
         if (TickFunc?.Invoke(Item) == true)
         {
             return(Item);
         }
     }
     InEach_--;
     return(default);
Example #5
0
        public override void Dispose()
        {
            foreach (var Cache in ObjectCacheList_)
            {
                TriggerDispose(Cache);
            }

            ObjectCacheList_.Clear();
            UsedCount = 0;
            IdleCount = 0;

            CreateFunc_  = null;
            SpawnFunc_   = null;
            RecycleFunc_ = null;
            DisposeFunc_ = null;
        }
Example #6
0
 public GroupWaitConditional(GroupEntity Master, LiteFunc <bool> ConditionFunc)
     : base(Master, null)
 {
     ConditionFunc_ = ConditionFunc;
 }
Example #7
0
 public MotionContainer Wait(LiteFunc <bool> ConditionFunc)
 {
     MotionList_.Add(new WaitConditionalMotion(ConditionFunc));
     return(this);
 }
Example #8
0
 public WaitConditionalMotion(LiteFunc <bool> ConditionFunc)
     : base()
 {
     ConditionFunc_ = ConditionFunc;
 }