Ejemplo n.º 1
0
        public List <Entity> AssignEntitySimulation(Player player, VisibleCell[] added)
        {
            List <Entity> assignedEntities = new List <Entity>();

            foreach (VisibleCell cell in added)
            {
                List <Entity> entities;

                lock (entitiesByAbsoluteCell)
                {
                    if (entitiesByAbsoluteCell.TryGetValue(cell.AbsoluteCellEntity, out entities))
                    {
                        foreach (Entity entity in entities)
                        {
                            if (cell.Level <= entity.Level && simulationOwnership.TryToAcquire(entity.Guid, player))
                            {
                                assignedEntities.Add(entity);
                            }
                        }
                    }
                }
            }

            return(assignedEntities);
        }
Ejemplo n.º 2
0
        public List <Entity> AssignEntitySimulation(Player player, AbsoluteEntityCell[] added)
        {
            List <Entity> assignedEntities = new List <Entity>();

            foreach (AbsoluteEntityCell cell in added)
            {
                List <Entity> entities;

                lock (entitiesByAbsoluteCell)
                {
                    if (GetEntities(cell, out entities))
                    {
                        assignedEntities.AddRange(
                            entities.Where(entity => cell.Level <= entity.Level && simulationOwnership.TryToAcquire(entity.Guid, player)));
                    }
                }
            }

            return(assignedEntities);
        }