Exemplo n.º 1
0
        public void Update(EntityPlayer player)
        {
            var current = new HashSet <string>(player.GetCarried()
                                               .Select(carried => carried.Behavior?.Slots[carried.Slot]?.Animation)
                                               .Where(animation => (animation != null)));

            var added   = current.Except(_previous);
            var removed = _previous.Except(current);

            foreach (var anim in added)
            {
                player.StartAnimation(anim);
            }
            foreach (var anim in removed)
            {
                player.StopAnimation(anim);
            }

            _previous = current;
        }