예제 #1
0
        private void Roll(Entity entity)
        {
            var startAnimationMessage = new StartAnimationMessage(entity,
                                                                  Animations.Name(PlayerAnimation.Roll, entity.Get <CharacterInfo>().Facing));

            Engine.MessageHub.SendMessage(startAnimationMessage);
        }
예제 #2
0
        public void Start(StartAnimationMessage message)
        {
            var animationContainer = message.Target.Get <AnimationContainer>();
            var animation          = animationContainer.Animation[message.Animation];

            Start(message.Target, animationContainer, animation);
        }
예제 #3
0
        protected override void OnEntityAdded(Entity entity)
        {
            var startSlidingMessage = new StartAnimationMessage(entity, Animations.Name(PlayerAnimation.SlideDown, entity.Get <CharacterInfo>().Facing));

            Engine.MessageHub.SendMessage(startSlidingMessage);

            base.OnEntityAdded(entity);
        }
예제 #4
0
        private void StartStand(Entity entity, CharacterInfo info, Slide slide)
        {
            if (info.TillJump > 0 || !info.CanStand || slide.AnimatingUp || !slide.AnimatedDown)
            {
                return;
            }

            var startAnimationMessage = new StartAnimationMessage(entity, Animations.Name(PlayerAnimation.SlideUp, info.Facing));

            Engine.MessageHub.SendMessage(startAnimationMessage);

            slide.AnimatingUp = true;
        }