StepManager.cs 2.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263
  1. using Cinemachine;
  2. using System.Collections;
  3. using System.Collections.Generic;
  4. using UnityEditor;
  5. using UnityEngine;
  6. public class StepManager : MonoBehaviour
  7. {
  8. public static StepManager Instance { get; private set; }
  9. /// <summary> 是否开始初始化步骤 </summary>
  10. public static bool isInit = true;
  11. /// <summary> 背包穿戴人物模型 </summary>
  12. public static GameObject player_dress;
  13. /// <summary> 穿戴人物初始旋转 </summary>
  14. public static Quaternion initRot;
  15. /// <summary> 漫游场景移动人物模型 </summary>
  16. private GameObject player;
  17. private async void Start()
  18. {
  19. Instance = this;
  20. //await UIManager.Instance.ShowUI(WindowID.FaceBuildPanel);
  21. await UIManager.Instance.ShowUI(WindowID.DlgLogin);
  22. var characterRender = await YooAssetManager.Instance.LoadAsset<GameObject>("player_dress");
  23. player_dress = Instantiate(characterRender);
  24. initRot = player_dress.transform.rotation;
  25. CharacterManager.Inst.MatchCharacterRender(player_dress.GetComponent<CharacterRender>());
  26. }
  27. public async void Init()
  28. {
  29. var characterRender = await YooAssetManager.Instance.LoadAsset<GameObject>("player");
  30. var cmFreeLook = await YooAssetManager.Instance.LoadAsset<GameObject>("CM FreeLook1");
  31. player = Instantiate(characterRender);
  32. GameObject cm = Instantiate(cmFreeLook);
  33. player.GetComponent<MoveController>().camera = GameObject.Find("Main Camera").transform;
  34. cm.GetComponent<CinemachineFreeLook>().Follow = player.transform;
  35. cm.GetComponent<CinemachineFreeLook>().LookAt = player.transform;
  36. CharacterDataReMatch();
  37. }
  38. private async void Update()
  39. {
  40. if (Input.GetKeyDown(KeyCode.Q))
  41. {
  42. await UIManager.Instance.ShowUI(WindowID.FaceBuildPanel);
  43. CharacterManager.UICam.gameObject.SetActive(true);
  44. }
  45. }
  46. /// <summary>
  47. /// 重新赋值当前角色的捏脸和装扮数据/重置角色旋转
  48. /// </summary>
  49. public void CharacterDataReMatch()
  50. {
  51. if (player)
  52. {
  53. player_dress.transform.rotation= initRot;
  54. CharacterManager.Inst.CharacterClothReMatch(player.GetComponent<CharacterRender>());
  55. }
  56. }
  57. }