Some checks failed
Gitea Actions Demo / Explore-Gitea-Actions (push) Has been cancelled
- доработан flow призовой витрины и связанного UI: добавлены `PrizeStandButtonView` и `RulesPrizeListPage`, обновлены `PrizeStandController`, `PrizeStandPrize`, `PrizeStandModal`, `PrizeStandSettingsModal`, `LevelPrizeSettingsModal`, `QRCodeSettingsModal`, `BalanceDisplay`, `ButtonTextFocusColor` и связанные prefab'ы, чтобы улучшить настройку, навигацию, отображение кнопок и prize flow - расширена система настроек и сохранения значений: `OptionPicker` получил отдельный формат `ValueSelector`, обновлены `SettingsDatabase`, `SettingEntryDrawer`, `SettingUIItem`, `SettingsUIGenerator`, `ValueSelectorRow` и `MainSettingsDatabase.asset`, а сохранение option picker-значений, включая `gameplay.gameDifficulty`, исправлено и синхронизировано с остальными настройками - добавлены универсальные спавнеры сущностей: реализованы `EntitySpawner` и `EntitySpawnerManager` с поддержкой весов префабов, точек спавна, заполнения по проценту, ограничений на количество и автоспавна при инициализации - доработана логика игрового спавна и сложности: процент инициализационного спавна может зависеть от настройки `gameplay.gameDifficulty` с градациями 25/50/75/100, в одном цикле массового спавна повторно не используется та же точка, а gizmo спавнера теперь показывает только сами точки без линий - упрощена работа в редакторе Unity и добавлены editor-инструменты: в `GameManager` лицензия пропускается при запуске в `UNITY_EDITOR`, а `HierarchySelectionCounter`, `HierarchySelectionCountOverlay` и `HierarchyBulkRenamerWindow` добавляют подсчет выделения, realtime overlay в `SceneView` и массовое переименование объектов по правилам нумерации из Unity Project Settings - синхронизированы сцены, ресурсы и UI-ассеты под новый flow: обновлены `MainMenu`, `Level UI`, уровни `1-1` и `1-2`, строки настроек, кнопки, TMP/font assets, изображения UI, `prizes.json` и recovery-данные после правок интерфейса и логики - очищены и переразложены часть внешних и служебных ресурсов: удалён пакет `Lava_Flowing_Shader`, переименованы/заменены отдельные UI-prefab'ы и добавлены сопутствующие проектные артефакты, которые сейчас используются обновлённой конфигурацией проекта
61 lines
1.8 KiB
C#
61 lines
1.8 KiB
C#
#if UNITY_EDITOR && UNITY_2021_2_OR_NEWER
|
|
using UnityEditor;
|
|
using UnityEditor.Overlays;
|
|
using UnityEngine;
|
|
using UnityEngine.UIElements;
|
|
|
|
namespace RR.Common.InspectorOverrides
|
|
{
|
|
[Overlay(typeof(SceneView), id: "hierarchy-selection-count", displayName: "Hierarchy Selection Count")]
|
|
[Icon("d_UnityEditor.SceneHierarchyWindow")]
|
|
public sealed class HierarchySelectionCountOverlay : Overlay
|
|
{
|
|
private Label _countLabel;
|
|
|
|
public override void OnCreated()
|
|
{
|
|
Selection.selectionChanged += UpdateSelectionLabel;
|
|
EditorApplication.hierarchyChanged += UpdateSelectionLabel;
|
|
}
|
|
|
|
public override void OnWillBeDestroyed()
|
|
{
|
|
Selection.selectionChanged -= UpdateSelectionLabel;
|
|
EditorApplication.hierarchyChanged -= UpdateSelectionLabel;
|
|
}
|
|
|
|
public override VisualElement CreatePanelContent()
|
|
{
|
|
VisualElement root = new() { style = { minWidth = 180 } };
|
|
|
|
Label titleLabel = new("Выделение в Hierarchy")
|
|
{
|
|
style =
|
|
{
|
|
unityFontStyleAndWeight = FontStyle.Bold,
|
|
marginBottom = 4
|
|
}
|
|
};
|
|
root.Add(titleLabel);
|
|
|
|
_countLabel = new Label();
|
|
root.Add(_countLabel);
|
|
|
|
UpdateSelectionLabel();
|
|
return root;
|
|
}
|
|
|
|
private void UpdateSelectionLabel()
|
|
{
|
|
if (_countLabel == null)
|
|
return;
|
|
|
|
int selectedCount = HierarchySelectionCounter.GetSelectedHierarchyObjectCount();
|
|
_countLabel.text = selectedCount == 0
|
|
? "Сейчас ничего не выделено"
|
|
: $"Выделено объектов: {selectedCount}";
|
|
}
|
|
}
|
|
}
|
|
#endif
|