Example #1
0
 public GroupObserver(Group group, GroupEventType eventType)
 {
     _collectedEntities = new HashSet <Entity>(EntityEqualityComparer.comparer);
     _group             = group;
     _eventType         = eventType;
     Activate();
 }
Example #2
0
        private void RegisterGroupEvent(SteamID chatRoomID, GroupEventType type)
        {
            // Similar to RegisterUserEvent

            if (groups.ContainsKey(chatRoomID))
            {
                switch (type)
                {
                case GroupEventType.Invite:
                    groups[chatRoomID].LastInvite = DateTime.Now;
                    break;

                case GroupEventType.Joined:
                    groups[chatRoomID].Joined = DateTime.Now;
                    break;
                }
            }
            else
            {
                groups[chatRoomID] = new GroupCooldowns();
            }

            var json = JsonConvert.SerializeObject(groups);

            File.WriteAllText("./groups.json", json);
        }
        ReactiveSystem(Pool pool, IReactiveExecuteSystem subSystem, TriggerOnEvent[] triggers)
        {
            _subsystem = subSystem;
            var ensureComponents = subSystem as IEnsureComponents;
            if (ensureComponents != null) {
                _ensureComponents = ensureComponents.ensureComponents;
            }
            var excludeComponents = subSystem as IExcludeComponents;
            if (excludeComponents != null) {
                _excludeComponents = excludeComponents.excludeComponents;
            }

            _clearAfterExecute = (subSystem as IClearReactiveSystem) != null;

            var triggersLength = triggers.Length;
            var groups = new Group[triggersLength];
            var eventTypes = new GroupEventType[triggersLength];
            for (int i = 0; i < triggersLength; i++) {
                var trigger = triggers[i];
                groups[i] = pool.GetGroup(trigger.trigger);
                eventTypes[i] = trigger.eventType;
            }
            _observer = new GroupObserver(groups, eventTypes);
            _buffer = new List<Entity>();
        }
 public GroupObserver(Group group, GroupEventType eventType)
 {
     _collectedEntities = new HashSet<Entity>(EntityEqualityComparer.comparer);
     _group = group;
     _eventType = eventType;
     Activate();
 }
Example #5
0
        ReactiveSystem(Pool pool, IReactiveExecuteSystem subSystem, TriggerOnEvent[] triggers)
        {
            _subsystem = subSystem;
            var ensureComponents = subSystem as IEnsureComponents;

            if (ensureComponents != null)
            {
                _ensureComponents = ensureComponents.ensureComponents;
            }
            var excludeComponents = subSystem as IExcludeComponents;

            if (excludeComponents != null)
            {
                _excludeComponents = excludeComponents.excludeComponents;
            }

            _clearAfterExecute = (subSystem as IClearReactiveSystem) != null;

            var triggersLength = triggers.Length;
            var groups         = new Group[triggersLength];
            var eventTypes     = new GroupEventType[triggersLength];

            for (int i = 0; i < triggersLength; i++)
            {
                var trigger = triggers[i];
                groups[i]     = pool.GetGroup(trigger.trigger);
                eventTypes[i] = trigger.eventType;
            }
            _observer = new GroupObserver(groups, eventTypes);
            _buffer   = new List <Entity>();
        }
 public MergeGroupEventArgs(IDocument doc, IRowsEnumerator rowEnumerator, GroupEventType eventType)
 {
     this.idocument_0      = doc;
     this.int_0            = rowEnumerator.CurrentRowIndex;
     this.int_1            = rowEnumerator.RowsCount;
     this.string_1         = rowEnumerator.TableName;
     this.groupEventType_0 = eventType;
 }
Example #7
0
 ReactiveSystem(Pool pool, IReactiveExecuteSystem subSystem, IMatcher[] triggers, GroupEventType[] eventTypes)
 {
     _subsystem = subSystem;
     var groups = new Group[triggers.Length];
     for (int i = 0, triggersLength = triggers.Length; i < triggersLength; i++) {
         groups[i] = pool.GetGroup(triggers[i]);
     }
     _observer = new GroupObserver(groups, eventTypes);
     _buffer = new List<Entity>();
 }
Example #8
0
        public GroupObserver(Group[] groups, GroupEventType[] eventTypes)
        {
            if (groups.Length != eventTypes.Length) {
                throw new GroupObserverException("Unbalanced count with groups (" + groups.Length +
                    ") and event types (" + eventTypes.Length + ")");
            }

            _collectedEntities = new HashSet<Entity>(EntityEqualityComparer.comparer);
            _groups = groups;
            _eventTypes = eventTypes;
            Activate();
        }
        /// Creates a GroupObserver which observes all specified pools.
        /// This is useful when you want to create a GroupObserver for multiple pools
        /// which can be used with IGroupObserverSystem.
        public static GroupObserver CreateGroupObserver(this Pool[] pools, IMatcher matcher, GroupEventType eventType = GroupEventType.OnEntityAdded)
        {
            var groups     = new Group[pools.Length];
            var eventTypes = new GroupEventType[pools.Length];

            for (int i = 0, poolsLength = pools.Length; i < poolsLength; i++)
            {
                groups[i]     = pools[i].GetGroup(matcher);
                eventTypes[i] = eventType;
            }

            return(new GroupObserver(groups, eventTypes));
        }
