Waterfall_13
Вот такие ClassTypeID правилные:<BackgroundSimpleScallingTexture>
<ClassTypeID>285694784</ClassTypeID>
<BackgroundSimpleTexture>
<ClassTypeID>285694785</ClassTypeID>
<BackgroundTiledTexture>
<ClassTypeID>285694786</ClassTypeID>
Про mipmap нужно просто зависти правило - всегда отключать их генерацию(если это текстура интерфейса).
Вот ещё мои наблюдения при работе над интерфейсом игры:
Для обычных текстур в файлах ...(Texture).xdb более стабильно себя показала конструкция<Type>REGULAR</Type>
<ConversionType>CONVERT_ORDINARY</ConversionType>
Для текстур выделения и Highlight я использую<Type>REGULAR</Type>
<ConversionType>CONVERT_TRANSPARENT_ADD</ConversionType>
и
<Type>REGULAR</Type>
<ConversionType>CONVERT_TRANSPARENT</ConversionType>
Формат TF_8888(без потерь) самый неприхотливый к нестандартным размерам высоты и ширины, с другими форматами(TF_DXT1 - TF_DXT5, TF_565) иногда надо "поиграться с размером полотна".
в файлах ...(Texture).xdb успешно используются форматы:TF_565
TF_4444
TF_8888
TF_DXT5
TF_DXT4
TF_DXT3
TF_DXT1
Надо не забывать про точное позиционирование элементовEPA_HIGH_END - выравнивание по правому\нижнему краю
EPA_LOW_END - выравнивание по левому\верхнему краю
EPA_MARGIN - растягивание на весь экран
ERA_CENTER - расположить по центру
можно использовать в связке со значениями (x\y) в секции Position , не будет учитываться пока значение в секции Second = false.
Ещё заметил что с кнопками работаешь не "правильно" их можно объединять в группы и отслеживать визуальное состояние
Типо такого:
можно объединить в группу в которой они будут включаться по нажатию и отключаться при включении другой кнопки из группыДля этого в файлах:
SpellsInfoTableButton.(WindowMSButton).xdb
BloodInfoTableButton.(WindowMSButton).xdb
CreatureInfoTableButton.(WindowMSButton).xdb
ElementInfoTableButton.(WindowMSButton).xdb
HeroesInfoTableButton.(WindowMSButton).xdb
NecroInfoTableButton.(WindowMSButton).xdb
Установить:
<ButtonStates>
<Item>
<MessageOnEnterState/>
<CommandsOnEnterState>
<Commands/>
<Reversable>false</Reversable>
</CommandsOnEnterState>
<CommandsOnRightClick>
<Commands/>
<Reversable>false</Reversable>
</CommandsOnRightClick>
<commandsOnLDblKlick>
<Commands/>
<Reversable>false</Reversable>
</commandsOnLDblKlick>
<WaitVisual>false</WaitVisual>
<ReverseCommands>false</ReverseCommands>
<Name/>
</Item>
<Item>
<MessageOnEnterState/>
<CommandsOnEnterState>
<Commands/>
<Reversable>false</Reversable>
</CommandsOnEnterState>
<CommandsOnRightClick>
<Commands/>
<Reversable>false</Reversable>
</CommandsOnRightClick>
<commandsOnLDblKlick>
<Commands/>
<Reversable>false</Reversable>
</commandsOnLDblKlick>
<WaitVisual>false</WaitVisual>
<ReverseCommands>false</ReverseCommands>
<Name/>
</Item>
</ButtonStates>
<ButtonGroupID>1</ButtonGroupID>
<AutoChangeState>true</AutoChangeState>
<PushEffect>
<Commands/>
<Reversable>false</Reversable>
</PushEffect>
<State>0</State>
<TextFileRef href=""/>
<TextFormat/>
</WindowMSButton>
А в их Shared-ах добавить обработчик на изменение визуального состояния в "режиме нажатии кнопки": <Item>
...
...
<DefaultSubState>BST_NORMAL</DefaultSubState>
<VisualOnEnterState>
<Commands>
<Item href="Open.(UISSendUIMessage).xdb#xpointer(/UISSendUIMessage)"/>
</Commands>
<Reversable>false</Reversable>
</VisualOnEnterState>
</Item>
<Item>
...
...
<DefaultSubState>BST_NORMAL</DefaultSubState>
<VisualOnEnterState>
<Commands>
<Item href="Close.(UISSendUIMessage).xdb#xpointer(/UISSendUIMessage)"/>
</Commands>
<Reversable>false</Reversable>
</VisualOnEnterState>
</Item>
</VisualStates>
<TriggerMode>BCST_ON_PUSH</TriggerMode>
</WindowMSButtonShared>
__________________
✍
Грешить, злодействовать, а равно и делать добро или совершать подвиги надо без натуги. А если с натугой — то лучше не надо.
К. Прутков-инженер. Мысль № 77.
Многие вещи нам непонятны не потому, что наши понятия слабы; но потому, что сии вещи не входят в круг наших понятий.
© Козьма Прутков
Грешить, злодействовать, а равно и делать добро или совершать подвиги надо без натуги. А если с натугой — то лучше не надо.
К. Прутков-инженер. Мысль № 77.
Многие вещи нам непонятны не потому, что наши понятия слабы; но потому, что сии вещи не входят в круг наших понятий.
© Козьма Прутков