コード例 #1
0
        public void Update(Particle particle, bool first = false)
        {
            var oldSector = particle.Sector;
            var newSector = getSector(particle);

            if (oldSector != newSector)
            {
                if (!first)
                {
                    oldSector.Leave(particle);
                }
                newSector.Enter(particle);
            }

            var wasVisible = particle.Visible;

            if (particle.CheckVisibility() && !wasVisible)
            {
                VisibleParticles.Add(particle);
            }

            particle.Sector = newSector;
        }