Files
ichni_Official/Assets/Scripts/Manager/GameManager.cs
SoulliesOfficial 6aa498f6be
2025-08-11 14:04:06 -04:00

81 lines
2.4 KiB
C#

using System;
using System.Collections;
using System.Collections.Generic;
using Ichni.RhythmGame;
using Ichni.RhythmGame.UI;
using Sirenix.OdinInspector;
using UnityEngine;
using UnityEngine.SceneManagement;
using UnityEngine.Serialization;
namespace Ichni
{
public partial class GameManager : SerializedMonoBehaviour
{
public static GameManager instance;
public AudioManager audioManager;
public CameraManager cameraManager;
[FormerlySerializedAs("inputManager")] public NoteJudgeManager noteJudgeManager;
public BackgroundSetter backgroundSetter;
public BackgroundController backgroundController;
public VariablesContainer variablesContainer;
public PostProcessingManager postProcessingManager;
public ProjectLoader projectLoader;
public PlayingRecorder playingRecorder;
public BeatmapContainer beatmapContainer;
public CommandScripts commandScripts;
public ProjectInformation projectInformation;
public SongInformation songInformation;
public NoteManager noteManager;
public BasePrefabsCollection basePrefabs;
public Dictionary<string, CustomPrefabsCollection> customPrefabs;
[Title("UI")]
public Canvas judgeHintCanvas;
public GameUICanvas gameUICanvas;
public GameLoadingCanvas gameLoadingCanvas;
public SummaryPageCanvas summaryPageCanvas;
public float songTime => audioManager.isStarting ? 0 :
audioManager.songPlayer.songTimeSegment - songInformation.offset - (SettingsManager.instance.gameSettings.beatmapOffset / 1000f);
public bool isDebugging;
private void Awake()
{
instance = this;
playingRecorder = new PlayingRecorder();
}
private void Start()
{
basePrefabs.PrepareAudios();
projectLoader.TestLoad();
}
}
public partial class GameManager
{
public static void RestartGame()
{
SceneManager.LoadScene("GameScene");
Time.timeScale = 1f; // 确保重启时时间缩放恢复正常
}
public static void ReturnToMenu()
{
SceneManager.LoadScene("MenuScene");
Time.timeScale = 1f; // 确保返回时时间缩放恢复正常
}
}
}