Draggable shades

This commit is contained in:
Kilian Hofmann 2025-10-15 15:39:05 +02:00
parent d5a65eafd5
commit 4e778ca82c
2 changed files with 114 additions and 52 deletions

View File

@ -480,4 +480,92 @@
</UseTemplate>
</Component>
</Template>
<Template Name="MD11_Shade">
<Parameters Type="Default">
<ANIM_LENGTH>100</ANIM_LENGTH>
<ANIM_LAG>1000</ANIM_LAG>
</Parameters>
<Component ID="#NODE_X_NAME#" Node="#NODE_X_NAME#">
<Animation Name="#ANIM_X_NAME#" Length="#ANIM_LENGTH#" Type="Sim"
TypeParam="AutoPlay">
<Parameter>
<Code>#ANIM_X_CODE#</Code>
<Lag>#ANIM_LAG#</Lag>
</Parameter>
</Animation>
<MouseRect>
<IMCursorsInstances>
<IMDefault>
<Cursor>Grab</Cursor>
</IMDefault>
</IMCursorsInstances>
<IMMouseFlagsInstances>
<IMDefault>Lock+Unlock+LeftDrag+Wheel</IMDefault>
</IMMouseFlagsInstances>
<Lock>True</Lock>
<LockFlagsTemporary>LeftSingle</LockFlagsTemporary>
<HighlightNodeId>#NODE_X_NAME#</HighlightNodeId>
<CallbackCode>
<IMCodeInstances>
<IMDefault>
90 (L:#SECOND_VAR_X_NAME#) - (&gt;O:MAX)
(M:Event) 'LeftDrag' scmi 0 == if{
(L:#VAR_X_NAME#) (M:DragPercent) 100 * (L:#VAR_X_NAME#) - + (&gt;O:NEW)
(O:NEW) (O:MAX) &lt; if{
(O:NEW) (&gt;L:#VAR_X_NAME#)
}
}
</IMDefault>
</IMCodeInstances>
<DragMode>Trajectory</DragMode>
<DragAnimName>#ANIM_X_NAME#</DragAnimName>
<DragNodeId>#NODE_X_NAME#</DragNodeId>
<DragAnimSynced>True</DragAnimSynced>
<DragUseAnimLag>True</DragUseAnimLag>
<DragAxis>X</DragAxis>
<DragFlagsLockable>LeftDrag+RightDrag+MiddleDrag</DragFlagsLockable>
</CallbackCode>
</MouseRect>
</Component>
<Component ID="#NODE_Y_NAME#" Node="#NODE_Y_NAME#">
<Animation Name="#ANIM_Y_NAME#" Length="#ANIM_LENGTH#" Type="Sim"
TypeParam="AutoPlay">
<Parameter>
<Code>#ANIM_Y_CODE#</Code>
<Lag>#ANIM_LAG#</Lag>
</Parameter>
</Animation>
<MouseRect>
<IMCursorsInstances>
<IMDefault>
<Cursor>Grab</Cursor>
</IMDefault>
</IMCursorsInstances>
<IMMouseFlagsInstances>
<IMDefault>Lock+Unlock+LeftDrag+Wheel</IMDefault>
</IMMouseFlagsInstances>
<Lock>True</Lock>
<LockFlagsTemporary>LeftSingle</LockFlagsTemporary>
<HighlightNodeId>#NODE_Y_NAME#</HighlightNodeId>
<CallbackCode>
<IMCodeInstances>
<IMDefault>
(M:Event) 'LeftDrag' scmi 0 == if{
(L:#VAR_X_NAME#) (M:DragPercent) 100 * (L:#VAR_X_NAME#) - + (&gt;L:#VAR_Y_NAME#)
}
</IMDefault>
</IMCodeInstances>
<DragMode>Trajectory</DragMode>
<DragAnimName>#ANIM_Y_NAME#</DragAnimName>
<DragNodeId>#NODE_Y_NAME#</DragNodeId>
<DragAnimSynced>True</DragAnimSynced>
<DragUseAnimLag>True</DragUseAnimLag>
<DragAxis>Y</DragAxis>
<DragFlagsLockable>LeftDrag+RightDrag+MiddleDrag</DragFlagsLockable>
</CallbackCode>
</MouseRect>
</Component>
</Template>
</ModelBehaviors>

View File

@ -449,6 +449,19 @@
<ANIM_CODE>(L:MD11_LSIDE_WINDOW) 10 *</ANIM_CODE>
<CODE>94237 (&gt;L:CEVENT)</CODE>
</UseTemplate>
<UseTemplate Name="MD11_Shade">
<NODE_X_NAME>visor_mount1</NODE_X_NAME>
<NODE_Y_NAME>visor1_transparent</NODE_Y_NAME>
<VAR_X_NAME>MD11_LSIDE_SHADE_X</VAR_X_NAME>
<SECOND_VAR_X_NAME>MD11_RSIDE_SHADE_X</SECOND_VAR_X_NAME>
<VAR_Y_NAME>MD11_LSIDE_SHADE_Y</VAR_Y_NAME>
<ANIM_X_NAME>MD11_LSIDE_SHADE_X</ANIM_X_NAME>
<ANIM_X_CODE>(L:MD11_LSIDE_SHADE_X)</ANIM_X_CODE>
<ANIM_Y_NAME>MD11_LSIDE_SHADE_Y</ANIM_Y_NAME>
<ANIM_Y_CODE>(L:MD11_LSIDE_SHADE_Y)</ANIM_Y_CODE>
</UseTemplate>
<!-- NOTE: Node name extracted from blender -->
<UseTemplate Name="MD11_2Pos_Switch">
<ID>MD11_LSIDE_WINDOW_SHADE</ID>
@ -459,32 +472,6 @@
<ANIM_CODE>(L:MD11_LSIDE_WINDOW_SHADE) 10 *</ANIM_CODE>
<CODE>94238 (&gt;L:CEVENT)</CODE>
</UseTemplate>
<UseTemplate Name="MD11_Clickspot">
<NODE_NAME>MD11_LSIDE_SHADE_X_INC</NODE_NAME>
<CODE>94239 (&gt;L:CEVENT)</CODE>
</UseTemplate>
<UseTemplate Name="MD11_Clickspot">
<NODE_NAME>MD11_LSIDE_SHADE_X_DEC</NODE_NAME>
<CODE>94240 (&gt;L:CEVENT)</CODE>
</UseTemplate>
<UseTemplate Name="MD11_Clickspot">
<NODE_NAME>MD11_LSIDE_SHADE_Y_INC</NODE_NAME>
<CODE>94241 (&gt;L:CEVENT)</CODE>
</UseTemplate>
<UseTemplate Name="MD11_Clickspot">
<NODE_NAME>MD11_LSIDE_SHADE_Y_DEC</NODE_NAME>
<CODE>94242 (&gt;L:CEVENT)</CODE>
</UseTemplate>
<UseTemplate Name="MD11_Animation">
<NODE_NAME>MD11_LSIDE_SHADE_X</NODE_NAME>
<ANIM_LENGTH>100</ANIM_LENGTH>
<ANIM_LAG>1000</ANIM_LAG>
</UseTemplate>
<UseTemplate Name="MD11_Animation">
<NODE_NAME>MD11_LSIDE_SHADE_Y</NODE_NAME>
<ANIM_LENGTH>100</ANIM_LENGTH>
<ANIM_LAG>1000</ANIM_LAG>
</UseTemplate>
<!-- LEFT SIDE WINDOW STOP -->
<!-- RIGHT SIDE WINDOW START -->
@ -496,6 +483,19 @@
<ANIM_CODE>(L:MD11_RSIDE_WINDOW) 10 *</ANIM_CODE>
<CODE>95517 (&gt;L:CEVENT)</CODE>
</UseTemplate>
<UseTemplate Name="MD11_Shade">
<NODE_X_NAME>visor_mount2</NODE_X_NAME>
<NODE_Y_NAME>visor2_transparent</NODE_Y_NAME>
<VAR_X_NAME>MD11_RSIDE_SHADE_X</VAR_X_NAME>
<SECOND_VAR_X_NAME>MD11_LSIDE_SHADE_X</SECOND_VAR_X_NAME>
<VAR_Y_NAME>MD11_RSIDE_SHADE_Y</VAR_Y_NAME>
<ANIM_X_NAME>MD11_RSIDE_SHADE_X</ANIM_X_NAME>
<ANIM_X_CODE>(L:MD11_RSIDE_SHADE_X)</ANIM_X_CODE>
<ANIM_Y_NAME>MD11_RSIDE_SHADE_Y</ANIM_Y_NAME>
<ANIM_Y_CODE>(L:MD11_RSIDE_SHADE_Y)</ANIM_Y_CODE>
</UseTemplate>
<!-- NOTE: Node name extracted from blender -->
<UseTemplate Name="MD11_2Pos_Switch">
<ID>MD11_RSIDE_WINDOW_SHADE</ID>
@ -506,32 +506,6 @@
<ANIM_CODE>(L:MD11_RSIDE_WINDOW_SHADE) 10 *</ANIM_CODE>
<CODE>95518 (&gt;L:CEVENT)</CODE>
</UseTemplate>
<UseTemplate Name="MD11_Clickspot">
<NODE_NAME>MD11_RSIDE_SHADE_X_INC</NODE_NAME>
<CODE>95519 (&gt;L:CEVENT)</CODE>
</UseTemplate>
<UseTemplate Name="MD11_Clickspot">
<NODE_NAME>MD11_RSIDE_SHADE_X_DEC</NODE_NAME>
<CODE>95520 (&gt;L:CEVENT)</CODE>
</UseTemplate>
<UseTemplate Name="MD11_Clickspot">
<NODE_NAME>MD11_RSIDE_SHADE_Y_INC</NODE_NAME>
<CODE>95521 (&gt;L:CEVENT)</CODE>
</UseTemplate>
<UseTemplate Name="MD11_Clickspot">
<NODE_NAME>MD11_RSIDE_SHADE_Y_DEC</NODE_NAME>
<CODE>95522 (&gt;L:CEVENT)</CODE>
</UseTemplate>
<UseTemplate Name="MD11_Animation">
<NODE_NAME>MD11_RSIDE_SHADE_X</NODE_NAME>
<ANIM_LENGTH>100</ANIM_LENGTH>
<ANIM_LAG>1000</ANIM_LAG>
</UseTemplate>
<UseTemplate Name="MD11_Animation">
<NODE_NAME>MD11_RSIDE_SHADE_Y</NODE_NAME>
<ANIM_LENGTH>100</ANIM_LENGTH>
<ANIM_LAG>1000</ANIM_LAG>
</UseTemplate>
<!-- RIGHT SIDE WINDOW STOP -->
</Template>
</ModelBehaviors>