Exemple #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));
            }
        }
Exemple #2
0
        public override void update(IEntity entity)
        {
            Gravity        gravity       = entity.getGravity();
            KeysPressed    keysPressed   = entity.getKeysPressed();
            IGravityClient gravityClient = entity.getGravityClient();

#if USE_3D_RAYS
            gravityClient.getRayInformation3D().checkRaysFront(gravityClient, 0.0f, entity.getTransform().eulerAngles.z + 0.0f, entity.getGravityClient().getLayerToIgnore());
#else
            gravityClient.getRayInformation().checkRaysFront(gravityClient, 0.0f, entity.getTransform().eulerAngles.z + 0.0f, layermask);
#endif
            if (keysPressed.jump && (gravity.isStanding() ||
#if USE_3D_RAYS
                                     (gravityClient.getRayHitboxes().DistanceBelow <= (gravityClient.getRayInformation3D().MinimalSpaceBetweenTileBelow))) &&
#else
                                     (gravityClient.getRayHitboxes().DistanceBelow <= (gravityClient.getRayInformation().MinimalSpaceBetweenTileBelow))) &&
#endif
                entity.getJumpedReleased())
            {
                IBehaviourStateFactory behaviourStateFactory = entity.getBehaviourStateFactory();
                entity.setState(behaviourStateFactory.getJumpUpState(entity));
                moveEntity(entity, keysPressed, gravity, entity.getMovementSpeed());
            }