Example #10
0
        static GroupObserver createGroupObserver(Pool pool, TriggerOnEvent[] triggers)
        {
            var triggersLength = triggers.Length;
            var groups         = new Group[triggersLength];
            var eventTypes     = new GroupEventType[triggersLength];

            for (int i = 0; i < triggersLength; i++)
            {
                var trigger = triggers[i];
                groups[i]     = pool.GetGroup(trigger.trigger);
                eventTypes[i] = trigger.eventType;
            }

            return(new GroupObserver(groups, eventTypes));
        }
 ReactiveSystem(Pool pool, IReactiveExecuteSystem subSystem, IMatcher[] triggers, GroupEventType[] eventTypes)
 {
     _subsystem = subSystem;
     var ensureComponents = subSystem as IEnsureComponents;
     if (ensureComponents != null) {
         _ensureComponents = ensureComponents.ensureComponents;
     }
     var excludeComponents = subSystem as IExcludeComponents;
     if (excludeComponents != null) {
         _excludeComponents = excludeComponents.excludeComponents;
     }
     var groups = new Group[triggers.Length];
     for (int i = 0, triggersLength = triggers.Length; i < triggersLength; i++) {
         groups[i] = pool.GetGroup(triggers[i]);
     }
     _observer = new GroupObserver(groups, eventTypes);
     _buffer = new List<Entity>();
 }
 public ClearReactiveSubSystemSpy(IMatcher matcher, GroupEventType eventType) :
     base(matcher, eventType)
 {
 }
 public ReactiveSubSystemSpy(IMatcher matcher, GroupEventType eventType)
 {
     _matcher   = matcher;
     _eventType = eventType;
 }
 public ReactiveEnsureSubSystemSpy(IMatcher matcher, GroupEventType eventType, IMatcher ensureComponent) : base(matcher, eventType)
 {
     _ensureComponent = ensureComponent;
 }
Example #15
0
 /// Creates an EntityCollector for this group.
 public static EntityCollector CreateCollector(this Group group, GroupEventType eventType = GroupEventType.OnEntityAdded)
 {
     return(new EntityCollector(group, eventType));
 }
Example #16
0
 /// Creates a GroupObserver for this group.
 public static GroupObserver CreateObserver(this Group group, GroupEventType eventType = GroupEventType.OnEntityAdded)
 {
     return(new GroupObserver(group, eventType));
 }
 public ReactiveSubSystemSpy(IMatcher matcher, GroupEventType eventType)
 {
     _matcher = matcher;
     _eventType = eventType;
 }
Example #18
0
 /// Creates an EntityCollector and will collect changed entities based on the specified eventType.
 public EntityCollector(Group group, GroupEventType eventType)
     : this(new [] { group }, new [] { eventType })
 {
 }
 public MultiReactiveSubSystemSpy(IMatcher[] matchers, GroupEventType[] eventTypes)
 {
     _matchers = matchers;
     _eventTypes = eventTypes;
 }
Example #20
0
 /// Creates a GroupObserver for this group.
 public static GroupObserver CreateObserver(this Group group, GroupEventType eventType = GroupEventType.OnEntityAdded) {
     return new GroupObserver(group, eventType);
 }
Example #21
0
 public TriggerOnEvent(IMatcher trigger, GroupEventType eventType) {
     this.trigger = trigger;
     this.eventType = eventType;
 }
 public ClearReactiveSubSystemSpy(IMatcher matcher, GroupEventType eventType) :
     base(matcher, eventType) {
 }
 internal MergeGroupEventArgs(IDocument A_0, IRowsEnumerator A_1, GroupEventType A_2, IMergeField A_3) : this(A_0, A_1, A_2)
 {
     this.imergeField_0 = A_3;
 }
Example #24
0
 public ReactiveExcludeSubSystemSpy(IMatcher matcher, GroupEventType eventType, IMatcher excludeComponent) : base(matcher, eventType)
 {
     _excludeComponent = excludeComponent;
 }
Example #25
0
 public GroupObserver(Group group, GroupEventType eventType)
     : this(new [] { group }, new [] { eventType })
 {
 }
 public MultiReactiveExcludeSubSystemSpy(IMatcher[] matchers, GroupEventType[] eventTypes, IMatcher excludeComponents)
     : base(matchers, eventTypes)
 {
     _excludeComponents = excludeComponents;
 }
Example #27
0
 public TriggerOnEvent(IMatcher trigger, GroupEventType eventType)
 {
     this.trigger   = trigger;
     this.eventType = eventType;
 }
Example #28
0
        static GroupObserver createGroupObserver(Pool pool, TriggerOnEvent[] triggers)
        {
            var triggersLength = triggers.Length;
            var groups = new Group[triggersLength];
            var eventTypes = new GroupEventType[triggersLength];
            for (int i = 0; i < triggersLength; i++) {
                var trigger = triggers[i];
                groups[i] = pool.GetGroup(trigger.trigger);
                eventTypes[i] = trigger.eventType;
            }

            return new GroupObserver(groups, eventTypes);
        }
Example #29
0
 public GroupObserver(Group group, GroupEventType eventType)
     : this(new [] { group }, new [] { eventType })
 {
 }
 public ReactiveEnsureExcludeSubSystemSpy(IMatcher matcher, GroupEventType eventType,
     IMatcher ensureComponent, IMatcher excludeComponent) : base(matcher, eventType) {
     _ensureComponent = ensureComponent;
     _excludeComponent = excludeComponent;
 }