Changeset View
Changeset View
Standalone View
Standalone View
source/blender/editors/space_logic/logic_window.c
| Context not available. | |||||
| return N_("Random"); | return N_("Random"); | ||||
| case SENS_RAY: | case SENS_RAY: | ||||
| return N_("Ray"); | return N_("Ray"); | ||||
| case SENS_MOVEMENT: | |||||
| return N_("Movement"); | |||||
| case SENS_MESSAGE: | case SENS_MESSAGE: | ||||
| return N_("Message"); | return N_("Message"); | ||||
| case SENS_JOYSTICK: | case SENS_JOYSTICK: | ||||
| Context not available. | |||||
| static const char *actuator_name(int type) | static const char *actuator_name(int type) | ||||
| { | { | ||||
| switch (type) { | switch (type) { | ||||
| case ACT_SHAPEACTION: | |||||
| return N_("Shape Action"); | |||||
| case ACT_ACTION: | case ACT_ACTION: | ||||
| return N_("Action"); | return N_("Action"); | ||||
| case ACT_OBJECT: | case ACT_OBJECT: | ||||
| Context not available. | |||||
| return N_("Message"); | return N_("Message"); | ||||
| case ACT_GAME: | case ACT_GAME: | ||||
| return N_("Game"); | return N_("Game"); | ||||
| case ACT_VIBRATION: | |||||
| return N_("Vibration"); | |||||
| case ACT_VISIBILITY: | case ACT_VISIBILITY: | ||||
| return N_("Visibility"); | return N_("Visibility"); | ||||
| case ACT_2DFILTER: | case ACT_2DFILTER: | ||||
| Context not available. | |||||
| RNA_boolean_get(ptr, "active"))); | RNA_boolean_get(ptr, "active"))); | ||||
| uiItemR(sub, ptr, "pin", UI_ITEM_R_NO_BG, "", ICON_NONE); | uiItemR(sub, ptr, "pin", UI_ITEM_R_NO_BG, "", ICON_NONE); | ||||
| if (RNA_boolean_get(ptr, "show_expanded")==0) { | sub = uiLayoutRow(row, true); | ||||
| sub = uiLayoutRow(row, true); | uiLayoutSetActive(sub, RNA_boolean_get(ptr, "active")); | ||||
| uiLayoutSetActive(sub, RNA_boolean_get(ptr, "active")); | uiItemEnumO(sub, "LOGIC_OT_sensor_move", "", ICON_TRIA_UP, "direction", 1); // up | ||||
| uiItemEnumO(sub, "LOGIC_OT_sensor_move", "", ICON_TRIA_UP, "direction", 1); // up | uiItemEnumO(sub, "LOGIC_OT_sensor_move", "", ICON_TRIA_DOWN, "direction", 2); // down | ||||
| uiItemEnumO(sub, "LOGIC_OT_sensor_move", "", ICON_TRIA_DOWN, "direction", 2); // down | |||||
| } | |||||
| sub = uiLayoutRow(row, false); | sub = uiLayoutRow(row, false); | ||||
| uiItemR(sub, ptr, "active", 0, "", ICON_NONE); | uiItemR(sub, ptr, "active", 0, "", ICON_NONE); | ||||
| Context not available. | |||||
| static void draw_sensor_joystick(uiLayout *layout, PointerRNA *ptr) | static void draw_sensor_joystick(uiLayout *layout, PointerRNA *ptr) | ||||
| { | { | ||||
| uiLayout *col, *row; | uiLayout *col, *row, *split; | ||||
| uiItemR(layout, ptr, "joystick_index", 0, NULL, ICON_NONE); | uiItemR(layout, ptr, "joystick_index", 0, NULL, ICON_NONE); | ||||
| uiItemR(layout, ptr, "event_type", 0, NULL, ICON_NONE); | split = uiLayoutSplit(layout, 0.75f, false); | ||||
| row = uiLayoutRow(split, false); | |||||
| uiItemR(row, ptr, "event_type", 0, NULL, ICON_NONE); | |||||
| switch (RNA_enum_get(ptr, "event_type")) { | switch (RNA_enum_get(ptr, "event_type")) { | ||||
| case SENS_JOY_BUTTON: | case SENS_JOY_BUTTON: | ||||
| uiItemR(layout, ptr, "use_all_events", 0, NULL, ICON_NONE); | uiItemR(split, ptr, "use_all_events", 0, NULL, ICON_NONE); | ||||
| col = uiLayoutColumn(layout, false); | col = uiLayoutColumn(layout, false); | ||||
| uiLayoutSetActive(col, RNA_boolean_get(ptr, "use_all_events") == false); | uiLayoutSetActive(col, RNA_boolean_get(ptr, "use_all_events") == false); | ||||
| uiItemR(col, ptr, "button_number", 0, NULL, ICON_NONE); | uiItemR(col, ptr, "button_number", 0, NULL, ICON_NONE); | ||||
| break; | break; | ||||
| case SENS_JOY_AXIS: | case SENS_JOY_AXIS: | ||||
| row = uiLayoutRow(layout, false); | uiItemR(split, ptr, "use_all_events", 0, NULL, ICON_NONE); | ||||
| uiItemR(row, ptr, "axis_number", 0, NULL, ICON_NONE); | |||||
| uiItemR(row, ptr, "axis_threshold", 0, NULL, ICON_NONE); | |||||
| uiItemR(layout, ptr, "use_all_events", 0, NULL, ICON_NONE); | |||||
| col = uiLayoutColumn(layout, false); | col = uiLayoutColumn(layout, false); | ||||
| uiItemR(col, ptr, "axis_number", 0, NULL, ICON_NONE); | |||||
| uiLayoutSetActive(col, RNA_boolean_get(ptr, "use_all_events") == false); | uiLayoutSetActive(col, RNA_boolean_get(ptr, "use_all_events") == false); | ||||
| uiItemR(col, ptr, "axis_direction", 0, NULL, ICON_NONE); | uiItemR(col, ptr, "axis_direction", 0, NULL, ICON_NONE); | ||||
| uiItemR(col, ptr, "axis_threshold", 0, NULL, ICON_NONE); | |||||
| break; | break; | ||||
| case SENS_JOY_HAT: | case SENS_JOY_AXIS_SINGLE: | ||||
| uiItemR(layout, ptr, "hat_number", 0, NULL, ICON_NONE); | |||||
| uiItemR(layout, ptr, "use_all_events", 0, NULL, ICON_NONE); | |||||
| col = uiLayoutColumn(layout, false); | col = uiLayoutColumn(layout, false); | ||||
| uiLayoutSetActive(col, RNA_boolean_get(ptr, "use_all_events") == false); | uiItemR(col, ptr, "single_axis_number", 0, NULL, ICON_NONE); | ||||
| uiItemR(col, ptr, "hat_direction", 0, NULL, ICON_NONE); | uiItemR(col, ptr, "axis_threshold", 0, NULL, ICON_NONE); | ||||
| break; | break; | ||||
| case SENS_JOY_AXIS_SINGLE: | case SENS_JOY_SHOULDER_TRIGGER: | ||||
| row = uiLayoutRow(layout, false); | col = uiLayoutColumn(layout, false); | ||||
| uiItemR(row, ptr, "single_axis_number", 0, NULL, ICON_NONE); | uiItemR(col, ptr, "axis_trigger_number", 0, NULL, ICON_NONE); | ||||
| uiItemR(row, ptr, "axis_threshold", 0, NULL, ICON_NONE); | uiItemR(col, ptr, "axis_threshold", 0, NULL, ICON_NONE); | ||||
| break; | break; | ||||
| } | } | ||||
| } | } | ||||
| Context not available. | |||||
| row = uiLayoutRow(split, false); | row = uiLayoutRow(split, false); | ||||
| uiItemR(row, ptr, "range", 0, NULL, ICON_NONE); | uiItemR(row, ptr, "range", 0, NULL, ICON_NONE); | ||||
| uiItemR(row, ptr, "use_x_ray", UI_ITEM_R_TOGGLE, NULL, ICON_NONE); | uiItemR(row, ptr, "use_x_ray", UI_ITEM_R_TOGGLE, NULL, ICON_NONE); | ||||
| split = uiLayoutSplit(layout, 0.3, false); | |||||
| uiItemR(split, ptr, "mask", 0, NULL, ICON_NONE); | |||||
| } | |||||
| static void draw_sensor_movement(uiLayout *layout, PointerRNA *ptr) | |||||
| { | |||||
| uiLayout *row; | |||||
| uiItemR(layout, ptr, "axis", 0, NULL, ICON_NONE); | |||||
| row = uiLayoutRow(layout, false); | |||||
| uiItemR(row, ptr, "use_local", UI_ITEM_R_TOGGLE, NULL, ICON_NONE); | |||||
| uiItemR(row, ptr, "threshold", 0, NULL, ICON_NONE); | |||||
| } | } | ||||
| static void draw_brick_sensor(uiLayout *layout, PointerRNA *ptr, bContext *C) | static void draw_brick_sensor(uiLayout *layout, PointerRNA *ptr, bContext *C) | ||||
| Context not available. | |||||
| case SENS_RANDOM: | case SENS_RANDOM: | ||||
| draw_sensor_random(box, ptr); | draw_sensor_random(box, ptr); | ||||
| break; | break; | ||||
| case SENS_MOVEMENT: | |||||
| draw_sensor_movement(box, ptr); | |||||
| break; | |||||
| case SENS_RAY: | case SENS_RAY: | ||||
| draw_sensor_ray(box, ptr, C); | draw_sensor_ray(box, ptr, C); | ||||
| break; | break; | ||||
| Context not available. | |||||
| uiLayoutSetActive(sub, RNA_boolean_get(ptr, "active")); | uiLayoutSetActive(sub, RNA_boolean_get(ptr, "active")); | ||||
| uiItemR(sub, ptr, "use_priority", 0, "", ICON_NONE); | uiItemR(sub, ptr, "use_priority", 0, "", ICON_NONE); | ||||
| if (RNA_boolean_get(ptr, "show_expanded")==0) { | sub = uiLayoutRow(row, true); | ||||
| sub = uiLayoutRow(row, true); | uiLayoutSetActive(sub, RNA_boolean_get(ptr, "active")); | ||||
| uiLayoutSetActive(sub, RNA_boolean_get(ptr, "active")); | uiItemEnumO(sub, "LOGIC_OT_controller_move", "", ICON_TRIA_UP, "direction", 1); // up | ||||
| uiItemEnumO(sub, "LOGIC_OT_controller_move", "", ICON_TRIA_UP, "direction", 1); // up | uiItemEnumO(sub, "LOGIC_OT_controller_move", "", ICON_TRIA_DOWN, "direction", 2); // down | ||||
| uiItemEnumO(sub, "LOGIC_OT_controller_move", "", ICON_TRIA_DOWN, "direction", 2); // down | |||||
| } | |||||
| sub = uiLayoutRow(row, false); | sub = uiLayoutRow(row, false); | ||||
| uiItemR(sub, ptr, "active", 0, "", ICON_NONE); | uiItemR(sub, ptr, "active", 0, "", ICON_NONE); | ||||
| Context not available. | |||||
| RNA_boolean_get(ptr, "active"))); | RNA_boolean_get(ptr, "active"))); | ||||
| uiItemR(sub, ptr, "pin", UI_ITEM_R_NO_BG, "", ICON_NONE); | uiItemR(sub, ptr, "pin", UI_ITEM_R_NO_BG, "", ICON_NONE); | ||||
| if (RNA_boolean_get(ptr, "show_expanded")==0) { | sub = uiLayoutRow(row, true); | ||||
| sub = uiLayoutRow(row, true); | uiLayoutSetActive(sub, RNA_boolean_get(ptr, "active")); | ||||
| uiLayoutSetActive(sub, RNA_boolean_get(ptr, "active")); | uiItemEnumO(sub, "LOGIC_OT_actuator_move", "", ICON_TRIA_UP, "direction", 1); // up | ||||
| uiItemEnumO(sub, "LOGIC_OT_actuator_move", "", ICON_TRIA_UP, "direction", 1); // up | uiItemEnumO(sub, "LOGIC_OT_actuator_move", "", ICON_TRIA_DOWN, "direction", 2); // down | ||||
| uiItemEnumO(sub, "LOGIC_OT_actuator_move", "", ICON_TRIA_DOWN, "direction", 2); // down | |||||
| } | |||||
| sub = uiLayoutRow(row, false); | sub = uiLayoutRow(row, false); | ||||
| uiItemR(sub, ptr, "active", 0, "", ICON_NONE); | uiItemR(sub, ptr, "active", 0, "", ICON_NONE); | ||||
| Context not available. | |||||
| } | } | ||||
| } | } | ||||
| static void draw_actuator_shape_action(uiLayout *layout, PointerRNA *ptr) | |||||
| { | |||||
| Object *ob = (Object *)ptr->id.data; | |||||
| PointerRNA settings_ptr; | |||||
| uiLayout *row; | |||||
| if (ob->type != OB_MESH) { | |||||
| uiItemL(layout, IFACE_("Actuator only available for mesh objects"), ICON_NONE); | |||||
| return; | |||||
| } | |||||
| RNA_pointer_create((ID *)ob, &RNA_GameObjectSettings, ob, &settings_ptr); | |||||
| row = uiLayoutRow(layout, false); | |||||
| uiItemR(row, ptr, "mode", 0, "", ICON_NONE); | |||||
| uiItemR(row, ptr, "action", 0, "", ICON_NONE); | |||||
| uiItemR(row, ptr, "use_continue_last_frame", 0, NULL, ICON_NONE); | |||||
| row = uiLayoutRow(layout, false); | |||||
| if ((RNA_enum_get(ptr, "mode") == ACT_ACTION_FROM_PROP)) | |||||
| uiItemPointerR(row, ptr, "property", &settings_ptr, "properties", NULL, ICON_NONE); | |||||
| else { | |||||
| uiItemR(row, ptr, "frame_start", 0, NULL, ICON_NONE); | |||||
| uiItemR(row, ptr, "frame_end", 0, NULL, ICON_NONE); | |||||
| } | |||||
| row = uiLayoutRow(layout, false); | |||||
| uiItemR(row, ptr, "frame_blend_in", 0, NULL, ICON_NONE); | |||||
| uiItemR(row, ptr, "priority", 0, NULL, ICON_NONE); | |||||
| row = uiLayoutRow(layout, false); | |||||
| uiItemPointerR(row, ptr, "frame_property", &settings_ptr, "properties", NULL, ICON_NONE); | |||||
| #ifdef __NLA_ACTION_BY_MOTION_ACTUATOR | |||||
| uiItemR(row, "stride_length", 0, NULL, ICON_NONE); | |||||
| #endif | |||||
| } | |||||
| static void draw_actuator_sound(uiLayout *layout, PointerRNA *ptr, bContext *C) | static void draw_actuator_sound(uiLayout *layout, PointerRNA *ptr, bContext *C) | ||||
| { | { | ||||
| uiLayout *row, *col; | uiLayout *row, *col; | ||||
| Context not available. | |||||
| uiTemplateLayers(split, ptr, "states", &settings_ptr, "used_states", 0); | uiTemplateLayers(split, ptr, "states", &settings_ptr, "used_states", 0); | ||||
| } | } | ||||
| static void draw_actuator_vibration(uiLayout *layout, PointerRNA *ptr) | |||||
| { | |||||
| uiLayout *row; | |||||
| row = uiLayoutRow(layout, false); | |||||
| uiItemR(row, ptr, "joy_strength", 0, NULL, ICON_NONE); | |||||
| uiItemR(row, ptr, "joy_duration", 0, NULL, ICON_NONE); | |||||
| row = uiLayoutRow(layout, false); | |||||
| uiItemR(row, ptr, "joy_index", 0, NULL, ICON_NONE); | |||||
| } | |||||
| static void draw_actuator_visibility(uiLayout *layout, PointerRNA *ptr) | static void draw_actuator_visibility(uiLayout *layout, PointerRNA *ptr) | ||||
| { | { | ||||
| uiLayout *row; | uiLayout *row; | ||||
| Context not available. | |||||
| case ACT_SCENE: | case ACT_SCENE: | ||||
| draw_actuator_scene(box, ptr); | draw_actuator_scene(box, ptr); | ||||
| break; | break; | ||||
| case ACT_SHAPEACTION: | |||||
| draw_actuator_shape_action(box, ptr); | |||||
| break; | |||||
| case ACT_SOUND: | case ACT_SOUND: | ||||
| draw_actuator_sound(box, ptr, C); | draw_actuator_sound(box, ptr, C); | ||||
| break; | break; | ||||
| case ACT_STATE: | case ACT_STATE: | ||||
| draw_actuator_state(box, ptr); | draw_actuator_state(box, ptr); | ||||
| break; | break; | ||||
| case ACT_VIBRATION: | |||||
| draw_actuator_vibration(box, ptr); | |||||
| break; | |||||
| case ACT_VISIBILITY: | case ACT_VISIBILITY: | ||||
| draw_actuator_visibility(box, ptr); | draw_actuator_visibility(box, ptr); | ||||
| break; | break; | ||||
| Context not available. | |||||