예제 #1
0
        public override bool StartAnimation(AnimationMetaData animdata)
        {
            if (ActiveAnimationsByAnimCode.ContainsKey(Personality + "nod"))
            {
                return(false);
            }

            if (PersonalizedAnimations.Contains(animdata.Animation.ToLowerInvariant()))
            {
                if (animdata.Animation == "laugh" && ActiveAnimationsByAnimCode.ContainsKey(Personality + "welcome"))
                {
                    return(false);
                }

                animdata           = animdata.Clone();
                animdata.Animation = Personality + animdata.Animation;
                animdata.Code      = animdata.Animation;
                animdata.CodeCrc32 = AnimationMetaData.GetCrc32(animdata.Code);

                if (animdata.Animation != Personality + "idle")
                {
                    StopAnimation(Personality + "idle");
                }
            }

            return(base.StartAnimation(animdata));
        }
        public override bool StartAnimation(AnimationMetaData animdata)
        {
            if (Personality == "formal" || Personality == "rowdy" || Personality == "lazy")
            {
                StopAnimation(Personality + "idle");
                StopAnimation(Personality + "idle2");
            }

            if (PersonalizedAnimations.Contains(animdata.Animation.ToLowerInvariant()))
            {
                animdata           = animdata.Clone();
                animdata.Animation = Personality + animdata.Animation;
                animdata.Code      = animdata.Animation;
                animdata.CodeCrc32 = AnimationMetaData.GetCrc32(animdata.Code);
            }

            return(base.StartAnimation(animdata));
        }