Entitas.Context.updateGroupsComponentAddedOrRemoved C# (CSharp) Method

updateGroupsComponentAddedOrRemoved() private method

private updateGroupsComponentAddedOrRemoved ( Entity entity, int index, IComponent component ) : void
entity Entity
index int
component IComponent
return void
        void updateGroupsComponentAddedOrRemoved(
            Entity entity, int index, IComponent component)
        {
            var groups = _groupsForIndex[index];
            if(groups != null) {
                var events = EntitasCache.GetGroupChangedList();

                    for(int i = 0; i < groups.Count; i++) {
                        events.Add(groups[i].handleEntity(entity));
                    }

                    for(int i = 0; i < events.Count; i++) {
                        var groupChangedEvent = events[i];
                        if(groupChangedEvent != null) {
                            groupChangedEvent(
                                groups[i], entity, index, component
                            );
                        }
                    }

                EntitasCache.PushGroupChangedList(events);
            }
        }