GameManager.cs 2.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364
  1. using Assets;
  2. using LitJson;
  3. using System.Collections;
  4. using System.Collections.Generic;
  5. using UnityEngine;
  6. using UnityEngine.Networking;
  7. using UnityEngine.SceneManagement;
  8. using YooAsset;
  9. public class GameManager : MonoBehaviour
  10. {
  11. public static GameManager Instance { get; private set; }
  12. private UIManager m_UIManager;
  13. private AudioManager m_AudioManager;
  14. private ScenesManager m_ScenesManager;
  15. private YooAssetManager m_YooAssetManager;
  16. private CharacterManager m_CharacterManager;
  17. private StepManager m_StepManager;
  18. public WhiteList whiteList;
  19. /// <summary>
  20. /// °×Ãûµ¥URL
  21. /// </summary>
  22. string urlWhiteList = "https://sfgdemo-1303083714.cos.ap-hongkong.myqcloud.com/WhiteList.json";
  23. private async void Awake()
  24. {
  25. Debug.Log("½øÈëGameManager");
  26. if (GameManager.Instance != null)
  27. {
  28. Destroy(gameObject);
  29. return;
  30. }
  31. Instance = this;
  32. DontDestroyOnLoad(gameObject);
  33. m_YooAssetManager = gameObject.AddComponent<YooAssetManager>();
  34. m_ScenesManager = gameObject.AddComponent<ScenesManager>();
  35. m_UIManager = gameObject.AddComponent<UIManager>();
  36. m_AudioManager = gameObject.AddComponent<AudioManager>();
  37. m_CharacterManager = gameObject.AddComponent<CharacterManager>();
  38. m_StepManager= gameObject.AddComponent<StepManager>();
  39. StartCoroutine(GetWhiteList());
  40. }
  41. /// <summary>
  42. /// ÇëÇó°×Ãûµ¥
  43. /// </summary>
  44. /// <returns></returns>
  45. IEnumerator GetWhiteList()
  46. {
  47. UnityWebRequest request = UnityWebRequest.Get(urlWhiteList);
  48. yield return request.SendWebRequest();
  49. if (request.result == UnityWebRequest.Result.Success)
  50. {
  51. whiteList = JsonMapper.ToObject<WhiteList>(request.downloadHandler.text);
  52. StepManager.timeStamp = whiteList.TimeStamp;
  53. }
  54. else
  55. {
  56. Debug.Log(request.error);
  57. }
  58. }
  59. public GameManager GetGameManager() { return this; }
  60. }