This commit is contained in:
2025-01-24 19:43:59 +01:00
parent 6ff50b29cb
commit 0b2e17cfd4
6 changed files with 695 additions and 1559 deletions
@@ -744,8 +744,17 @@
<ANIM_LAG>100</ANIM_LAG>
<RESET_DELAY>0.15</RESET_DELAY>
<DRAG_THRESHOLD>0.35</DRAG_THRESHOLD>
<SWITCH_DIRECTION>Vertical</SWITCH_DIRECTION>
</Parameters>
<Parameters Type="Override">
<Switch Param="SWITCH_DIRECTION">
<Case Value="Vertical">
<AXIS>Y</AXIS>
</Case>
<Case Value="Horizontal">
<AXIS>X</AXIS>
</Case>
</Switch>
<Condition Check="ANIM_NAME">
<False>
<ANIM_NAME>#NODE_NAME#</ANIM_NAME>
@@ -800,10 +809,10 @@
<IMCodeInstances>
<IMDefault>
(M:Event) 'LeftSingle' scmi 0 == if{
(M:RelativeY) 0 &gt; if{
(M:Relative#AXIS#) 0 &gt; if{
#INC_CODE#
}
(M:RelativeY) 0 &lt; if{
(M:Relative#AXIS#) 0 &lt; if{
#DEC_CODE#
}
(E:SIMULATION TIME, seconds) (&gt;O:UpdateTime)
@@ -863,7 +872,7 @@
<DragNodeId>#NODE_NAME#</DragNodeId>
<DragAnimSynced>True</DragAnimSynced>
<DragUseAnimLag>True</DragUseAnimLag>
<DragAxis>Y</DragAxis>
<DragAxis>#AXIS#</DragAxis>
<DragFlagsLockable>LeftDrag+RightDrag+MiddleDrag</DragFlagsLockable>
</CallbackCode>
</MouseRect>
@@ -1387,5 +1396,269 @@
</UseTemplate>
</Component>
</Template>
<Template Name="MD11_Rudder_Trim_Knob">
<Parameters Type="Default">
<ANIM_LENGTH>50</ANIM_LENGTH>
<ANIM_LAG>500</ANIM_LAG>
<RESET_DELAY>0.15</RESET_DELAY>
<DRAG_THRESHOLD>0.35</DRAG_THRESHOLD>
</Parameters>
<Parameters Type="Override">
<Condition Check="ANIM_NAME">
<False>
<ANIM_NAME>#NODE_NAME#</ANIM_NAME>
</False>
</Condition>
<Condition Check="VAR_NAME">
<False>
<VAR_NAME>#NODE_NAME#</VAR_NAME>
</False>
</Condition>
</Parameters>
<Component ID="#NODE_NAME#" Node="#NODE_NAME#">
<Condition Check="ANIM_CODE">
<True>
<Animation Name="#ANIM_NAME#" Length="#ANIM_LENGTH#" Type="Sim"
TypeParam="AutoPlay">
<Parameter>
<Code>#ANIM_CODE#</Code>
<Lag>#ANIM_LAG#</Lag>
</Parameter>
</Animation>
</True>
<False>
<Animation Name="#ANIM_NAME#" Length="#ANIM_LENGTH#" Type="Sim"
TypeParam="AutoPlay">
<Parameter>
<Code>(L:#NODE_NAME#) 5 *</Code>
<Lag>#ANIM_LAG#</Lag>
</Parameter>
</Animation>
</False>
</Condition>
<MouseRect>
<IMCursorsInstances>
<IMDefault>
<CursorLeft>TurnLeft</CursorLeft>
<CursorRight>TurnRight</CursorRight>
<Cursor>Dynamic</Cursor>
</IMDefault>
<IMDrag>
<Cursor>Grab</Cursor>
</IMDrag>
</IMCursorsInstances>
<IMMouseFlagsInstances>
<IMDefault>LeftSingle+LeftRelease+WheelUp+WheelDown</IMDefault>
<IMDrag>Lock+Unlock+LeftDrag+Wheel</IMDrag>
</IMMouseFlagsInstances>
<Lock>True</Lock>
<LockFlagsTemporary>LeftSingle</LockFlagsTemporary>
<HighlightNodeId>#NODE_NAME#</HighlightNodeId>
<CallbackCode>
<IMCodeInstances>
<IMDefault>
(M:Event) 'LeftSingle' scmi 0 == if{
(M:RelativeX) 0 &gt; if{
#INC_CODE#
}
(M:RelativeX) 0 &lt; if{
#DEC_CODE#
}
(E:SIMULATION TIME, seconds) (&gt;O:UpdateTime)
}
(M:Event) 'LeftRelease' scmi 0 == if{
1 (&gt;O:HasReleased)
}
(M:Event) 'WheelUp' scmi 0 == if{
#INC_CODE#
1 (&gt;O:HasReleased)
(E:SIMULATION TIME,seconds) (&gt;O:UpdateTime)
}
(M:Event) 'WheelDown' scmi 0 == if{
#DEC_CODE#
1 (&gt;O:HasReleased)
(E:SIMULATION TIME, seconds) (&gt;O:UpdateTime)
}
</IMDefault>
<IMDrag>
(M:Event) 'WheelUp' scmi 0 == if{
#INC_CODE#
1(&gt;O:HasReleased)
(E:SIMULATION TIME, seconds) (&gt;O:UpdateTime)
}
(M:Event) 'WheelDown' scmi 0 == if{
#DEC_CODE#
1 (&gt;O:HasReleased)
(E:SIMULATION TIME, seconds) (&gt;O:UpdateTime)
}
(M:Event) 'Lock' scmi 0 == if{
(L:#VAR_NAME#) 2 / (&gt;O:InitialPosition)
}
(M:Event) 'Unlock' scmi 0 == if{
1 (&gt;O:HasReleased)
0 (&gt;O:IsThresholdExceeded)
}
(M:Event) 'LeftDrag' scmi 0 == if{
(O:IsThresholdExceeded) ! if{
(M:DragPercent)
(O:InitialPosition) - (&gt;O:DragChange)
(O:DragChange) #DRAG_THRESHOLD# &gt;= if{
#INC_CODE#
1 (&gt;O:IsThresholdExceeded)
(E:SIMULATION TIME, seconds) (&gt;O:UpdateTime)
}
(O:DragChange) -#DRAG_THRESHOLD# &lt;= if{
#DEC_CODE#
1 (&gt;O:IsThresholdExceeded) (E:SIMULATION TIME, seconds)
(&gt;O:UpdateTime)
}
}
}
</IMDrag>
</IMCodeInstances>
<DragMode>Trajectory</DragMode>
<DragAnimName>#ANIM_NAME#</DragAnimName>
<DragNodeId>#NODE_NAME#</DragNodeId>
<DragAnimSynced>True</DragAnimSynced>
<DragUseAnimLag>True</DragUseAnimLag>
<DragAxis>X</DragAxis>
<DragFlagsLockable>LeftDrag+RightDrag+MiddleDrag</DragFlagsLockable>
</CallbackCode>
</MouseRect>
<Update InteractionModel="All" Frequency="5">
(O:HasReleased) if{
(E:SIMULATION TIME, seconds) (O:UpdateTime) - #RESET_DELAY# &gt; if{
#REL_CODE#
0 (&gt;O:HasReleased)
}
}
</Update>
</Component>
</Template>
<Template Name="MD11_Aileron_Trim_Knob">
<Parameters Type="Default">
<ANIM_LENGTH>50</ANIM_LENGTH>
<ANIM_LAG>500</ANIM_LAG>
<RESET_DELAY>0.15</RESET_DELAY>
<DRAG_THRESHOLD>0.35</DRAG_THRESHOLD>
</Parameters>
<Parameters Type="Override">
<Condition Check="ANIM_NAME">
<False>
<ANIM_NAME>#NODE_NAME#</ANIM_NAME>
</False>
</Condition>
<Condition Check="VAR_NAME">
<False>
<VAR_NAME>#NODE_NAME#</VAR_NAME>
</False>
</Condition>
</Parameters>
<Component ID="#NODE_NAME#" Node="#NODE_NAME#">
<Condition Check="ANIM_CODE">
<True>
<Animation Name="#ANIM_NAME#" Length="#ANIM_LENGTH#" Type="Sim"
TypeParam="AutoPlay">
<Parameter>
<Code>#ANIM_CODE#</Code>
<Lag>#ANIM_LAG#</Lag>
</Parameter>
</Animation>
</True>
<False>
<Animation Name="#ANIM_NAME#" Length="#ANIM_LENGTH#" Type="Sim"
TypeParam="AutoPlay">
<Parameter>
<Code>(L:#NODE_NAME#) 5 *</Code>
<Lag>#ANIM_LAG#</Lag>
</Parameter>
</Animation>
</False>
</Condition>
<MouseRect>
<IMCursorsInstances>
<IMDefault>
<CursorLeft>LeftArrow</CursorLeft>
<CursorRight>RightArrow</CursorRight>
<Cursor>Dynamic</Cursor>
</IMDefault>
<IMDrag>
<Cursor>Grab</Cursor>
</IMDrag>
</IMCursorsInstances>
<IMMouseFlagsInstances>
<IMDefault>LeftSingle+LeftRelease+WheelUp+WheelDown</IMDefault>
<IMDrag>Lock+Unlock+LeftDrag+Wheel</IMDrag>
</IMMouseFlagsInstances>
<Lock>True</Lock>
<LockFlagsTemporary>LeftSingle</LockFlagsTemporary>
<HighlightNodeId>#NODE_NAME#</HighlightNodeId>
<CallbackCode>
<IMCodeInstances>
<IMDefault>
(M:Event) 'LeftSingle' scmi 0 == if{
(M:RelativeX) 0 &gt; if{
#INC_CODE#
}
(M:RelativeX) 0 &lt; if{
#DEC_CODE#
}
(E:SIMULATION TIME, seconds) (&gt;O:UpdateTime)
}
(M:Event) 'WheelUp' scmi 0 == if{
#INC_CODE#
(E:SIMULATION TIME,seconds) (&gt;O:UpdateTime)
}
(M:Event) 'WheelDown' scmi 0 == if{
#DEC_CODE#
(E:SIMULATION TIME, seconds) (&gt;O:UpdateTime)
}
</IMDefault>
<IMDrag>
(M:Event) 'WheelUp' scmi 0 == if{
#INC_CODE#
(E:SIMULATION TIME, seconds) (&gt;O:UpdateTime)
}
(M:Event) 'WheelDown' scmi 0 == if{
#DEC_CODE#
(E:SIMULATION TIME, seconds) (&gt;O:UpdateTime)
}
(M:Event) 'Lock' scmi 0 == if{
(L:#VAR_NAME#) 2 / (&gt;O:InitialPosition)
}
(M:Event) 'Unlock' scmi 0 == if{
0 (&gt;O:IsThresholdExceeded)
}
(M:Event) 'LeftDrag' scmi 0 == if{
(O:IsThresholdExceeded) ! if{
(M:DragPercent)
(O:InitialPosition) - (&gt;O:DragChange)
(O:DragChange) #DRAG_THRESHOLD# &gt;= if{
#INC_CODE#
1 (&gt;O:IsThresholdExceeded)
(E:SIMULATION TIME, seconds) (&gt;O:UpdateTime)
}
(O:DragChange) -#DRAG_THRESHOLD# &lt;= if{
#DEC_CODE#
1 (&gt;O:IsThresholdExceeded) (E:SIMULATION TIME, seconds)
(&gt;O:UpdateTime)
}
}
}
</IMDrag>
</IMCodeInstances>
<DragMode>Trajectory</DragMode>
<DragAnimName>#ANIM_NAME#</DragAnimName>
<DragNodeId>#NODE_NAME#</DragNodeId>
<DragAnimSynced>True</DragAnimSynced>
<DragUseAnimLag>True</DragUseAnimLag>
<DragAxis>X</DragAxis>
<DragFlagsLockable>LeftDrag+RightDrag+MiddleDrag</DragFlagsLockable>
</CallbackCode>
</MouseRect>
</Component>
</Template>
<!-- KHOFMANN END -->
</ModelBehaviors>