Beispiel #1
0
        public override void update(IEntity entity)
        {
            Gravity     gravity     = entity.getGravity();
            KeysPressed keysPressed = entity.getKeysPressed();

            IBehaviourStateFactory behaviourStateFactory = entity.getBehaviourStateFactory();

            if (keysPressed.jump && gravity.isStanding() && entity.getJumpedReleased())
            {
                entity.setState(behaviourStateFactory.getJumpUpState(entity));
            }
            else if (gravity.isStanding() && ((keysPressed.left && !keysPressed.right) || (!keysPressed.left && keysPressed.right)))
            {
                entity.setState(behaviourStateFactory.getMoveState(entity));
            }
            else if (!gravity.isStanding())
            {
                entity.setState(behaviourStateFactory.getFallState(entity));
            }
        }
Beispiel #2
0
        public override void update(IEntity entity)
        {
            Gravity     gravity     = entity.getGravity();
            KeysPressed keysPressed = entity.getKeysPressed();

            moveEntity(entity, keysPressed, gravity, entity.getMovementSpeed());

            if (gravity.isStanding() || gravity.isNotFalling())
            {
                entity.playAudio(AudioAttributes.LANDING_SOUND);
                IBehaviourStateFactory behaviourStateFactory = entity.getBehaviourStateFactory();

                if (!keysPressed.left && !keysPressed.right)
                {
                    entity.setState(behaviourStateFactory.getIdleState(entity));
                }
                else
                {
                    entity.setState(behaviourStateFactory.getMoveState(entity));
                }
            }
        }
Beispiel #3
0
        public override void update(IEntity entity)
        {
            Gravity     gravity     = entity.getGravity();
            KeysPressed keysPressed = entity.getKeysPressed();

            Player player = entity.getTransform().gameObject.GetComponent <Player>();

            IBehaviourStateFactory behaviourStateFactory = entity.getBehaviourStateFactory();

            if (gravity.isStanding() && (keysPressed.down || keysPressed.up || keysPressed.left || keysPressed.right))
            {
                entity.setState(behaviourStateFactory.getMoveState(entity));
            }

            if (player != null && player.IsNearShop)
            {
                if (keysPressed.actionButtonOne)
                {
                    entity.setState(((BehaviourStateFactory)behaviourStateFactory).getShopState(entity));
                }
            }
            else
            {
                if (keysPressed.attack)
                {
                    entity.setState(((BehaviourStateFactory)behaviourStateFactory).getAttackState(entity, Move.getDirection(keysPressed)));
                }
                else if (keysPressed.actionButtonOne)
                {
                    entity.setState(((BehaviourStateFactory)behaviourStateFactory).getDefendState(entity));
                }
                else
                {
                    base.update(entity);
                }
            }
        }