Esempio n. 1
0
            public void Tick(ActorMap am)
            {
                if (!Dirty)
                {
                    return;
                }

                var oldActors = currentActors;

                currentActors = Footprint.SelectMany(c => am.GetUnitsAt(c)).ToList();

                var entered = currentActors.Except(oldActors);
                var exited  = oldActors.Except(currentActors);

                if (onActorEntered != null)
                {
                    foreach (var a in entered)
                    {
                        onActorEntered(a);
                    }
                }

                if (onActorExited != null)
                {
                    foreach (var a in exited)
                    {
                        onActorExited(a);
                    }
                }

                Dirty = false;
            }
Esempio n. 2
0
            public void Tick(ActorMap am)
            {
                if (!Dirty)
                    return;

                var oldActors = currentActors;
                currentActors = Footprint.SelectMany(c => am.GetUnitsAt(c)).ToList();

                var entered = currentActors.Except(oldActors);
                var exited = oldActors.Except(currentActors);

                if (onActorEntered != null)
                    foreach (var a in entered)
                        onActorEntered(a);

                if (onActorExited != null)
                    foreach (var a in exited)
                        onActorExited(a);

                Dirty = false;
            }