added all sensor types without their properties and full RNAfy bNearSensor, bMouseSesnsor, bTouchSensor, bAlwaysSensor
This commit is contained in:
@@ -82,9 +82,20 @@ extern StructRNA RNA_Region;
|
||||
extern StructRNA RNA_Operator;
|
||||
extern StructRNA RNA_WindowManager;
|
||||
extern StructRNA RNA_Sensor;
|
||||
extern StructRNA RNA_TouchSensor;
|
||||
extern StructRNA RNA_NearSensor;
|
||||
extern StructRNA RNA_KeyboardSensor;
|
||||
extern StructRNA RNA_PropertySensor;
|
||||
extern StructRNA RNA_MouseSensor;
|
||||
extern StructRNA RNA_CollisionSensor;
|
||||
extern StructRNA RNA_RadarSensor;
|
||||
extern StructRNA RNA_RandomSensor;
|
||||
extern StructRNA RNA_RaySensor;
|
||||
extern StructRNA RNA_MessageSensor;
|
||||
extern StructRNA RNA_JoystickSensor;
|
||||
extern StructRNA RNA_ActuatorSensor;
|
||||
extern StructRNA RNA_DelaySensor;
|
||||
extern StructRNA RNA_Camera;
|
||||
|
||||
/* Pointer
|
||||
*
|
||||
* These functions will fill in RNA pointers, this can be done in three ways:
|
||||
|
||||
@@ -38,23 +38,46 @@ static struct StructRNA* rna_Sensor_data_type(struct PointerRNA *ptr)
|
||||
{
|
||||
bSensor *sensor= (bSensor*)ptr->data;
|
||||
|
||||
// This function should reture the type of
|
||||
// void* data;
|
||||
// in bSensor structure
|
||||
switch(sensor->type) {
|
||||
case SENS_ALWAYS:
|
||||
return NULL;
|
||||
case SENS_TOUCH:
|
||||
return &RNA_TouchSensor;
|
||||
case SENS_NEAR:
|
||||
return &RNA_NearSensor;
|
||||
case SENS_KEYBOARD:
|
||||
return &RNA_KeyboardSensor;
|
||||
case SENS_PROPERTY:
|
||||
return &RNA_PropertySensor;
|
||||
case SENS_MOUSE:
|
||||
return &RNA_MouseSensor;
|
||||
case SENS_COLLISION:
|
||||
return &RNA_CollisionSensor;
|
||||
case SENS_RADAR:
|
||||
return &RNA_RadarSensor;
|
||||
case SENS_RANDOM:
|
||||
return &RNA_RandomSensor;
|
||||
case SENS_RAY:
|
||||
return &RNA_RaySensor;
|
||||
case SENS_MESSAGE:
|
||||
return &RNA_MessageSensor;
|
||||
case SENS_JOYSTICK:
|
||||
return &RNA_JoystickSensor;
|
||||
case SENS_ACTUATOR:
|
||||
return &RNA_ActuatorSensor;
|
||||
case SENS_DELAY:
|
||||
return &RNA_DelaySensor;
|
||||
}
|
||||
|
||||
return NULL;
|
||||
}
|
||||
|
||||
#else
|
||||
void RNA_def_sensor(BlenderRNA *brna)
|
||||
|
||||
void rna_def_sensor(BlenderRNA *brna)
|
||||
{
|
||||
StructRNA *srna;
|
||||
PropertyRNA *prop;
|
||||
|
||||
static EnumPropertyItem pulse_modes[]={
|
||||
{SENS_PULSE_CONT, "CONTINUE", "Continue Pulse", ""},
|
||||
{SENS_PULSE_REPEAT, "REPEAT", "Repeat Pulse", ""},
|
||||
@@ -78,17 +101,6 @@ void RNA_def_sensor(BlenderRNA *brna)
|
||||
{SENS_DELAY, "DELAY", "Delay", ""},
|
||||
{0, NULL, NULL, NULL}};
|
||||
|
||||
static EnumPropertyItem mouse_event_items[] ={
|
||||
{BL_SENS_MOUSE_LEFT_BUTTON, "LEFTCLICK", "Left Button", ""},
|
||||
{BL_SENS_MOUSE_MIDDLE_BUTTON, "MIDDLECLICK", "Middle Button", ""},
|
||||
{BL_SENS_MOUSE_RIGHT_BUTTON, "RIGHTCLICK", "Right Button", ""},
|
||||
{BL_SENS_MOUSE_WHEEL_UP, "WHEELUP", "Wheel Up", ""},
|
||||
{BL_SENS_MOUSE_WHEEL_DOWN, "WHEELDOWN", "Wheel Down", ""},
|
||||
{BL_SENS_MOUSE_MOVEMENT, "MOVEMENT", "Movement", ""},
|
||||
{BL_SENS_MOUSE_MOUSEOVER, "MOUSEOVER", "Mouse Over", ""},
|
||||
{BL_SENS_MOUSE_MOUSEOVER_ANY, "MOUSEOVERANY", "Mouse Over Any", ""},
|
||||
{0, NULL, NULL, NULL}};
|
||||
|
||||
srna= RNA_def_struct(brna, "Sensor", NULL , "Sensor");
|
||||
RNA_def_struct_sdna(srna, "bSensor");
|
||||
|
||||
@@ -122,13 +134,178 @@ void RNA_def_sensor(BlenderRNA *brna)
|
||||
prop= RNA_def_property(srna, "data", PROP_POINTER, PROP_NONE);
|
||||
RNA_def_property_ui_text(prop, "Data", "Sensor data.");
|
||||
RNA_def_property_pointer_funcs(prop, NULL, "rna_Sensor_data_type", NULL);
|
||||
}
|
||||
|
||||
void rna_def_near_sensor(BlenderRNA *brna)
|
||||
{
|
||||
StructRNA *srna;
|
||||
PropertyRNA *prop;
|
||||
|
||||
srna= RNA_def_struct(brna, "NearSensor", NULL , "NearSensor");
|
||||
RNA_def_struct_sdna(srna, "bNearSensor");
|
||||
|
||||
prop= RNA_def_property(srna, "property", PROP_STRING, PROP_NONE);
|
||||
RNA_def_property_string_sdna(prop, NULL, "name");
|
||||
RNA_def_property_ui_text(prop, "Property", "Only llok for objects with this property.");
|
||||
|
||||
prop= RNA_def_property(srna, "distance", PROP_INT, PROP_NONE);
|
||||
RNA_def_property_int_sdna(prop, NULL, "dist");
|
||||
RNA_def_property_ui_text(prop, "Distance", "Trigger distance.");
|
||||
RNA_def_property_range(prop, 0, 10000);
|
||||
|
||||
prop= RNA_def_property(srna, "reset_distance", PROP_INT, PROP_NONE);
|
||||
RNA_def_property_int_sdna(prop, NULL, "resetdist");
|
||||
RNA_def_property_ui_text(prop, "Reset", "Reset distance.");
|
||||
RNA_def_property_range(prop, 0, 10000);
|
||||
}
|
||||
|
||||
void rna_def_mouse_sensor(BlenderRNA *brna)
|
||||
{
|
||||
StructRNA *srna;
|
||||
PropertyRNA *prop;
|
||||
|
||||
static EnumPropertyItem mouse_event_items[] ={
|
||||
{BL_SENS_MOUSE_LEFT_BUTTON, "LEFTCLICK", "Left Button", ""},
|
||||
{BL_SENS_MOUSE_MIDDLE_BUTTON, "MIDDLECLICK", "Middle Button", ""},
|
||||
{BL_SENS_MOUSE_RIGHT_BUTTON, "RIGHTCLICK", "Right Button", ""},
|
||||
{BL_SENS_MOUSE_WHEEL_UP, "WHEELUP", "Wheel Up", ""},
|
||||
{BL_SENS_MOUSE_WHEEL_DOWN, "WHEELDOWN", "Wheel Down", ""},
|
||||
{BL_SENS_MOUSE_MOVEMENT, "MOVEMENT", "Movement", ""},
|
||||
{BL_SENS_MOUSE_MOUSEOVER, "MOUSEOVER", "Mouse Over", ""},
|
||||
{BL_SENS_MOUSE_MOUSEOVER_ANY, "MOUSEOVERANY", "Mouse Over Any", ""},
|
||||
{0, NULL, NULL, NULL}};
|
||||
|
||||
srna= RNA_def_struct(brna, "MouseSensor", NULL , "MouseSensor");
|
||||
RNA_def_struct_sdna(srna, "bMouseSensor");
|
||||
|
||||
prop= RNA_def_property(srna, "type", PROP_ENUM, PROP_NONE);
|
||||
RNA_def_property_enum_items(prop, mouse_event_items);
|
||||
RNA_def_property_ui_text(prop, "MouseEvent", "Specify the type of event this mouse sensor should trigger on.");
|
||||
RNA_def_property_ui_text(prop, "Mouse Event", "Specify the type of event this mouse sensor should trigger on.");
|
||||
}
|
||||
|
||||
void rna_def_touch_sensor(BlenderRNA *brna)
|
||||
{
|
||||
StructRNA *srna;
|
||||
PropertyRNA *prop;
|
||||
|
||||
srna= RNA_def_struct(brna, "TouchSensor", NULL , "TouchSensor");
|
||||
RNA_def_struct_sdna(srna, "bTouchSensor");
|
||||
|
||||
prop= RNA_def_property(srna, "material", PROP_POINTER, PROP_NONE);
|
||||
RNA_def_property_pointer_sdna(prop, NULL, "ma");
|
||||
RNA_def_property_struct_type(prop, "Material");
|
||||
RNA_def_property_ui_text(prop, "Material", "only look for floors with this material.");
|
||||
|
||||
}
|
||||
|
||||
void rna_def_keyboard_sensor(BlenderRNA *brna)
|
||||
{
|
||||
StructRNA *srna;
|
||||
PropertyRNA *prop;
|
||||
|
||||
srna= RNA_def_struct(brna, "KeyboardSensor", NULL , "KeyboardSensor");
|
||||
RNA_def_struct_sdna(srna, "bKeyboardSensor");
|
||||
}
|
||||
|
||||
void rna_def_property_sensor(BlenderRNA *brna)
|
||||
{
|
||||
StructRNA *srna;
|
||||
PropertyRNA *prop;
|
||||
|
||||
srna= RNA_def_struct(brna, "PropertySensor", NULL , "PropertySensor");
|
||||
RNA_def_struct_sdna(srna, "bPropertySensor");
|
||||
}
|
||||
|
||||
void rna_def_actuator_sensor(BlenderRNA *brna)
|
||||
{
|
||||
StructRNA *srna;
|
||||
PropertyRNA *prop;
|
||||
|
||||
srna= RNA_def_struct(brna, "ActuatorSensor", NULL , "ActuatorSensor");
|
||||
RNA_def_struct_sdna(srna, "bActuatorSensor");
|
||||
}
|
||||
|
||||
void rna_def_delay_sensor(BlenderRNA *brna)
|
||||
{
|
||||
StructRNA *srna;
|
||||
PropertyRNA *prop;
|
||||
|
||||
srna= RNA_def_struct(brna, "DelaySensor", NULL , "DelaySensor");
|
||||
RNA_def_struct_sdna(srna, "bDelaySensor");
|
||||
}
|
||||
|
||||
void rna_def_collision_sensor(BlenderRNA *brna)
|
||||
{
|
||||
StructRNA *srna;
|
||||
PropertyRNA *prop;
|
||||
|
||||
srna= RNA_def_struct(brna, "CollisionSensor", NULL , "CollisionSensor");
|
||||
RNA_def_struct_sdna(srna, "bCollisionSensor");
|
||||
}
|
||||
|
||||
void rna_def_radar_sensor(BlenderRNA *brna)
|
||||
{
|
||||
StructRNA *srna;
|
||||
PropertyRNA *prop;
|
||||
|
||||
srna= RNA_def_struct(brna, "RadarSensor", NULL , "RadarSensor");
|
||||
RNA_def_struct_sdna(srna, "bRadarSensor");
|
||||
}
|
||||
|
||||
void rna_def_random_sensor(BlenderRNA *brna)
|
||||
{
|
||||
StructRNA *srna;
|
||||
PropertyRNA *prop;
|
||||
|
||||
srna= RNA_def_struct(brna, "RandomSensor", NULL , "RandomSensor");
|
||||
RNA_def_struct_sdna(srna, "bRandomSensor");
|
||||
}
|
||||
|
||||
void rna_def_ray_sensor(BlenderRNA *brna)
|
||||
{
|
||||
StructRNA *srna;
|
||||
PropertyRNA *prop;
|
||||
|
||||
srna= RNA_def_struct(brna, "RaySensor", NULL , "RaySensor");
|
||||
RNA_def_struct_sdna(srna, "bRaySensor");
|
||||
}
|
||||
|
||||
void rna_def_message_sensor(BlenderRNA *brna)
|
||||
{
|
||||
StructRNA *srna;
|
||||
PropertyRNA *prop;
|
||||
|
||||
srna= RNA_def_struct(brna, "MessageSensor", NULL , "MessageSensor");
|
||||
RNA_def_struct_sdna(srna, "bMessageSensor");
|
||||
}
|
||||
|
||||
void rna_def_joystick_sensor(BlenderRNA *brna)
|
||||
{
|
||||
StructRNA *srna;
|
||||
PropertyRNA *prop;
|
||||
|
||||
srna= RNA_def_struct(brna, "JoystickSensor", NULL , "JoystickSensor");
|
||||
RNA_def_struct_sdna(srna, "bJoystickSensor");
|
||||
}
|
||||
|
||||
|
||||
void RNA_def_sensor(BlenderRNA *brna)
|
||||
{
|
||||
rna_def_sensor(brna);
|
||||
|
||||
rna_def_near_sensor(brna);
|
||||
rna_def_mouse_sensor(brna);
|
||||
rna_def_touch_sensor(brna);
|
||||
rna_def_keyboard_sensor(brna);
|
||||
rna_def_property_sensor(brna);
|
||||
rna_def_actuator_sensor(brna);
|
||||
rna_def_delay_sensor(brna);
|
||||
rna_def_collision_sensor(brna);
|
||||
rna_def_radar_sensor(brna);
|
||||
rna_def_random_sensor(brna);
|
||||
rna_def_ray_sensor(brna);
|
||||
rna_def_message_sensor(brna);
|
||||
rna_def_joystick_sensor(brna);
|
||||
}
|
||||
|
||||
#endif
|
||||
|
||||
Reference in New Issue
Block a user