Would it be possible for a custom observer UI to include trigger code that would save data to the XML banks?
No.
Interfaces can only change the default UI, a few images, a few texts, all fonts and add a frame hiding/showing & collapsing/expanding hotkey to new frames (which can alter existing default frames).
Okay so I"m a little fuzzy. I just finished editing ahali's interface to suit my own needs for casting/observing. Now I'm trying to do a version of it that will be viable for actual gameplay. From my understanding, that's possible right? Something about EModType, from the original document, but for whatever reason I'm having a hard time finding data on it. Anyone know where I should start?
You can't alter the UI for ladder matches, etc... You can alter the default UI for all players in an arcade map, though.
i dont quite understand is how the " relative="$parent/...." " works exactly.
It's referencing another frame in the frame tree. "$parent/" means that it goes up 1 level, so the anchor will use the min/max/mid position of the parent frame (= the frame one level above, it's the one that directly contains the frame you set the anchors for).
Also, there is "$this", in case you want to reset an anchor. For example, this is required if you want to alter the used anchors of a frame from bottom left to top right.
Also, you can specify frame names to go into, too.
For example, here I used $parent multiple times to attach the anchors of the ResourcePanel Frame directly to the GameUI frame. It's telling each anchor from which frame it should pull the data.
Width/Height val=0 resets the width/height value. Then the frame will use the anchors for width/height. So, in this code, the ResourcePanel frame would stretch to its full size which the anchors determine.
But in cant manage to make my own frames and texts appear on the screen.
You alter an existing frame and add a new frame into it.
<!-- TOGGLE for bottom screen UI --><Frametype="Frame"name="GameUI/UIContainer/FullscreenUpperContainer"file="GameUI"><Frametype="ToggleControl"name="ToggleBottomScreenUI"><Anchorside="Bottom"relative="$parent"pos="Max"offset="0"/><Anchorside="Left"relative="$parent"pos="Min"offset="0"/><Anchorside="Right"relative="$parent"pos="Max"offset="0"/><Heightval="5000"/><CollapseLayoutval="true"/><Shortcutval="Control+W"/><Visibleval="false"/><AcceptsMouseval="false"/><RenderPriorityval="0"/><Frametype="Frame"name="A"><Anchorrelative="$parent"/></Frame></Frame></Frame>
Here I'm editing the FullScreenUpperContainer frame. I'm adding an element to it and configure it.
Text is shown via labels. You link a new text entry that you add into the text module of the editor. Usually these new IDs are named "DOCSTR_". You can find that value in the table and define the text you want to show.
Then you set your label to reference that ID by writing <Text val="@WRITE_ID_OF_THE_TEXT"/>. Also, you can define a style which the label will use by default. Styles can be added in the style tab of the editor's text module.
I finally managed to create a player colored image. I figured that my code will be helpful to others.
<!-- player colored image --><Frametype="PlayerFrame"name="PlayerColoredImageExample"><Anchorside="Top"relative="$parent"pos="Min"offset="5"/><Anchorside="Right"relative="$parent"pos="Max"offset="0"/><Anchorside="Bottom"relative="$parent"pos="Max"offset="-5"/><Anchorside="Left"relative="$this"pos="Min"offset="0"/><Widthval="350"/><VersusModePlayerSideval="Left"/><Frametype="Image"name="Image"><Anchorrelative="$parent"/><IgnoreParentColorval="false"/><TextureTypeval="Normal"/><Textureval="gradient.dds"/><Alphaval="191"/><Tiledval="false"/><RenderPriorityval="101"/></Frame></Frame>
But currently, it has a problem with updating its color when the observer changes the player vision with team colors enabled as seen here.
No.
Interfaces can only change the default UI, a few images, a few texts, all fonts and add a frame hiding/showing & collapsing/expanding hotkey to new frames (which can alter existing default frames).
You can't alter the UI for ladder matches, etc... You can alter the default UI for all players in an arcade map, though.
Also, my nick is "Ahli". :D
It's referencing another frame in the frame tree. "$parent/" means that it goes up 1 level, so the anchor will use the min/max/mid position of the parent frame (= the frame one level above, it's the one that directly contains the frame you set the anchors for).
Also, there is "$this", in case you want to reset an anchor. For example, this is required if you want to alter the used anchors of a frame from bottom left to top right.
Also, you can specify frame names to go into, too.
For example, here I used $parent multiple times to attach the anchors of the ResourcePanel Frame directly to the GameUI frame. It's telling each anchor from which frame it should pull the data.
Width/Height val=0 resets the width/height value. Then the frame will use the anchors for width/height. So, in this code, the ResourcePanel frame would stretch to its full size which the anchors determine.
You alter an existing frame and add a new frame into it.
Here I'm editing the FullScreenUpperContainer frame. I'm adding an element to it and configure it.
Text is shown via labels. You link a new text entry that you add into the text module of the editor. Usually these new IDs are named "DOCSTR_
". You can find that value in the table and define the text you want to show.
Then you set your label to reference that ID by writing <Text val="@WRITE_ID_OF_THE_TEXT"/>. Also, you can define a style which the label will use by default. Styles can be added in the style tab of the editor's text module.
I hope that helps.
I finally managed to create a player colored image. I figured that my code will be helpful to others.
But currently, it has a problem with updating its color when the observer changes the player vision with team colors enabled as seen here.
"Hell, was about time!" - some dead guy
At least they made a proper documentation. :D