("index",c_uint32)]
#}
-class ent_skateshop(Structure):
+# Skateshop
+# ---------------------------------------------------------------
+class ent_skateshop_characters(Structure):
#{
- _fields_ = [("transform",mdl_transform),
- ("id_display",c_uint32),
+ _fields_ = [("id_display",c_uint32),
+ ("id_info",c_uint32)]
+#}
+class ent_skateshop_boards(Structure):
+#{
+ _fields_ = [("id_display",c_uint32),
("id_info",c_uint32),
- ("id_rack",c_uint32),
- ("id_camera",c_uint32)]
+ ("id_rack",c_uint32)]
+#}
+class ent_skateshop_anon_union(Union):
+#{
+ _fields_ = [("boards",ent_skateshop_boards),
+ ("character",ent_skateshop_characters)]
+#}
+class ent_skateshop(Structure):
+#{
+ _fields_ = [("transform",mdl_transform), ("type",c_uint32),
+ ("id_camera",c_uint32),
+ ("_anonymous_union",ent_skateshop_anon_union)]
#}
class ent_swspreview(Structure):
("id_display1",c_uint32)]
#}
+# Menu
+# -----------------------------------------------------------------
class ent_menuitem_slider(Structure):
#{
_fields_ = [("id_min",c_uint32),
("id_handle",c_uint32),
("pstr_data",c_uint32)]
#}
-
class ent_menuitem_button(Structure):
#{
_fields_ = [("pstr",c_uint32)]
#}
-
class ent_menuitem_checkmark(Structure):
#{
_fields_ = [("id_check",c_uint32),
("pstr_data",c_uint32),
("offset",c_float*3)]
#}
-
class ent_menuitem_page(Structure):
#{
_fields_ = [("pstr_name",c_uint32),
("id_entrypoint",c_uint32),
("id_viewpoint",c_uint32)]
#}
-
class ent_menuitem_anon_union(Union):
#{
_fields_ = [("slider",ent_menuitem_slider),
("checkmark",ent_menuitem_checkmark),
("page",ent_menuitem_page)]
#}
-
class ent_menuitem(Structure):
#{
_fields_ = [("type",c_uint32), ("groups",c_uint32),
elif ent_type == 'ent_skateshop':#{
skateshop = ent_skateshop()
obj_data = obj.SR_data.ent_skateshop[0]
- skateshop.id_display = sr_entity_id( obj_data.mark_display )
- skateshop.id_info = sr_entity_id( obj_data.mark_info )
- skateshop.id_rack = sr_entity_id( obj_data.mark_rack )
+ skateshop.type = int(obj_data.tipo)
+ if skateshop.type == 0:#{
+ boardshop = skateshop._anonymous_union.boards
+ boardshop.id_display = sr_entity_id( obj_data.mark_display )
+ boardshop.id_info = sr_entity_id( obj_data.mark_info )
+ boardshop.id_rack = sr_entity_id( obj_data.mark_rack )
+ #}
+ elif skateshop.type == 1:#{
+ charshop = skateshop._anonymous_union.character
+ charshop.id_display = sr_entity_id( obj_data.mark_display )
+ charshop.id_info = sr_entity_id( obj_data.mark_info )
+ #}
skateshop.id_camera = sr_entity_id( obj_data.cam )
compile_obj_transform( obj, skateshop.transform )
sr_ent_push(skateshop)
class SR_OBJECT_ENT_SKATESHOP(bpy.types.PropertyGroup):
#{
+ tipo: bpy.props.EnumProperty( name='Type',
+ items=[('0','boards',''),
+ ('1','character','')] )
mark_rack: bpy.props.PointerProperty( \
type=bpy.types.Object, name="Board Rack", \
poll=lambda self,obj: sr_filter_ent_type(obj,['ent_marker']))
#}
#}
elif ent_type == 'ent_skateshop':#{
- cc = (0.0,0.9,0.6)
- cc1 = (0.4,0.9,0.2)
- cc2 = (0.9,0.6,0.1)
-
data = obj.SR_data.ent_skateshop[0]
display = data.mark_display
info = data.mark_info
- rack = data.mark_rack
- rack_cu = Vector((3.15,2.0,0.1))*0.5
- rack_co = Vector((0.0,0.0,0.0))
- display_cu = Vector((0.3,1.2,0.1))*0.5
- display_co = Vector((0.0,0.0,0.1))*0.5
- info_cu = Vector((1.2,0.01,0.3))*0.5
- info_co = Vector((0.0,0.0,0.0))*0.5
+ if data.tipo == '0':#{
+ cc = (0.0,0.9,0.6)
+ cc1 = (0.4,0.9,0.2)
+ cc2 = (0.9,0.6,0.1)
+
+ rack = data.mark_rack
+
+ rack_cu = Vector((3.15,2.0,0.1))*0.5
+ rack_co = Vector((0.0,0.0,0.0))
+ display_cu = Vector((0.3,1.2,0.1))*0.5
+ display_co = Vector((0.0,0.0,0.1))*0.5
+ info_cu = Vector((1.2,0.01,0.3))*0.5
+ info_co = Vector((0.0,0.0,0.0))*0.5
+ #}
+ elif data.tipo == '1':#{
+ rack = None
+ cc1 = (1.0,0.0,0.0)
+ cc2 = (1.0,0.5,0.0)
+ display_cu = Vector((0.4,0.4,2.0))*0.5
+ display_co = Vector((0.0,0.0,1.0))*0.5
+ info_cu = Vector((1.2,0.01,0.3))*0.5
+ info_co = Vector((0.0,0.0,0.0))*0.5
+ #}
if rack:
cv_draw_ucube( rack.matrix_world, cc, rack_cu, rack_co )