private PuppetToAnalogAnimatedBehavior(BlendTree resting, QualifiedAnimation squeezing, List <QualifiedAnimation> qualificationsOfTreeOfTree, HandSide handSide)
 {
     Resting              = resting;
     Squeezing            = squeezing;
     QualificationsOfTree = qualificationsOfTreeOfTree;
     HandSide             = handSide;
 }
        private PuppetToDualAnalogAnimatedBehavior(BlendTree resting, QualifiedAnimation leftSqueezing, QualifiedAnimation rightSqueezing, QualifiedAnimation bothSqueezing, List <QualifiedAnimation> qualificationsOfTree)
        {
            QualificationsOfTree = qualificationsOfTree;

            Resting        = resting;
            LeftSqueezing  = leftSqueezing;
            RightSqueezing = rightSqueezing;
            BothSqueezing  = bothSqueezing;
        }
        public static IAnimatedBehavior Maybe(QualifiedAnimation resting, QualifiedAnimation squeezing, HandSide handSide)
        {
            if (resting == squeezing)
            {
                return(SingleAnimatedBehavior.Of(squeezing));
            }

            return(AnalogAnimatedBehavior.Of(resting, squeezing, handSide));
        }
        public static IAnimatedBehavior Maybe(QualifiedAnimation resting, QualifiedAnimation leftSqueezing, QualifiedAnimation rightSqueezing, QualifiedAnimation bothSqueezing)
        {
            if (AreAllIdentical(resting, leftSqueezing, rightSqueezing, bothSqueezing))
            {
                return(SingleAnimatedBehavior.Of(bothSqueezing));
            }

            return(Of(resting, leftSqueezing, rightSqueezing, bothSqueezing));
        }
        private AnalogAnimatedBehavior(QualifiedAnimation resting, QualifiedAnimation squeezing, HandSide handSide)
        {
            if (resting == squeezing)
            {
                throw new ArgumentException("AnalogAnimatedBehavior must not have both identical qualified animations");
            }

            Resting   = resting;
            Squeezing = squeezing;
            HandSide  = handSide;
        }
        private DualAnalogAnimatedBehavior(QualifiedAnimation resting, QualifiedAnimation leftSqueezing, QualifiedAnimation rightSqueezing, QualifiedAnimation bothSqueezing)
        {
            if (AreAllIdentical(resting, leftSqueezing, rightSqueezing, bothSqueezing))
            {
                throw new ArgumentException("DualAnalogAnimatedBehavior must not have all identical qualified animations");
            }

            Resting        = resting;
            LeftSqueezing  = leftSqueezing;
            RightSqueezing = rightSqueezing;
            BothSqueezing  = bothSqueezing;
        }
Example #7
0
 public bool Equals(QualifiedAnimation other)
 {
     return(Equals(Clip, other.Clip) && Qualification.Equals(other.Qualification));
 }
 public static PuppetToDualAnalogAnimatedBehavior Of(BlendTree resting, QualifiedAnimation leftSqueezing, QualifiedAnimation rightSqueezing, QualifiedAnimation bothSqueezing, List <QualifiedAnimation> qualificationsOfTree)
 {
     return(new PuppetToDualAnalogAnimatedBehavior(resting, leftSqueezing, rightSqueezing, bothSqueezing, qualificationsOfTree));
 }
 public static PuppetToAnalogAnimatedBehavior Of(BlendTree resting, QualifiedAnimation squeezing, List <QualifiedAnimation> qualificationsOfTree, HandSide handSide)
 {
     return(new PuppetToAnalogAnimatedBehavior(resting, squeezing, qualificationsOfTree, handSide));
 }
 private static bool AreAllIdentical(QualifiedAnimation resting, QualifiedAnimation leftSqueezing, QualifiedAnimation rightSqueezing, QualifiedAnimation bothSqueezing)
 {
     return(resting == bothSqueezing && leftSqueezing == bothSqueezing && rightSqueezing == bothSqueezing);
 }
 public static DualAnalogAnimatedBehavior Of(QualifiedAnimation resting, QualifiedAnimation leftSqueezing, QualifiedAnimation rightSqueezing, QualifiedAnimation bothSqueezing)
 {
     return(new DualAnalogAnimatedBehavior(resting, leftSqueezing, rightSqueezing, bothSqueezing));
 }
 public static AnalogAnimatedBehavior Of(QualifiedAnimation resting, QualifiedAnimation squeezing, HandSide handSide)
 {
     return(new AnalogAnimatedBehavior(resting, squeezing, handSide));
 }
 internal static QualifiedAnimation Remap(Dictionary <QualifiedAnimation, AnimationClip> remapping, QualifiedAnimation key)
 {
     return(remapping.ContainsKey(key) ? key.NewInstanceWithClip(remapping[key]) : key);
 }
 public static IAnimatedBehavior Of(QualifiedAnimation posing)
 {
     return(new SingleAnimatedBehavior(posing));
 }
 private SingleAnimatedBehavior(QualifiedAnimation posing)
 {
     Posing = posing;
 }