StepManager.cs 2.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768
  1. using System.Collections;
  2. using System.Collections.Generic;
  3. using UnityEditor;
  4. using UnityEngine;
  5. public class StepManager : MonoBehaviour
  6. {
  7. public static StepManager Instance { get; private set; }
  8. /// <summary> 是否开始初始化步骤 </summary>
  9. public static bool isInit = true;
  10. /// <summary> 是否在捏脸换装界面 </summary>
  11. public static bool isFaceBuidling = false;
  12. /// <summary> 背包穿戴人物模型 </summary>
  13. public static GameObject player_dress;
  14. /// <summary> 漫游场景移动人物模型 </summary>
  15. public static GameObject player;
  16. /// <summary> 捏脸换装灯光 </summary>
  17. public static Light faceBuildLight;
  18. /// <summary> 穿戴人物初始旋转 </summary>
  19. public static Quaternion initRot;
  20. private async void Start()
  21. {
  22. Instance = this;
  23. //await UIManager.Instance.ShowUI(WindowID.FaceBuildPanel);
  24. await UIManager.Instance.ShowUI(WindowID.DlgLogin);
  25. await UIManager.Instance.ShowUI(WindowID.ESLanguage);
  26. var characterRender = await YooAssetManager.Instance.LoadAsset<GameObject>("player_dress");
  27. player_dress = Instantiate(characterRender);
  28. player_dress.transform.position = new Vector3(7.3f, 1000.29f, 109.78f);
  29. initRot = player_dress.transform.rotation;
  30. CharacterManager.Inst.MatchCharacterRender(player_dress.GetComponent<CharacterRender>());
  31. faceBuildLight = GameObject.Find("FaceBuild Light").GetComponent<Light>();
  32. Debug.Log(faceBuildLight);
  33. }
  34. public async void Init()
  35. {
  36. var characterRender = await YooAssetManager.Instance.LoadAsset<GameObject>("player1");
  37. player = Instantiate(characterRender);
  38. player.transform.position = new Vector3(24.162f, 3f, 75.317f);
  39. player.transform.GetChild(0).GetComponent<MoveController>().camera = GameObject.Find("CamRoot").transform;
  40. CharacterDataReMatch();
  41. }
  42. private async void Update()
  43. {
  44. if (Input.GetKeyDown(KeyCode.Q))
  45. {
  46. await UIManager.Instance.ShowUI(WindowID.FaceBuildPanel);
  47. CharacterManager.UICam.gameObject.SetActive(true);
  48. }
  49. }
  50. /// <summary>
  51. /// 重新赋值当前角色的捏脸和装扮数据/重置角色旋转
  52. /// </summary>
  53. public void CharacterDataReMatch()
  54. {
  55. if (player)
  56. {
  57. player_dress.transform.rotation= initRot;
  58. CharacterManager.Inst.CharacterClothReMatch(player.transform.GetChild(0).GetComponent<CharacterRender>());
  59. }
  60. }
  61. }