[Fix] Rename Scripts Folder

This commit is contained in:
2026-06-07 00:30:10 +07:00
parent 79a928ae52
commit 6c9cdaf67d
140 changed files with 0 additions and 0 deletions
@@ -0,0 +1,97 @@
using System;
using Minesweeper.Core;
using UnityEngine;
using UnityEngine.UI;
namespace Minesweeper.Presentation.Views
{
public sealed class MainMenuView : MonoBehaviour, IMainMenuView
{
[SerializeField] private GameObject root;
[SerializeField] private Button startButton;
[SerializeField] private MenuSliderView sizeXSlider = new MenuSliderView();
[SerializeField] private MenuSliderView sizeYSlider = new MenuSliderView();
[SerializeField] private MenuSliderView minesSlider = new MenuSliderView();
public event Action StartClicked;
public event Action SizeChanged;
public GameSettingsValue SelectedSettings => new GameSettingsValue(sizeXSlider.Value, sizeYSlider.Value, minesSlider.Value);
private void Awake()
{
if (root == null)
{
root = gameObject;
}
}
private void OnEnable()
{
if (startButton != null)
{
startButton.onClick.AddListener(OnStartClicked);
}
sizeXSlider.ValueChanged += OnSizeSliderChanged;
sizeYSlider.ValueChanged += OnSizeSliderChanged;
sizeXSlider.AddListeners();
sizeYSlider.AddListeners();
minesSlider.AddListeners();
}
private void OnDisable()
{
if (startButton != null)
{
startButton.onClick.RemoveListener(OnStartClicked);
}
sizeXSlider.RemoveListeners();
sizeYSlider.RemoveListeners();
minesSlider.RemoveListeners();
sizeXSlider.ValueChanged -= OnSizeSliderChanged;
sizeYSlider.ValueChanged -= OnSizeSliderChanged;
}
public void Show()
{
root.SetActive(true);
}
public void Hide()
{
root.SetActive(false);
}
public void ConfigureSizeX(int min, int max, int value)
{
sizeXSlider.Configure(min, max, value, "Size X");
}
public void ConfigureSizeY(int min, int max, int value)
{
sizeYSlider.Configure(min, max, value, "Size Y");
}
public void ConfigureMines(int min, int max, int value)
{
minesSlider.Configure(min, max, value, "Mines Count");
}
private void OnStartClicked()
{
StartClicked?.Invoke();
}
public void BindRoot(GameObject root)
{
this.root = root != null ? root : gameObject;
}
private void OnSizeSliderChanged(int value)
{
SizeChanged?.Invoke();
}
}
}