Exemple #1
0
exports.run_camera_victory_rotation = function() {
    var camobj = m_scs.get_active_camera();
    m_cons.remove(camobj);

    var pivot = m_trans.get_translation(_char_wrapper.target);
    var cam_params = {pivot: pivot};
    m_cam.target_setup(camobj, cam_params);

    var elapsed_sensor = m_ctl.create_elapsed_sensor();
    function cam_rotate_cb(obj, id, pulse) {
        var angles = m_cam.get_camera_angles(obj, _vec2_tmp);
        var dist = m_cam.target_get_distance(obj);

        var elapsed = m_ctl.get_sensor_value(obj, id, 0);
        var hor_angle = elapsed * 0.1;

        if (angles[1] < _level_conf.VICT_CAM_VERT_ANGLE)
            var vert_angle = elapsed * 0.05;
        else
            var vert_angle = 0;

        m_cam.target_rotate(obj, hor_angle, vert_angle);

        if (dist > _level_conf.VICT_CAM_DIST) {
            dist -= elapsed;
            m_cam.target_set_distance(obj, dist);
        }
    }
    m_ctl.create_sensor_manifold(camobj, "CAMERA_ROTATION", m_ctl.CT_CONTINUOUS,
        [m_ctl.create_elapsed_sensor()], null, cam_rotate_cb);
}
Exemple #2
0
function remove_gem() {
    var gem_empty = _char_wrapper.gem_slot.empty;
    m_cons.remove(gem_empty);
    m_trans.set_translation_v(gem_empty, m_conf.DEFAULT_POS);
    m_trans.set_scale(gem_empty, 1);
    _char_wrapper.gem_slot.state = m_conf.GM_SPARE;
    _char_wrapper.gem_slot = null;
}
Exemple #3
0
exports.reset = function() {
    for (var i = 0; i < _gem_wrappers.length; i++) {
        var gem_wrapper = _gem_wrappers[i];
        var gem_empty = gem_wrapper.empty;
        m_cons.remove(gem_empty)
        m_trans.set_translation_v(gem_empty, m_conf.DEFAULT_POS);
        gem_wrapper.state = m_conf.GM_SPARE;
    }
}
Exemple #4
0
exports.run_victory = function() {

    _char_wrapper.state = m_conf.CH_VICTORY;

    disable_controls();

    m_anim.apply(_char_wrapper.rig, m_conf.CHAR_VICTORY_ANIM);
    m_anim.set_behavior(_char_wrapper.rig, m_anim.AB_CYCLIC);
    m_anim.play(_char_wrapper.rig);

    m_sfx.play_def(_char_win_spk);

    var camobj = m_scs.get_active_camera();
    m_cons.remove(camobj);

    var pivot = m_trans.get_translation(_char_wrapper.target);
    var cam_params = {pivot: pivot};
    m_cam.target_setup(camobj, cam_params);

    var elapsed_sensor = m_ctl.create_elapsed_sensor();
    function cam_rotate_cb(obj, id, pulse) {
        var angles = m_cam.get_camera_angles(obj, _vec2_tmp);
        var dist = m_cam.target_get_distance(obj);

        var elapsed = m_ctl.get_sensor_value(obj, id, 0);
        var hor_angle = elapsed * 0.1;

        if (angles[1] < _level_conf.VICT_CAM_VERT_ANGLE)
            var vert_angle = elapsed * 0.05;
        else
            var vert_angle = 0;

        m_cam.target_rotate(obj, hor_angle, vert_angle);

        if (dist > _level_conf.VICT_CAM_DIST) {
            dist -= elapsed;
            m_cam.target_set_distance(obj, dist);
        }
    }
    m_ctl.create_sensor_manifold(camobj, "CAMERA_ROTATION", m_ctl.CT_CONTINUOUS,
        [m_ctl.create_elapsed_sensor()], null, cam_rotate_cb);
}