public override void Initialize(Stage stage)
 {
     SkinnedRModelInstance modelInstance = actor.modelInstance as SkinnedRModelInstance;
     animation = new AnimationPlayer(AnimationClip.LoadClip(actor.Parm.GetString("ModelName")), modelInstance);
     animation.Looping = false;
     animation.Rewind();
     animation.playState = AnimationPlayer.PlayState.Play;
 }
 public static AnimationPlayer[] CreateAnimationList(Stage stage, ref ParameterSet parm, ref RModelInstance m)
 {
     SkinnedRModelInstance modelInstance = m as SkinnedRModelInstance;
     AnimationPlayer[] anims = new AnimationPlayer[(int)AnimationTypes.COUNT];
     if (parm.HasParm("AttackAnimation"))
         anims[(int)AnimationTypes.Attack] = new AnimationPlayer(AnimationClip.LoadClip(parm.GetString("AttackAnimation")), modelInstance);
     if (parm.HasParm("IdleAnimation"))
         anims[(int)AnimationTypes.Idle] = new AnimationPlayer(AnimationClip.LoadClip(parm.GetString("IdleAnimation")), modelInstance);
     if (parm.HasParm("DeathAnimation"))
         anims[(int)AnimationTypes.Die] = new AnimationPlayer(AnimationClip.LoadClip(parm.GetString("DeathAnimation")), modelInstance);
     if (parm.HasParm("WalkAnimation"))
         anims[(int)AnimationTypes.Walk] = new AnimationPlayer(AnimationClip.LoadClip(parm.GetString("WalkAnimation")), modelInstance);
     if (parm.HasParm("BlockAnimation"))
         anims[(int)AnimationTypes.Block] = new AnimationPlayer(AnimationClip.LoadClip(parm.GetString("BlockAnimation")), modelInstance);
     if (parm.HasParm("TakeDamageAnimation"))
         anims[(int)AnimationTypes.TakeDamage] = new AnimationPlayer(AnimationClip.LoadClip(parm.GetString("TakeDamageAnimation")), modelInstance);
     return anims;
 }
Esempio n. 3
0
        public void Update(float dt)
        {
            if (player == null)
            {
                player = this.actor.model.AnimatedModel.PlayClip(this.actor.model.AnimatedModel.Clips[0]);
                player.Looping = true;
            }

            if (pausePlay.IsNewAction)
            {
                switch (player.playState)
                {
                    case AnimationPlayer.PlayState.Pause:
                        player.playState = AnimationPlayer.PlayState.Play;
                        break;
                    case AnimationPlayer.PlayState.Play:
                        player.playState = AnimationPlayer.PlayState.Pause;
                        break;
                }
            }

            player.Update(dt);
        }
 /// <summary>
 /// Sets the animation player
 /// </summary>
 /// <param name="player"></param>
 public void SetAnimationPlayer(AnimationPlayer player)
 {
     this.player = player;
 }
 /// <summary>
 /// Play an animation clip
 /// </summary>
 /// <param name="clip">The clip to play</param>
 /// <returns>The player that will play this clip</returns>
 public AnimationPlayer PlayClip(AnimationClip clip)
 {
     // Create a clip player and assign it to this model
     player = new AnimationPlayer(clip, this);
     return player;
 }