Формат .sharq
Файл .sharq — Vue-подобный SFC для Unity UI Toolkit: три секции в одном файле:
| Секция | Роль |
|---|---|
<template> | Разметка + директивы (v-if, :text, @click, …) |
<script> | C#-логика, Prop<T>, методы |
<style> | USS-стили (опционально <style scoped>) |
xml
<template>
<ui:VisualElement $MainElement class="hello">
<ui:Label :text="Title.Value" class="hello__label" />
</ui:VisualElement>
</template>
<script>
public Prop<string> Title = new("Hello");
</script>
<style>
/* Prefer USS classes here — not element.style.* in C# */
.hello__label {
font-size: 16px;
color: white;
padding: 8px;
}
</style>Почему важен <style>
- Стили идут вместе с компонентом (та же ментальная модель, что у Vue SFC).
- Компилятор эмитит
.g.uss/ scoped USS из этой секции. - Используйте классы + модификаторы; переключайте через
:class/AddToClassList. - Root self-target правила (
.hello { … }) требуют осторожности — см. CSS scoping.
Полный гайд: Формат .sharq · CSS scoping