Example #1
0
        protected virtual void AnimateEquipment(IEquipment equipment, IAnimationEvent @event)
        {
            Ensure.That(equipment, nameof(equipment)).IsNotNull();
            Ensure.That(@event, nameof(@event)).IsNotNull();

            var path = @event.Path.ToSeq().Skip(2);

            if (!path.Any())
            {
                return;
            }

            path.Deconstruct(out var command, out var args);

            switch (@event)
            {
            case ValueChangeEvent v when command == AnimationEventKeyMorph:
                var key   = args.HeadOrNone();
                var morph = key.Bind(equipment.Morphs.TryGetValue);

                morph.Iter(m => m.Value = v.Value);

                break;
            }
        }
Example #2
0
 public void SetEventAnimation(IAnimationEvent animationEvent)
 {
     this.animationEvent = animationEvent;
 }