public void SparseSet_Smoke_Test()
        {
            var set = new SparseSet(15, 10);

            set.Add(6);
            set.Add(15);
            set.Add(0);

            set.Remove(15);

            Assert.IsTrue(set.HasItem(6));
            Assert.AreEqual(2, set.Length);
        }
        public void SparseSet_Stress_Test()
        {
            var set = new SparseSet(1000, 1000);

            var random         = new Random();
            var testCollection = Enumerable.Range(0, 1000)
                                 .OrderBy(x => random.Next())
                                 .ToList();

            foreach (var element in testCollection)
            {
                set.Add(element);
            }

            foreach (var element in testCollection)
            {
                Assert.IsTrue(set.HasItem(element));
            }

            foreach (var element in testCollection)
            {
                Assert.IsTrue(set.HasItem(element));
                set.Remove(element);
                Assert.IsFalse(set.HasItem(element));
            }
        }
Ejemplo n.º 3
0
        /// <summary>
        /// Queues the deletion of a given entity.
        /// </summary>
        /// <param name="entity">The entity to be removed from the factory.</param>
        public MorroFactory RemoveEntity(uint entity)
        {
            entityRemovalQueue.Add(entity);
            dataModified = true;

            return(this);
        }
Ejemplo n.º 4
0
        public Factory FireWorker(uint ssn)
        {
            VerifySSN(ssn);

            entityRemoval.Add(ssn);
            dataModified = true;

            return(this);
        }
Ejemplo n.º 5
0
        public void SparseSet_Smoke_Test()
        {
            var set = new SparseSet(15, 10);

            set.Add(6);
            set.Add(15);
            set.Add(0);

            //IEnumerable test
            Assert.AreEqual(set.Count, set.Count());

            set.Remove(15);

            Assert.IsTrue(set.HasItem(6));
            Assert.AreEqual(2, set.Count);

            //IEnumerable test
            Assert.AreEqual(set.Count, set.Count());
        }
Ejemplo n.º 6
0
        public MessageHandler <TMessage> GetHandler <TMessage>() where TMessage : IMessage
        {
            int mid = MessageType <TMessage> .ID;
            int idx = indices.Add(mid);

            if (idx >= handlers.Count)
            {
                handlers.Add(new MessageHandler <TMessage>());
            }
            return((MessageHandler <TMessage>)handlers[idx]);
        }
Ejemplo n.º 7
0
 public void Add(Entity entity, T value)
 {
     Set.Add(entity.Id);
     instances[Set.Index(entity.Id)] = value;
     OnAdd?.Invoke(entity.Id);
 }