just uploaded a new version because there was still a small bug in it which i didn't care to fix as i didn't really intend to upload this mod first.
now about the code:
i put in three new objects which are not visible:
Code:
<Page DynamicData="/GameData.Self.IsHated" Name="ShowTrigger" />
<Page Name="OnHoverOpacity" Visible="True" />
<Page Name="HoverOpacity" Visible="False" />
the object called ShowTrigger has always visible==true when you're in combat and visible==false else.
OnHoverOpacity should define what visibility the window has when hover over
HoverOpacity should be visible on hover over and invisible on hover out
in the mainpage (meaning the one that actually defines the window):
Code:
OnHoverIn="Icons.Visible=OnHoverOpacity.Visible||ShowTrigger.Visible WindowFrame.Visible=OnHoverOpacity.Visible||ShowTrigger.Visible HoverOpacity.Visible=OnHoverOpacity.Visible"
icons and windowframe are two opjects in the window which should be visible or invisible, you can only have one or hundred different ones.
so, if you hover over the object those objects will either get visible when OnHoverOpacity==true or if you are in combat (ShowTrigger==true), it also sets HoverOpacity to the OnHoverOpacity.
Similar the hover out:
Code:
OnHoverOut="Icons.Visible=ShowTrigger.Visible WindowFrame.Visible=ShowTrigger.Visible HoverOpacity.Visible=False"
the objects now only depend on whether you are in combat or not and HoverOpacity is set to false as you leave the hotbar.
now we add the following to ShowTrigger:
Code:
onShow="parent.Icons.Visible=True parent.WindowFrame.Visible=True" onHide="parent.Icons.Visible=parent.HoverOpacity.Visible parent.WindowFrame.Visible=parent.HoverOpacity.Visible"
meaning, if you are in combat the objects icons and windowframe should show up, if you exit combat both of those objects should take the HoverOpacity.
well everything works now actually, the only thing missing is the point where you can change from one option to the other:
Code:
<Page Name="LeftGrouper" OnHide="parent.parent.ShowTrigger.Visible=False parent.parent.ShowTrigger.DynamicData='/GameData.Self.IsHated'" OnShow="parent.parent.ShowTrigger.Visible=True parent.parent.ShowTrigger.DynamicData=''"/>
the leftgrouper is just an element that is hidden when you turn of the titlebar (is in all windows where you find a titlebar, but also works in all the others), so if you turn it off ShowTrigger gets turned on or off by combat action, if you have it on it loses the DynamicData.
and for the third option:
Code:
<Page Name="Frame" OnHide="parent.parent.OnHoverOpacity.Visible=False" OnShow="parent.parent.OnHoverOpacity.Visible=True"/>
the frame is also a default window element that is just invisible when turned off via window settings, so if you turn it of you won't be able to see the invisble/visible objects on hover over, if you turn it on, you'll see them.
i hope this is kind of understandable, if not, feel free to ask.
/edit oh yea, if you want this inversed, meaning only show the items out of combat then you can add a new element let's call it InversedShowTrigger that looks exactly like ShowTrigger but without the dynamic data, then you substitute the OnShow event in the ShowTrigger with parent.InversedShowTrigger.Visible=false and the OnHide event with parent.InversedShowTrigger.Visible=true and you would also have to edit all references to ShowTrigger in the other objects to InversedShowTrigger.