// Invoke the Changed event; called whenever list changes
        protected virtual void OnChanged(int itemCount)
        {
            //if (OnListChanged != null)
            //    OnListChanged(this, new OnListChangedEventArgs(itemCount));

            OnListChanged?.Invoke(this, new OnListChangedEventArgs(itemCount));
        }
예제 #2
0
 private void Update()
 {
     //testing
     if (Input.GetKeyDown(KeyCode.T))
     {
         OnListChanged?.Invoke(this, EventArgs.Empty);
     }
 }
예제 #3
0
 public void RegisterOnListChanged(OnListChanged callback)
 {
     if (_changedCallBackList.Contains(callback))
     {
         return;
     }
     this.onListChanged += callback;
     _changedCallBackList.Add(callback);
 }
예제 #4
0
        public new void Add(CardCtrl card)
        {
            if (Selectable)
            {
                card.PointerPressed += _parent.CardGrid_PointerPressed;
            }

            base.Add(card);
            OnListChanged?.Invoke(this, new ListChangedEventArgs(ListChangedAction.Added, card));
        }
예제 #5
0
        public new void Insert(int index, CardCtrl card)
        {
            if (Selectable)
            {
                card.PointerPressed += _parent.CardGrid_PointerPressed;
            }

            base.Insert(index, card);
            OnListChanged?.Invoke(this, new ListChangedEventArgs(ListChangedAction.Inserted, card));
        }
예제 #6
0
    public void UnRegisterOnListChanged(OnListChanged callback)
    {
        if (this.onListChanged == null)
        {
            return;
        }

        if (_changedCallBackList.Contains(callback))
        {
            this.onListChanged -= callback;
            _changedCallBackList.Remove(callback);
        }
    }
예제 #7
0
    public void UpdateValueAt(int idx, T newValue)
    {
        if (Compare(_list[idx], newValue))
        {
            return;
        }

        _list[idx] = newValue;

        LastChangedIndex = idx;

        OnListChanged?.Invoke();
    }
예제 #8
0
        /// <summary>
        /// Adds an item.
        /// </summary>
        ///
        public void AddItem(SItem item)
        {
            listItems.Add(item);
            if (OnListChanged != null)
            {
                OnListChanged.Invoke(this);
            }

            if (m_selectedItem < 0)
            {
                m_selectedItem = 0;
                CheckForChange();
            }
        }
예제 #9
0
        public new bool Remove(CardCtrl card)
        {
            if (Selectable)
            {
                card.PointerPressed -= _parent.CardGrid_PointerPressed;
            }

            var ret = base.Remove(card);

            if (ret)
            {
                OnListChanged?.Invoke(this, new ListChangedEventArgs(ListChangedAction.Removed, card));
            }

            return(ret);
        }
예제 #10
0
        private void HandleAddListEvent(NetworkedListEvent <T> listEvent)
        {
            if (NetworkingManager.Singleton.IsServer)
            {
                if (NetworkingManager.Singleton.ConnectedClients.Count > 0)
                {
                    dirtyEvents.Add(listEvent);
                }

                OnListChanged?.Invoke(listEvent);
            }
            else
            {
                dirtyEvents.Add(listEvent);
            }
        }
예제 #11
0
    public void Add(T item)
    {
        if (_dontDuplicateValue)
        {
            if (_list.Contains(item))
            {
                return;
            }
        }

        _list.Add(item);

        LastAdd = item;

        OnListChanged?.Invoke();
    }
예제 #12
0
    public void Remove(T item)
    {
        int preCount = _list.Count;

        _list.Remove(item);

        if (preCount == _list.Count)
        {
            Debug.Log($"value [{item}] is not contained in list, ignore!");
            return;
        }

        LastRemove = item;

        OnListChanged?.Invoke();
    }
예제 #13
0
    public void AssignNew(List <T> newList)
    {
        if (newList == null)
        {
            return;
        }

        _list.Clear();

        for (int i = 0; i < newList.Count; i++)
        {
            _list.Add(newList[i]);
        }

        OnListChanged?.Invoke();
    }
예제 #14
0
    public void CompareWithNewList(List <T> newList)
    {
        if (_list.Count != newList.Count)
        {
            OnListChanged?.Invoke();
        }

        for (int i = 0; i < _list.Count; i++)
        {
            if (!Compare(_list[i], newList[i]))
            {
                OnListChanged?.Invoke();
                break;
            }
        }
    }
예제 #15
0
    public void AddItemToList(ItemObject item, ShopList sl)
    {
        switch (sl)
        {
        case ShopList.display:
            displayItems.Add(item);
            break;

        case ShopList.buy:
            buyListItems.Add(item);
            break;

        case ShopList.sell:
            sellListItems.Add(item);
            break;
        }
        OnListChanged?.Invoke(this, EventArgs.Empty);
    }
예제 #16
0
        public new void Clear()
        {
            if (Selectable)
            {
                foreach (var c in this)
                {
                    c.PointerPressed -= _parent.CardGrid_PointerPressed;
                }
            }

            foreach (var card in this)
            {
                card.DisconnectCardCanvas();
            }

            base.Clear();
            OnListChanged?.Invoke(this, new ListChangedEventArgs(ListChangedAction.Cleared, null));
        }
예제 #17
0
 internal virtual void ListChangedTrigger(int newindex)
 {
     OnListChanged?.Invoke(this, newindex);
 }
예제 #18
0
 public void Clear()
 {
     _list.Clear();
     OnListChanged?.Invoke();
 }
예제 #19
0
파일: FriendHelper.cs 프로젝트: zzti/GFF
 private static void RaiseOnListChanged(List <Friend> list)
 {
     OnListChanged?.Invoke(list);
 }
예제 #20
0
 private void InvokeEvent()
 {
     OnListChanged?.Invoke(this, new DroneListChangedEventArgs(GetDrones()));
 }
예제 #21
0
    public static OnListChanged FriendListChangedDelegate(LuaFunction func)
    {
        OnListChanged action = (val) => { func.Call(val); };

        return(action);
    }
예제 #22
0
 public void SetProducts(List <Product> products)
 {
     currentList = products;
     FilterByWebsite(currentWebsiteFilter);
     OnListChanged?.Invoke(this, EventArgs.Empty);
 }