forked from bartvdbraak/blender
Logic UI - lookup for properties (matt need your help to finish it)
I based this code on drawnode, so I hope this is the right way of doing this. Working Sensors: - keyboard - property Working Actuators: - property (partly) - ipo - action - shape action - message - random Need help with: - actuator sensor - property actuator (for the second object) - touch/ray/collision sensors + constraint actuator (for the material lookup, not the property one) maybe a doversion + changing the type to material work better here (as we have in touch sensor) + added notifier for the game property.
This commit is contained in:
parent
5be1fd3592
commit
94cd746566
@ -3208,6 +3208,14 @@ static void draw_sensor_internal_header(uiLayout *layout, PointerRNA *ptr)
|
|||||||
|
|
||||||
static void draw_sensor_actuator(uiLayout *layout, PointerRNA *ptr)
|
static void draw_sensor_actuator(uiLayout *layout, PointerRNA *ptr)
|
||||||
{
|
{
|
||||||
|
/* -- couldnt make it work for actuators
|
||||||
|
Object *ob = (Object *)ptr->id.data;
|
||||||
|
PointerRNA settings_ptr;
|
||||||
|
|
||||||
|
RNA_pointer_create((ID *)ob, &RNA_GameObjectSettings, ob, &settings_ptr);
|
||||||
|
uiItemPointerR(layout, ptr, "actuator", &settings_ptr, "actuators", "", 0);
|
||||||
|
*/
|
||||||
|
|
||||||
uiItemR(layout, ptr, "actuator", 0, NULL, 0);
|
uiItemR(layout, ptr, "actuator", 0, NULL, 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -3296,6 +3304,8 @@ static void draw_sensor_joystick(uiLayout *layout, PointerRNA *ptr)
|
|||||||
|
|
||||||
static void draw_sensor_keyboard(uiLayout *layout, PointerRNA *ptr)
|
static void draw_sensor_keyboard(uiLayout *layout, PointerRNA *ptr)
|
||||||
{
|
{
|
||||||
|
Object *ob = (Object *)ptr->id.data;
|
||||||
|
PointerRNA settings_ptr;
|
||||||
uiLayout *row, *col;
|
uiLayout *row, *col;
|
||||||
|
|
||||||
row = uiLayoutRow(layout, 0);
|
row = uiLayoutRow(layout, 0);
|
||||||
@ -3316,8 +3326,12 @@ static void draw_sensor_keyboard(uiLayout *layout, PointerRNA *ptr)
|
|||||||
uiItemL(row, "Second Modifier:", 0);
|
uiItemL(row, "Second Modifier:", 0);
|
||||||
uiItemR(row, ptr, "second_modifier_key", UI_ITEM_R_EVENT, "", 0);
|
uiItemR(row, ptr, "second_modifier_key", UI_ITEM_R_EVENT, "", 0);
|
||||||
|
|
||||||
uiItemR(layout, ptr, "target", 0, NULL, 0);
|
RNA_pointer_create((ID *)ob, &RNA_GameObjectSettings, ob, &settings_ptr);
|
||||||
uiItemR(layout, ptr, "log", 0, NULL, 0);
|
uiItemPointerR(layout, ptr, "target", &settings_ptr, "properties", NULL, 0);
|
||||||
|
uiItemPointerR(layout, ptr, "log", &settings_ptr, "properties", NULL, 0);
|
||||||
|
|
||||||
|
// uiItemR(layout, ptr, "target", 0, NULL, 0);
|
||||||
|
// uiItemR(layout, ptr, "log", 0, NULL, 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void draw_sensor_message(uiLayout *layout, PointerRNA *ptr)
|
static void draw_sensor_message(uiLayout *layout, PointerRNA *ptr)
|
||||||
@ -3343,9 +3357,14 @@ static void draw_sensor_near(uiLayout *layout, PointerRNA *ptr)
|
|||||||
|
|
||||||
static void draw_sensor_property(uiLayout *layout, PointerRNA *ptr)
|
static void draw_sensor_property(uiLayout *layout, PointerRNA *ptr)
|
||||||
{
|
{
|
||||||
|
Object *ob = (Object *)ptr->id.data;
|
||||||
|
PointerRNA settings_ptr;
|
||||||
|
|
||||||
uiLayout *row;
|
uiLayout *row;
|
||||||
uiItemR(layout, ptr, "evaluation_type", 0, NULL, 0);
|
uiItemR(layout, ptr, "evaluation_type", 0, NULL, 0);
|
||||||
uiItemR(layout, ptr, "property", 0, NULL, 0);
|
|
||||||
|
RNA_pointer_create((ID *)ob, &RNA_GameObjectSettings, ob, &settings_ptr);
|
||||||
|
uiItemPointerR(layout, ptr, "property", &settings_ptr, "properties", NULL, 0);
|
||||||
|
|
||||||
switch (RNA_enum_get(ptr, "evaluation_type")) {
|
switch (RNA_enum_get(ptr, "evaluation_type")) {
|
||||||
case SENS_PROP_INTERVAL:
|
case SENS_PROP_INTERVAL:
|
||||||
@ -3556,8 +3575,12 @@ static void draw_actuator_header(uiLayout *layout, PointerRNA *ptr)
|
|||||||
|
|
||||||
static void draw_actuator_action(uiLayout *layout, PointerRNA *ptr)
|
static void draw_actuator_action(uiLayout *layout, PointerRNA *ptr)
|
||||||
{
|
{
|
||||||
|
Object *ob = (Object *)ptr->id.data;
|
||||||
|
PointerRNA settings_ptr;
|
||||||
uiLayout *row;
|
uiLayout *row;
|
||||||
|
|
||||||
|
RNA_pointer_create((ID *)ob, &RNA_GameObjectSettings, ob, &settings_ptr);
|
||||||
|
|
||||||
row= uiLayoutRow(layout, 0);
|
row= uiLayoutRow(layout, 0);
|
||||||
uiItemR(row, ptr, "mode", 0, "", 0);
|
uiItemR(row, ptr, "mode", 0, "", 0);
|
||||||
uiItemR(row, ptr, "action", 0, NULL, 0);
|
uiItemR(row, ptr, "action", 0, NULL, 0);
|
||||||
@ -3565,7 +3588,7 @@ static void draw_actuator_action(uiLayout *layout, PointerRNA *ptr)
|
|||||||
|
|
||||||
row= uiLayoutRow(layout, 0);
|
row= uiLayoutRow(layout, 0);
|
||||||
if((RNA_enum_get(ptr, "mode") == ACT_ACTION_FROM_PROP))
|
if((RNA_enum_get(ptr, "mode") == ACT_ACTION_FROM_PROP))
|
||||||
uiItemR(row, ptr, "property", 0, NULL, 0);
|
uiItemPointerR(row, ptr, "property", &settings_ptr, "properties", NULL, 0);
|
||||||
|
|
||||||
else {
|
else {
|
||||||
uiItemR(row, ptr, "frame_start", 0, NULL, 0);
|
uiItemR(row, ptr, "frame_start", 0, NULL, 0);
|
||||||
@ -3577,7 +3600,7 @@ static void draw_actuator_action(uiLayout *layout, PointerRNA *ptr)
|
|||||||
uiItemR(row, ptr, "priority", 0, NULL, 0);
|
uiItemR(row, ptr, "priority", 0, NULL, 0);
|
||||||
|
|
||||||
row= uiLayoutRow(layout, 0);
|
row= uiLayoutRow(layout, 0);
|
||||||
uiItemR(row, ptr, "frame_property", 0, NULL, 0);
|
uiItemPointerR(layout, ptr, "frame_property", &settings_ptr, "properties", NULL, 0);
|
||||||
|
|
||||||
#ifdef __NLA_ACTION_BY_MOTION_ACTUATOR
|
#ifdef __NLA_ACTION_BY_MOTION_ACTUATOR
|
||||||
uiItemR(row, "stride_length", 0, NULL, 0);
|
uiItemR(row, "stride_length", 0, NULL, 0);
|
||||||
@ -3809,8 +3832,13 @@ static void draw_actuator_game(uiLayout *layout, PointerRNA *ptr)
|
|||||||
|
|
||||||
static void draw_actuator_ipo(uiLayout *layout, PointerRNA *ptr)
|
static void draw_actuator_ipo(uiLayout *layout, PointerRNA *ptr)
|
||||||
{
|
{
|
||||||
|
Object *ob;
|
||||||
|
PointerRNA settings_ptr;
|
||||||
uiLayout *row, *subrow, *col;
|
uiLayout *row, *subrow, *col;
|
||||||
|
|
||||||
|
ob = (Object *)ptr->id.data;
|
||||||
|
RNA_pointer_create((ID *)ob, &RNA_GameObjectSettings, ob, &settings_ptr);
|
||||||
|
|
||||||
row= uiLayoutRow(layout, 0);
|
row= uiLayoutRow(layout, 0);
|
||||||
uiItemR(row, ptr, "play_type", 0, "", 0);
|
uiItemR(row, ptr, "play_type", 0, "", 0);
|
||||||
subrow= uiLayoutRow(row, 1);
|
subrow= uiLayoutRow(row, 1);
|
||||||
@ -3823,7 +3851,7 @@ static void draw_actuator_ipo(uiLayout *layout, PointerRNA *ptr)
|
|||||||
|
|
||||||
row= uiLayoutRow(layout, 0);
|
row= uiLayoutRow(layout, 0);
|
||||||
if((RNA_enum_get(ptr, "play_type") == ACT_IPO_FROM_PROP))
|
if((RNA_enum_get(ptr, "play_type") == ACT_IPO_FROM_PROP))
|
||||||
uiItemR(row, ptr, "property", 0, NULL, 0);
|
uiItemPointerR(row, ptr, "property", &settings_ptr, "properties", NULL, 0);
|
||||||
|
|
||||||
else {
|
else {
|
||||||
uiItemR(row, ptr, "frame_start", 0, NULL, 0);
|
uiItemR(row, ptr, "frame_start", 0, NULL, 0);
|
||||||
@ -3832,31 +3860,37 @@ static void draw_actuator_ipo(uiLayout *layout, PointerRNA *ptr)
|
|||||||
uiItemR(row, ptr, "child", 0, NULL, 0);
|
uiItemR(row, ptr, "child", 0, NULL, 0);
|
||||||
|
|
||||||
row= uiLayoutRow(layout, 0);
|
row= uiLayoutRow(layout, 0);
|
||||||
uiItemR(row, ptr, "frame_property", 0, NULL, 0);
|
uiItemPointerR(row, ptr, "frame_property", &settings_ptr, "properties", NULL, 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void draw_actuator_message(uiLayout *layout, PointerRNA *ptr)
|
static void draw_actuator_message(uiLayout *layout, PointerRNA *ptr)
|
||||||
{
|
{
|
||||||
|
Object *ob;
|
||||||
|
PointerRNA settings_ptr;
|
||||||
uiLayout *row;
|
uiLayout *row;
|
||||||
|
|
||||||
|
ob = (Object *)ptr->id.data;
|
||||||
|
RNA_pointer_create((ID *)ob, &RNA_GameObjectSettings, ob, &settings_ptr);
|
||||||
|
|
||||||
uiItemR(layout, ptr, "to_property", 0, NULL, 0);
|
uiItemR(layout, ptr, "to_property", 0, NULL, 0);
|
||||||
uiItemR(layout, ptr, "subject", 0, NULL, 0);
|
uiItemR(layout, ptr, "subject", 0, NULL, 0);
|
||||||
|
|
||||||
row= uiLayoutRow(layout, 0);
|
row= uiLayoutRow(layout, 1);
|
||||||
uiItemR(row, ptr, "body_type", 0, NULL, 0);
|
uiItemR(row, ptr, "body_type", 0, NULL, 0);
|
||||||
|
|
||||||
if(RNA_enum_get(ptr, "body_type") == ACT_MESG_MESG)
|
if(RNA_enum_get(ptr, "body_type") == ACT_MESG_MESG)
|
||||||
uiItemR(row, ptr, "body_message", 0, NULL, 0);
|
uiItemR(row, ptr, "body_message", 0, "", 0);
|
||||||
else // mode == ACT_MESG_PROP
|
else // mode == ACT_MESG_PROP
|
||||||
uiItemR(row, ptr, "body_property", 0, NULL, 0);
|
uiItemPointerR(row, ptr, "body_property", &settings_ptr, "properties", "", 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void draw_actuator_motion(uiLayout *layout, PointerRNA *ptr)
|
static void draw_actuator_motion(uiLayout *layout, PointerRNA *ptr)
|
||||||
{
|
{
|
||||||
uiLayout *split, *row, *col, *subcol;
|
Object *ob;
|
||||||
Object *ob = (Object *)ptr->id.data;
|
|
||||||
PointerRNA settings_ptr;
|
PointerRNA settings_ptr;
|
||||||
|
uiLayout *split, *row, *col, *subcol;
|
||||||
|
|
||||||
|
ob = (Object *)ptr->id.data;
|
||||||
RNA_pointer_create((ID *)ob, &RNA_GameObjectSettings, ob, &settings_ptr);
|
RNA_pointer_create((ID *)ob, &RNA_GameObjectSettings, ob, &settings_ptr);
|
||||||
|
|
||||||
uiItemR(layout, ptr, "mode", 0, NULL, 0);
|
uiItemR(layout, ptr, "mode", 0, NULL, 0);
|
||||||
@ -3957,10 +3991,14 @@ static void draw_actuator_parent(uiLayout *layout, PointerRNA *ptr)
|
|||||||
|
|
||||||
static void draw_actuator_property(uiLayout *layout, PointerRNA *ptr)
|
static void draw_actuator_property(uiLayout *layout, PointerRNA *ptr)
|
||||||
{
|
{
|
||||||
|
Object *ob = (Object *)ptr->id.data;
|
||||||
|
PointerRNA settings_ptr;
|
||||||
uiLayout *row;
|
uiLayout *row;
|
||||||
|
|
||||||
uiItemR(layout, ptr, "mode", 0, NULL, 0);
|
uiItemR(layout, ptr, "mode", 0, NULL, 0);
|
||||||
uiItemR(layout, ptr, "prop_name", 0, NULL, 0);
|
|
||||||
|
RNA_pointer_create((ID *)ob, &RNA_GameObjectSettings, ob, &settings_ptr);
|
||||||
|
uiItemPointerR(layout, ptr, "property", &settings_ptr, "properties", NULL, 0);
|
||||||
|
|
||||||
switch(RNA_enum_get(ptr, "mode"))
|
switch(RNA_enum_get(ptr, "mode"))
|
||||||
{
|
{
|
||||||
@ -3975,26 +4013,32 @@ static void draw_actuator_property(uiLayout *layout, PointerRNA *ptr)
|
|||||||
case ACT_PROP_COPY:
|
case ACT_PROP_COPY:
|
||||||
row = uiLayoutRow(layout, 0);
|
row = uiLayoutRow(layout, 0);
|
||||||
uiItemR(row, ptr, "object", 0, NULL, 0);
|
uiItemR(row, ptr, "object", 0, NULL, 0);
|
||||||
uiItemR(row, ptr, "object_prop_name", 0, NULL, 0);
|
uiItemR(row, ptr, "object_property", 0, NULL, 0);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
static void draw_actuator_random(uiLayout *layout, PointerRNA *ptr)
|
static void draw_actuator_random(uiLayout *layout, PointerRNA *ptr)
|
||||||
{
|
{
|
||||||
|
Object *ob;
|
||||||
|
PointerRNA settings_ptr;
|
||||||
uiLayout *row;
|
uiLayout *row;
|
||||||
|
|
||||||
|
ob = (Object *)ptr->id.data;
|
||||||
|
RNA_pointer_create((ID *)ob, &RNA_GameObjectSettings, ob, &settings_ptr);
|
||||||
|
|
||||||
row = uiLayoutRow(layout, 0);
|
row = uiLayoutRow(layout, 0);
|
||||||
|
|
||||||
uiItemR(row, ptr, "seed", 0, NULL, 0);
|
uiItemR(row, ptr, "seed", 0, NULL, 0);
|
||||||
uiItemR(row, ptr, "distribution", 0, NULL, 0);
|
uiItemR(row, ptr, "distribution", 0, NULL, 0);
|
||||||
|
|
||||||
row = uiLayoutRow(layout, 0);
|
row = uiLayoutRow(layout, 0);
|
||||||
uiItemR(row, ptr, "property", 0, NULL, 0);
|
uiItemPointerR(row, ptr, "property", &settings_ptr, "properties", NULL, 0);
|
||||||
|
|
||||||
row = uiLayoutRow(layout, 0);
|
row = uiLayoutRow(layout, 0);
|
||||||
|
|
||||||
switch (RNA_enum_get(ptr, "distribution")){
|
switch (RNA_enum_get(ptr, "distribution")){
|
||||||
case ACT_RANDOM_BOOL_CONST:
|
case ACT_RANDOM_BOOL_CONST:
|
||||||
uiItemR(row, ptr, "always_true", 0, NULL, 0);
|
uiItemR(row, ptr, "always_true", UI_ITEM_R_TOGGLE, NULL, 0);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case ACT_RANDOM_BOOL_UNIFORM:
|
case ACT_RANDOM_BOOL_UNIFORM:
|
||||||
@ -4056,8 +4100,12 @@ static void draw_actuator_scene(uiLayout *layout, PointerRNA *ptr)
|
|||||||
|
|
||||||
static void draw_actuator_shape_action(uiLayout *layout, PointerRNA *ptr)
|
static void draw_actuator_shape_action(uiLayout *layout, PointerRNA *ptr)
|
||||||
{
|
{
|
||||||
|
Object *ob = (Object *)ptr->id.data;
|
||||||
|
PointerRNA settings_ptr;
|
||||||
uiLayout *row;
|
uiLayout *row;
|
||||||
|
|
||||||
|
RNA_pointer_create((ID *)ob, &RNA_GameObjectSettings, ob, &settings_ptr);
|
||||||
|
|
||||||
row= uiLayoutRow(layout, 0);
|
row= uiLayoutRow(layout, 0);
|
||||||
uiItemR(row, ptr, "mode", 0, "", 0);
|
uiItemR(row, ptr, "mode", 0, "", 0);
|
||||||
uiItemR(row, ptr, "action", 0, NULL, 0);
|
uiItemR(row, ptr, "action", 0, NULL, 0);
|
||||||
@ -4065,7 +4113,7 @@ static void draw_actuator_shape_action(uiLayout *layout, PointerRNA *ptr)
|
|||||||
|
|
||||||
row= uiLayoutRow(layout, 0);
|
row= uiLayoutRow(layout, 0);
|
||||||
if((RNA_enum_get(ptr, "mode") == ACT_ACTION_FROM_PROP))
|
if((RNA_enum_get(ptr, "mode") == ACT_ACTION_FROM_PROP))
|
||||||
uiItemR(row, ptr, "property", 0, NULL, 0);
|
uiItemPointerR(row, ptr, "property", &settings_ptr, "properties", NULL, 0);
|
||||||
|
|
||||||
else {
|
else {
|
||||||
uiItemR(row, ptr, "frame_start", 0, NULL, 0);
|
uiItemR(row, ptr, "frame_start", 0, NULL, 0);
|
||||||
@ -4077,7 +4125,7 @@ static void draw_actuator_shape_action(uiLayout *layout, PointerRNA *ptr)
|
|||||||
uiItemR(row, ptr, "priority", 0, NULL, 0);
|
uiItemR(row, ptr, "priority", 0, NULL, 0);
|
||||||
|
|
||||||
row= uiLayoutRow(layout, 0);
|
row= uiLayoutRow(layout, 0);
|
||||||
uiItemR(row, ptr, "frame_property", 0, NULL, 0);
|
uiItemPointerR(row, ptr, "frame_property", &settings_ptr, "properties", NULL, 0);
|
||||||
|
|
||||||
#ifdef __NLA_ACTION_BY_MOTION_ACTUATOR
|
#ifdef __NLA_ACTION_BY_MOTION_ACTUATOR
|
||||||
uiItemR(row, "stride_length", 0, NULL, 0);
|
uiItemR(row, "stride_length", 0, NULL, 0);
|
||||||
|
@ -383,8 +383,6 @@ EnumPropertyItem *rna_Actuator_type_itemf(bContext *C, PointerRNA *ptr, int *fre
|
|||||||
if (ob->type==OB_ARMATURE) {
|
if (ob->type==OB_ARMATURE) {
|
||||||
RNA_enum_items_add_value(&item, &totitem, actuator_type_items, ACT_ACTION);
|
RNA_enum_items_add_value(&item, &totitem, actuator_type_items, ACT_ACTION);
|
||||||
RNA_enum_items_add_value(&item, &totitem, actuator_type_items, ACT_ARMATURE);
|
RNA_enum_items_add_value(&item, &totitem, actuator_type_items, ACT_ARMATURE);
|
||||||
} else {
|
|
||||||
RNA_enum_items_add_value(&item, &totitem, actuator_type_items, ACT_SHAPEACTION);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -400,6 +398,13 @@ EnumPropertyItem *rna_Actuator_type_itemf(bContext *C, PointerRNA *ptr, int *fre
|
|||||||
RNA_enum_items_add_value(&item, &totitem, actuator_type_items, ACT_PROPERTY);
|
RNA_enum_items_add_value(&item, &totitem, actuator_type_items, ACT_PROPERTY);
|
||||||
RNA_enum_items_add_value(&item, &totitem, actuator_type_items, ACT_RANDOM);
|
RNA_enum_items_add_value(&item, &totitem, actuator_type_items, ACT_RANDOM);
|
||||||
RNA_enum_items_add_value(&item, &totitem, actuator_type_items, ACT_SCENE);
|
RNA_enum_items_add_value(&item, &totitem, actuator_type_items, ACT_SCENE);
|
||||||
|
|
||||||
|
if (ob != NULL) {
|
||||||
|
if (ob->type==OB_MESH){
|
||||||
|
RNA_enum_items_add_value(&item, &totitem, actuator_type_items, ACT_SHAPEACTION);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
RNA_enum_items_add_value(&item, &totitem, actuator_type_items, ACT_SOUND);
|
RNA_enum_items_add_value(&item, &totitem, actuator_type_items, ACT_SOUND);
|
||||||
RNA_enum_items_add_value(&item, &totitem, actuator_type_items, ACT_STATE);
|
RNA_enum_items_add_value(&item, &totitem, actuator_type_items, ACT_STATE);
|
||||||
RNA_enum_items_add_value(&item, &totitem, actuator_type_items, ACT_VISIBILITY);
|
RNA_enum_items_add_value(&item, &totitem, actuator_type_items, ACT_VISIBILITY);
|
||||||
@ -936,8 +941,7 @@ static void rna_def_property_actuator(BlenderRNA *brna)
|
|||||||
RNA_def_property_ui_text(prop, "Mode", "");
|
RNA_def_property_ui_text(prop, "Mode", "");
|
||||||
RNA_def_property_update(prop, NC_LOGIC, NULL);
|
RNA_def_property_update(prop, NC_LOGIC, NULL);
|
||||||
|
|
||||||
//XXX add magic property lookup
|
prop= RNA_def_property(srna, "property", PROP_STRING, PROP_NONE);
|
||||||
prop= RNA_def_property(srna, "prop_name", PROP_STRING, PROP_NONE);
|
|
||||||
RNA_def_property_string_sdna(prop, NULL, "name");
|
RNA_def_property_string_sdna(prop, NULL, "name");
|
||||||
RNA_def_property_ui_text(prop, "Property", "The name of the property");
|
RNA_def_property_ui_text(prop, "Property", "The name of the property");
|
||||||
RNA_def_property_update(prop, NC_LOGIC, NULL);
|
RNA_def_property_update(prop, NC_LOGIC, NULL);
|
||||||
@ -955,7 +959,7 @@ static void rna_def_property_actuator(BlenderRNA *brna)
|
|||||||
RNA_def_property_update(prop, NC_LOGIC, NULL);
|
RNA_def_property_update(prop, NC_LOGIC, NULL);
|
||||||
|
|
||||||
//XXX add even magic'er property lookup (need to look for the property list of the target object)
|
//XXX add even magic'er property lookup (need to look for the property list of the target object)
|
||||||
prop= RNA_def_property(srna, "object_prop_name", PROP_STRING, PROP_NONE);
|
prop= RNA_def_property(srna, "object_property", PROP_STRING, PROP_NONE);
|
||||||
RNA_def_property_string_sdna(prop, NULL, "value");
|
RNA_def_property_string_sdna(prop, NULL, "value");
|
||||||
RNA_def_property_ui_text(prop, "Property Name", "Copy this property");
|
RNA_def_property_ui_text(prop, "Property Name", "Copy this property");
|
||||||
RNA_def_property_update(prop, NC_LOGIC, NULL);
|
RNA_def_property_update(prop, NC_LOGIC, NULL);
|
||||||
@ -1340,7 +1344,6 @@ static void rna_def_random_actuator(BlenderRNA *brna)
|
|||||||
RNA_def_property_ui_text(prop, "Seed", "Initial seed of the random generator. Use Python for more freedom (choose 0 for not random)");
|
RNA_def_property_ui_text(prop, "Seed", "Initial seed of the random generator. Use Python for more freedom (choose 0 for not random)");
|
||||||
RNA_def_property_update(prop, NC_LOGIC, NULL);
|
RNA_def_property_update(prop, NC_LOGIC, NULL);
|
||||||
|
|
||||||
//XXX add magic property lookup
|
|
||||||
prop= RNA_def_property(srna, "property", PROP_STRING, PROP_NONE);
|
prop= RNA_def_property(srna, "property", PROP_STRING, PROP_NONE);
|
||||||
RNA_def_property_string_sdna(prop, NULL, "propname");
|
RNA_def_property_string_sdna(prop, NULL, "propname");
|
||||||
RNA_def_property_ui_text(prop, "Property", "Assign the random value to this property");
|
RNA_def_property_ui_text(prop, "Property", "Assign the random value to this property");
|
||||||
@ -1464,7 +1467,7 @@ static void rna_def_message_actuator(BlenderRNA *brna)
|
|||||||
prop= RNA_def_property(srna, "body_type", PROP_ENUM, PROP_NONE);
|
prop= RNA_def_property(srna, "body_type", PROP_ENUM, PROP_NONE);
|
||||||
RNA_def_property_enum_sdna(prop, NULL, "bodyType");
|
RNA_def_property_enum_sdna(prop, NULL, "bodyType");
|
||||||
RNA_def_property_enum_items(prop, prop_body_type_items);
|
RNA_def_property_enum_items(prop, prop_body_type_items);
|
||||||
RNA_def_property_ui_text(prop, "Body Type", "Toggle message type: either Text or a PropertyName");
|
RNA_def_property_ui_text(prop, "Body", "Toggle message type: either Text or a PropertyName");
|
||||||
|
|
||||||
/* ACT_MESG_MESG */
|
/* ACT_MESG_MESG */
|
||||||
prop= RNA_def_property(srna, "body_message", PROP_STRING, PROP_NONE);
|
prop= RNA_def_property(srna, "body_message", PROP_STRING, PROP_NONE);
|
||||||
|
@ -30,6 +30,8 @@
|
|||||||
|
|
||||||
#include "DNA_property_types.h"
|
#include "DNA_property_types.h"
|
||||||
|
|
||||||
|
#include "WM_types.h"
|
||||||
|
|
||||||
#ifdef RNA_RUNTIME
|
#ifdef RNA_RUNTIME
|
||||||
|
|
||||||
#include "BKE_property.h"
|
#include "BKE_property.h"
|
||||||
@ -111,24 +113,29 @@ void RNA_def_gameproperty(BlenderRNA *brna)
|
|||||||
RNA_def_property_ui_text(prop, "Name", "Available as GameObject attributes in the game engine's python API");
|
RNA_def_property_ui_text(prop, "Name", "Available as GameObject attributes in the game engine's python API");
|
||||||
RNA_def_struct_name_property(srna, prop);
|
RNA_def_struct_name_property(srna, prop);
|
||||||
RNA_def_property_string_funcs(prop, NULL, NULL, "rna_GameProperty_name_set");
|
RNA_def_property_string_funcs(prop, NULL, NULL, "rna_GameProperty_name_set");
|
||||||
|
RNA_def_property_update(prop, NC_LOGIC, NULL);
|
||||||
|
|
||||||
prop= RNA_def_property(srna, "type", PROP_ENUM, PROP_NONE);
|
prop= RNA_def_property(srna, "type", PROP_ENUM, PROP_NONE);
|
||||||
RNA_def_property_enum_items(prop, gameproperty_type_items);
|
RNA_def_property_enum_items(prop, gameproperty_type_items);
|
||||||
RNA_def_property_ui_text(prop, "Type", "");
|
RNA_def_property_ui_text(prop, "Type", "");
|
||||||
RNA_def_property_enum_funcs(prop, NULL, "rna_GameProperty_type_set", NULL);
|
RNA_def_property_enum_funcs(prop, NULL, "rna_GameProperty_type_set", NULL);
|
||||||
|
RNA_def_property_update(prop, NC_LOGIC, NULL);
|
||||||
|
|
||||||
prop= RNA_def_property(srna, "debug", PROP_BOOLEAN, PROP_NONE);
|
prop= RNA_def_property(srna, "debug", PROP_BOOLEAN, PROP_NONE);
|
||||||
RNA_def_property_boolean_sdna(prop, NULL, "flag", PROP_DEBUG);
|
RNA_def_property_boolean_sdna(prop, NULL, "flag", PROP_DEBUG);
|
||||||
RNA_def_property_ui_text(prop, "Debug", "Print debug information for this property");
|
RNA_def_property_ui_text(prop, "Debug", "Print debug information for this property");
|
||||||
|
RNA_def_property_update(prop, NC_LOGIC, NULL);
|
||||||
|
|
||||||
/* GameBooleanProperty */
|
/* GameBooleanProperty */
|
||||||
srna= RNA_def_struct(brna, "GameBooleanProperty", "GameProperty");
|
srna= RNA_def_struct(brna, "GameBooleanProperty", "GameProperty");
|
||||||
RNA_def_struct_ui_text(srna , "Game Boolean Property", "Game engine user defined Boolean property");
|
RNA_def_struct_ui_text(srna , "Game Boolean Property", "Game engine user defined Boolean property");
|
||||||
RNA_def_struct_sdna(srna, "bProperty");
|
RNA_def_struct_sdna(srna, "bProperty");
|
||||||
|
RNA_def_property_update(prop, NC_LOGIC, NULL);
|
||||||
|
|
||||||
prop= RNA_def_property(srna, "value", PROP_BOOLEAN, PROP_NONE);
|
prop= RNA_def_property(srna, "value", PROP_BOOLEAN, PROP_NONE);
|
||||||
RNA_def_property_boolean_sdna(prop, NULL, "data", 1);
|
RNA_def_property_boolean_sdna(prop, NULL, "data", 1);
|
||||||
RNA_def_property_ui_text(prop, "Value", "Property value");
|
RNA_def_property_ui_text(prop, "Value", "Property value");
|
||||||
|
RNA_def_property_update(prop, NC_LOGIC, NULL);
|
||||||
|
|
||||||
/* GameIntProperty */
|
/* GameIntProperty */
|
||||||
srna= RNA_def_struct(brna, "GameIntProperty", "GameProperty");
|
srna= RNA_def_struct(brna, "GameIntProperty", "GameProperty");
|
||||||
@ -139,6 +146,7 @@ void RNA_def_gameproperty(BlenderRNA *brna)
|
|||||||
RNA_def_property_int_sdna(prop, NULL, "data");
|
RNA_def_property_int_sdna(prop, NULL, "data");
|
||||||
RNA_def_property_ui_text(prop, "Value", "Property value");
|
RNA_def_property_ui_text(prop, "Value", "Property value");
|
||||||
RNA_def_property_range(prop, -10000, 10000);
|
RNA_def_property_range(prop, -10000, 10000);
|
||||||
|
RNA_def_property_update(prop, NC_LOGIC, NULL);
|
||||||
|
|
||||||
/* GameFloatProperty */
|
/* GameFloatProperty */
|
||||||
srna= RNA_def_struct(brna, "GameFloatProperty", "GameProperty");
|
srna= RNA_def_struct(brna, "GameFloatProperty", "GameProperty");
|
||||||
@ -150,6 +158,7 @@ void RNA_def_gameproperty(BlenderRNA *brna)
|
|||||||
RNA_def_property_ui_text(prop, "Value", "Property value");
|
RNA_def_property_ui_text(prop, "Value", "Property value");
|
||||||
RNA_def_property_range(prop, -10000, 10000);
|
RNA_def_property_range(prop, -10000, 10000);
|
||||||
RNA_def_property_float_funcs(prop, "rna_GameFloatProperty_value_get", "rna_GameFloatProperty_value_set", NULL);
|
RNA_def_property_float_funcs(prop, "rna_GameFloatProperty_value_get", "rna_GameFloatProperty_value_set", NULL);
|
||||||
|
RNA_def_property_update(prop, NC_LOGIC, NULL);
|
||||||
|
|
||||||
/* GameTimerProperty */
|
/* GameTimerProperty */
|
||||||
srna= RNA_def_struct(brna, "GameTimerProperty", "GameProperty");
|
srna= RNA_def_struct(brna, "GameTimerProperty", "GameProperty");
|
||||||
@ -161,6 +170,7 @@ void RNA_def_gameproperty(BlenderRNA *brna)
|
|||||||
RNA_def_property_ui_text(prop, "Value", "Property value");
|
RNA_def_property_ui_text(prop, "Value", "Property value");
|
||||||
RNA_def_property_range(prop, -10000, 10000);
|
RNA_def_property_range(prop, -10000, 10000);
|
||||||
RNA_def_property_float_funcs(prop, "rna_GameFloatProperty_value_get", "rna_GameFloatProperty_value_set", NULL);
|
RNA_def_property_float_funcs(prop, "rna_GameFloatProperty_value_get", "rna_GameFloatProperty_value_set", NULL);
|
||||||
|
RNA_def_property_update(prop, NC_LOGIC, NULL);
|
||||||
|
|
||||||
/* GameStringProperty */
|
/* GameStringProperty */
|
||||||
srna= RNA_def_struct(brna, "GameStringProperty", "GameProperty");
|
srna= RNA_def_struct(brna, "GameStringProperty", "GameProperty");
|
||||||
@ -171,6 +181,7 @@ void RNA_def_gameproperty(BlenderRNA *brna)
|
|||||||
RNA_def_property_string_sdna(prop, NULL, "poin");
|
RNA_def_property_string_sdna(prop, NULL, "poin");
|
||||||
RNA_def_property_string_maxlength(prop, MAX_PROPSTRING);
|
RNA_def_property_string_maxlength(prop, MAX_PROPSTRING);
|
||||||
RNA_def_property_ui_text(prop, "Value", "Property value");
|
RNA_def_property_ui_text(prop, "Value", "Property value");
|
||||||
|
RNA_def_property_update(prop, NC_LOGIC, NULL);
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
@ -314,7 +314,7 @@ static void rna_def_touch_sensor(BlenderRNA *brna)
|
|||||||
RNA_def_property_struct_type(prop, "Material");
|
RNA_def_property_struct_type(prop, "Material");
|
||||||
RNA_def_property_pointer_sdna(prop, NULL, "ma");
|
RNA_def_property_pointer_sdna(prop, NULL, "ma");
|
||||||
RNA_def_property_flag(prop, PROP_EDITABLE);
|
RNA_def_property_flag(prop, PROP_EDITABLE);
|
||||||
RNA_def_property_ui_text(prop, "Material", "Only look for floors with this material");
|
RNA_def_property_ui_text(prop, "Material", "Only look for objects with this material");
|
||||||
RNA_def_property_update(prop, NC_LOGIC, NULL);
|
RNA_def_property_update(prop, NC_LOGIC, NULL);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user