Refactor the settings to remove the old class
This commit is contained in:
@@ -31,28 +31,14 @@ public class GameManager : MonoBehaviour
|
||||
}
|
||||
}
|
||||
|
||||
[Header("Legacy Game Settings (Deprecated)")]
|
||||
[Tooltip("This is only used for migration to the new settings system")]
|
||||
public GameSettings legacyGameSettings;
|
||||
|
||||
[Header("Settings Status")]
|
||||
[SerializeField] private bool _settingsLoaded = false;
|
||||
public bool SettingsLoaded => _settingsLoaded;
|
||||
|
||||
// Use this for fallback values when settings aren't loaded yet
|
||||
[Header("Fallback Settings")]
|
||||
[SerializeField] private GameSettings fallbackSettings;
|
||||
|
||||
void Awake()
|
||||
{
|
||||
_instance = this;
|
||||
|
||||
// If no fallback settings assigned, try to load them
|
||||
if (fallbackSettings == null)
|
||||
{
|
||||
fallbackSettings = Resources.Load<GameSettings>("DefaultSettings");
|
||||
}
|
||||
|
||||
// Create settings provider if it doesn't exist
|
||||
SettingsProvider.Instance.gameObject.name = "Settings Provider";
|
||||
|
||||
@@ -112,12 +98,6 @@ public class GameManager : MonoBehaviour
|
||||
{
|
||||
Debug.LogWarning("Some settings failed to load - check that all settings assets exist and are marked as Addressables");
|
||||
}
|
||||
|
||||
// Migrate settings if needed
|
||||
if (legacyGameSettings != null && !playerSettings && !interactionSettings && !minigameSettings)
|
||||
{
|
||||
Debug.LogWarning("Legacy settings detected but failed to load new settings. Consider running the migration tool.");
|
||||
}
|
||||
}
|
||||
|
||||
void OnApplicationQuit()
|
||||
@@ -138,8 +118,8 @@ public class GameManager : MonoBehaviour
|
||||
public float MoveSpeed => GetSettings<IPlayerFollowerSettings>()?.MoveSpeed ?? 5f;
|
||||
public float StopDistance => GetSettings<IPlayerFollowerSettings>()?.StopDistance ?? 0.1f;
|
||||
public bool UseRigidbody => GetSettings<IPlayerFollowerSettings>()?.UseRigidbody ?? true;
|
||||
public GameSettings.HoldMovementMode DefaultHoldMovementMode =>
|
||||
GetSettings<IPlayerFollowerSettings>()?.DefaultHoldMovementMode ?? GameSettings.HoldMovementMode.Pathfinding;
|
||||
public HoldMovementMode DefaultHoldMovementMode =>
|
||||
GetSettings<IPlayerFollowerSettings>()?.DefaultHoldMovementMode ?? HoldMovementMode.Pathfinding;
|
||||
|
||||
// Follower settings
|
||||
public float FollowDistance => GetSettings<IPlayerFollowerSettings>()?.FollowDistance ?? 1.5f;
|
||||
@@ -163,7 +143,7 @@ public class GameManager : MonoBehaviour
|
||||
/// <summary>
|
||||
/// Returns the combination rule for two items, if any.
|
||||
/// </summary>
|
||||
public GameSettings.CombinationRule GetCombinationRule(PickupItemData item1, PickupItemData item2)
|
||||
public CombinationRule GetCombinationRule(PickupItemData item1, PickupItemData item2)
|
||||
{
|
||||
var settings = GetSettings<IInteractionSettings>();
|
||||
if (settings == null || settings.CombinationRules == null) return null;
|
||||
@@ -182,7 +162,7 @@ public class GameManager : MonoBehaviour
|
||||
/// <summary>
|
||||
/// Returns the slot item config for a given slot item.
|
||||
/// </summary>
|
||||
public GameSettings.SlotItemConfig GetSlotItemConfig(PickupItemData slotItem)
|
||||
public SlotItemConfig GetSlotItemConfig(PickupItemData slotItem)
|
||||
{
|
||||
var settings = GetSettings<IInteractionSettings>();
|
||||
if (settings == null || settings.SlotItemConfigs == null || slotItem == null) return null;
|
||||
|
||||
Reference in New Issue
Block a user