[Fix] Rename Scripts Folder
This commit is contained in:
@@ -0,0 +1,15 @@
|
||||
using UnityEngine;
|
||||
|
||||
namespace Minesweeper.Config
|
||||
{
|
||||
[CreateAssetMenu(fileName = "MinesweeperGameConfig", menuName = "Minesweeper/Game Config")]
|
||||
public sealed class MinesweeperGameConfig : ScriptableObject
|
||||
{
|
||||
[field: SerializeField, Min(1)] public int MinSizeX { get; private set; } = 2;
|
||||
[field: SerializeField, Min(1)] public int MaxSizeX { get; private set; } = 50;
|
||||
[field: SerializeField, Min(1)] public int MinSizeY { get; private set; } = 2;
|
||||
[field: SerializeField, Min(1)] public int MaxSizeY { get; private set; } = 50;
|
||||
|
||||
public bool IsValid => MinSizeX > 0 && MinSizeY > 0 && MaxSizeX >= MinSizeX && MaxSizeY >= MinSizeY && MaxSizeX * MaxSizeY > 1;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,2 @@
|
||||
fileFormatVersion: 2
|
||||
guid: b4e8d5c36f36bb443b640a85df3e7077
|
||||
@@ -0,0 +1,16 @@
|
||||
using System;
|
||||
using UnityEngine;
|
||||
|
||||
namespace Minesweeper.Config
|
||||
{
|
||||
[Serializable]
|
||||
public sealed class MinesweeperScreenCatalog
|
||||
{
|
||||
[field: SerializeField] public GameObject MainMenuPanelPrefab { get; private set; }
|
||||
[field: SerializeField] public GameObject BoardGridPrefab { get; private set; }
|
||||
[field: SerializeField] public GameObject PausePanelPrefab { get; private set; }
|
||||
[field: SerializeField] public GameObject ResultPanelPrefab { get; private set; }
|
||||
|
||||
public bool IsValid => MainMenuPanelPrefab != null && BoardGridPrefab != null && PausePanelPrefab != null && ResultPanelPrefab != null;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,2 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 6d0009ea7e70ee548a09cd95d482ec83
|
||||
@@ -0,0 +1,76 @@
|
||||
using UnityEngine;
|
||||
|
||||
namespace Minesweeper.Config
|
||||
{
|
||||
[CreateAssetMenu(fileName = "MinesweeperUiConfig", menuName = "Minesweeper/UI Config")]
|
||||
public sealed class MinesweeperUiConfig : ScriptableObject
|
||||
{
|
||||
public const float DefaultReferenceCellSize = 100f;
|
||||
public const float DefaultBoardPaddingRatio = 0.15f;
|
||||
public const float DefaultGridSpacingRatio = 0.02f;
|
||||
public const float DefaultMinimumCellSize = 8f;
|
||||
|
||||
[field: SerializeField] public Sprite SmileSprite { get; private set; }
|
||||
[field: SerializeField] public Sprite SurprisedSprite { get; private set; }
|
||||
[field: SerializeField] public Sprite CoolSprite { get; private set; }
|
||||
[field: SerializeField] public Sprite DeadSprite { get; private set; }
|
||||
[field: SerializeField] public GameObject CellButtonPrefab { get; private set; }
|
||||
[field: SerializeField] public Sprite MineSprite { get; private set; }
|
||||
[field: SerializeField] public Sprite FlagSprite { get; private set; }
|
||||
[field: SerializeField] public Color ClosedCellColor { get; private set; } = Color.gray;
|
||||
[field: SerializeField] public Color OpenedCellColor { get; private set; } = Color.white;
|
||||
[SerializeField] private Color defaultTextColor = Color.black;
|
||||
[SerializeField] private Color oneMineTextColor = Color.blue;
|
||||
[SerializeField] private Color twoMineTextColor = Color.green;
|
||||
[SerializeField] private Color threeMineTextColor = Color.red;
|
||||
[SerializeField] private Color fourMineTextColor = new Color(0f, 0f, 0.5f, 1f);
|
||||
[SerializeField] private Color fiveMineTextColor = new Color(0.5f, 0f, 0f, 1f);
|
||||
[SerializeField] private Color sixMineTextColor = Color.cyan;
|
||||
[SerializeField] private Color sevenMineTextColor = Color.black;
|
||||
[SerializeField] private Color eightMineTextColor = Color.gray;
|
||||
[field: SerializeField, Min(DefaultMinimumCellSize)] public float ReferenceCellSize { get; private set; } = DefaultReferenceCellSize;
|
||||
[field: SerializeField, Min(0f)] public float BoardPaddingRatio { get; private set; } = DefaultBoardPaddingRatio;
|
||||
[field: SerializeField, Min(0f)] public float GridSpacingRatio { get; private set; } = DefaultGridSpacingRatio;
|
||||
[field: SerializeField, Min(DefaultMinimumCellSize)] public float MinimumCellSize { get; private set; } = DefaultMinimumCellSize;
|
||||
|
||||
public Sprite GetSmileSprite(SmileFaceState state)
|
||||
{
|
||||
switch (state)
|
||||
{
|
||||
case SmileFaceState.Surprised:
|
||||
return SurprisedSprite != null ? SurprisedSprite : SmileSprite;
|
||||
case SmileFaceState.Cool:
|
||||
return CoolSprite != null ? CoolSprite : SmileSprite;
|
||||
case SmileFaceState.Dead:
|
||||
return DeadSprite != null ? DeadSprite : SmileSprite;
|
||||
default:
|
||||
return SmileSprite;
|
||||
}
|
||||
}
|
||||
|
||||
public Color GetNumberTextColor(int neighborMines)
|
||||
{
|
||||
switch (neighborMines)
|
||||
{
|
||||
case 1:
|
||||
return oneMineTextColor;
|
||||
case 2:
|
||||
return twoMineTextColor;
|
||||
case 3:
|
||||
return threeMineTextColor;
|
||||
case 4:
|
||||
return fourMineTextColor;
|
||||
case 5:
|
||||
return fiveMineTextColor;
|
||||
case 6:
|
||||
return sixMineTextColor;
|
||||
case 7:
|
||||
return sevenMineTextColor;
|
||||
case 8:
|
||||
return eightMineTextColor;
|
||||
default:
|
||||
return defaultTextColor;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,11 @@
|
||||
fileFormatVersion: 2
|
||||
guid: a3b0d5a2a71d45ad9f4ac4f77158c101
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -0,0 +1,10 @@
|
||||
namespace Minesweeper.Config
|
||||
{
|
||||
public enum SmileFaceState
|
||||
{
|
||||
Smile = 0,
|
||||
Surprised = 1,
|
||||
Cool = 2,
|
||||
Dead = 3
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,11 @@
|
||||
fileFormatVersion: 2
|
||||
guid: f984c51b7db249ac9b9887b2b2bc75ef
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
Reference in New Issue
Block a user