using System; using System.Collections; using System.Collections.Generic; using Unity.Netcode; using UnityEngine; using UnityEngine.UI; public class GameManager : MonoBehaviour { public static GameManager Instance { get; private set; } private void Awake() { if (Instance == null) Instance = this; } [Header("Managers")] [SerializeField] private SceneLoader sceneLoader; [SerializeField] private MainScreensManager mainScreensManager; [Header("References")] [SerializeField] private GameObject loadingScreen; [SerializeField] private Camera mainCamera; [Header("Data")] [SerializeField] private CharactersList charactersList; [SerializeField] private EmojiPopupData emojiPopupData; [Header("TestButtons")] [SerializeField] private Button serverBtn; [SerializeField] private Button hostBtn; [SerializeField] private Button clientBtn; public static CharactersList CharactersList => Instance.charactersList; public static EmojiPopupData EmojiPopupData => Instance.emojiPopupData; public static Player LocalPlayer => InteractionManager.LocalPlayer; public static Camera MainCamera => Instance.mainCamera; private void Start() { serverBtn.onClick.AddListener(() => { NetworkManager.Singleton.StartServer(); }); hostBtn.onClick.AddListener(() => { NetworkManager.Singleton.StartHost(); }); clientBtn.onClick.AddListener(() => { NetworkManager.Singleton.StartClient(); }); } public void LoadScene(string sceneName) { loadingScreen.SetActive(true); sceneLoader.LoadScene(sceneName, ()=> { InitializePlayers(); loadingScreen.SetActive(false); mainScreensManager.SetGameScreen(); print("test"); LocalPlayer.SetPosition(new Vector3()); }); } public void InitializePlayers() { } public void SetCharacter(Character character) { LocalPlayer.SetCharacter(character); } public void PlayAnim(string anim) { LocalPlayer.PlayAnimation(anim); } public void Lay() { LocalPlayer.Lay(); } public void Sit() { LocalPlayer.Sit(); } public void Emoji(int emoji) { LocalPlayer.SpawnEmoji(emoji); } }