Improved look of main scene
This commit is contained in:
@@ -77,19 +77,28 @@ namespace Fruitomation.Game
|
||||
{
|
||||
[Serializable] public class Serialized
|
||||
{
|
||||
[SerializeField] private BuildingUnlock[] BuildingUnlocks;
|
||||
[SerializeField] private BasicUpgrade[] BasicUpgrades;
|
||||
|
||||
private Serialized()
|
||||
{
|
||||
// All logic done in Serialize
|
||||
// All logic done in Serialize() function
|
||||
}
|
||||
|
||||
|
||||
public UnlockedUpgrades Unserialize()
|
||||
{
|
||||
UnlockedUpgrades upgrades = new();
|
||||
foreach (BasicUpgrade upgrade in BasicUpgrades)
|
||||
|
||||
if (BuildingUnlocks is not null)
|
||||
{
|
||||
upgrades.Unlocks.Add(upgrade);
|
||||
foreach (BuildingUnlock unlock in BuildingUnlocks)
|
||||
upgrades.Buildings.Add(unlock);
|
||||
}
|
||||
|
||||
if (BasicUpgrades is not null)
|
||||
{
|
||||
foreach (BasicUpgrade upgrade in BasicUpgrades)
|
||||
upgrades.Unlocks.Add(upgrade);
|
||||
}
|
||||
|
||||
return upgrades;
|
||||
@@ -99,15 +108,16 @@ namespace Fruitomation.Game
|
||||
{
|
||||
Serialized serialized = new()
|
||||
{
|
||||
BasicUpgrades = upgrades.Unlocks.ToArray()
|
||||
BuildingUnlocks = upgrades.Buildings.ToArray(),
|
||||
BasicUpgrades = upgrades.Unlocks.ToArray(),
|
||||
};
|
||||
|
||||
return serialized;
|
||||
}
|
||||
}
|
||||
|
||||
private HashSet<BuildingUnlock> Buildings = new();
|
||||
private HashSet<BasicUpgrade> Unlocks = new();
|
||||
private readonly HashSet<BuildingUnlock> Buildings = new();
|
||||
private readonly HashSet<BasicUpgrade> Unlocks = new();
|
||||
|
||||
[MethodImpl(MethodImplOptions.AggressiveInlining)]
|
||||
public void Unlock(BuildingUnlock unlock) => Buildings.Add(unlock);
|
||||
@@ -168,12 +178,8 @@ namespace Fruitomation.Game
|
||||
public static void Unlock(BasicUpgrade upgrade) => CurrentUpgrades.Unlock(upgrade);
|
||||
|
||||
[MethodImpl(MethodImplOptions.AggressiveInlining)]
|
||||
public static bool Is(BuildingUnlock unlock)
|
||||
{
|
||||
return unlock == BuildingUnlock.None
|
||||
? throw new ArgumentOutOfRangeException(nameof(unlock))
|
||||
: CurrentUpgrades.IsUnlocked(unlock);
|
||||
}
|
||||
public static bool Is(BuildingUnlock unlock) =>
|
||||
unlock == BuildingUnlock.None || CurrentUpgrades.IsUnlocked(unlock);
|
||||
|
||||
[MethodImpl(MethodImplOptions.AggressiveInlining)]
|
||||
public static bool Is(BasicUpgrade upgrade) => CurrentUpgrades.IsUnlocked(upgrade);
|
||||
|
||||
Reference in New Issue
Block a user