CapersProject/Assets/02.Scripts/Map/MapManager.cs

60 lines
2.0 KiB
C#
Raw Normal View History

using System;
using UnityEngine;
2024-06-03 18:26:03 +00:00
namespace BlueWater.Maps
{
public class MapManager : Singleton<MapManager>
{
[field: SerializeField]
public FirstTutorialMapController FirstTutorialMapController { get; private set; }
[field: SerializeField]
public TitanSlimeMapController TitanSlimeMapController { get; private set; }
[field: SerializeField]
public BossMapController RhinocerosMapController { get; private set; }
[field: SerializeField]
public SandMoleMapController SandMoleMapController { get; private set; }
2024-06-03 18:26:03 +00:00
private MapController _currentMapController;
public void InitializeMap()
2024-06-03 18:26:03 +00:00
{
MapController newMapController = null;
switch (DataManager.Instance.CurrentSaveStage)
{
case SaveStage.None:
break;
case SaveStage.FirstTutorial:
newMapController = FirstTutorialMapController;
break;
case SaveStage.SecondTutorial:
//MapController = FindAnyObjectByType<SecondTutorialMapController>();
break;
case SaveStage.TitanSlime:
newMapController = TitanSlimeMapController;
break;
case SaveStage.Rhinoceros:
newMapController = RhinocerosMapController;
break;
case SaveStage.SandMole:
newMapController = SandMoleMapController;
break;
default:
throw new ArgumentOutOfRangeException();
}
2024-06-03 18:26:03 +00:00
if (_currentMapController != null)
{
_currentMapController.AllDestroyObjects();
}
_currentMapController = newMapController;
if (_currentMapController != null)
{
_currentMapController.InitializeMap();
}
2024-06-03 18:26:03 +00:00
}
}
}