StepManager.cs 2.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162
  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. var characterRender = await YooAssetManager.Instance.LoadAsset<GameObject>("player_dress");
  22. player_dress = Instantiate(characterRender);
  23. initRot = player_dress.transform.rotation;
  24. CharacterManager.Inst.MatchCharacterRender(player_dress.GetComponent<CharacterRender>());
  25. }
  26. public async void Init()
  27. {
  28. var characterRender = await YooAssetManager.Instance.LoadAsset<GameObject>("player");
  29. var cmFreeLook = await YooAssetManager.Instance.LoadAsset<GameObject>("CM FreeLook1");
  30. player = Instantiate(characterRender);
  31. GameObject cm = Instantiate(cmFreeLook);
  32. player.GetComponent<MoveController>().camera = GameObject.Find("Main Camera").transform;
  33. cm.GetComponent<CinemachineFreeLook>().Follow = player.transform;
  34. cm.GetComponent<CinemachineFreeLook>().LookAt = player.transform;
  35. CharacterDataReMatch();
  36. }
  37. private async void Update()
  38. {
  39. if (Input.GetKeyDown(KeyCode.Q))
  40. {
  41. await UIManager.Instance.ShowUI(WindowID.FaceBuildPanel);
  42. CharacterManager.UICam.gameObject.SetActive(true);
  43. }
  44. }
  45. /// <summary>
  46. /// 重新赋值当前角色的捏脸和装扮数据/重置角色旋转
  47. /// </summary>
  48. public void CharacterDataReMatch()
  49. {
  50. if (player)
  51. {
  52. player_dress.transform.rotation= initRot;
  53. CharacterManager.Inst.CharacterClothReMatch(player.GetComponent<CharacterRender>());
  54. }
  55. }
  56. }