using PhxhSDK; using UnityEngine; using GameWrapper.Team; using Cysharp.Threading.Tasks; using Constants = Framework.Constants; public class TeamPreviewNode : MonoBehaviour { public Transform[] characterPos; public Transform[] vehiclesPos; public Transform cRoot; public Transform vRoot; /// /// 相机节点 /// public Transform cameraRoot; public CameraStand cameraStand; public RenderTexture RTexture => TeamServiceHandle.TeamPreviewService.RTexture; public static async UniTask LoadNode() { var prefab = await AssetManager.Instance.LoadAssetAsync(Constants.TEAM_EDIT_PREFAB_PATH); var go = Instantiate(prefab, Vector3.up, Quaternion.identity); var component = go.GetComponent(); return component; } public void ReleaseNode(TeamPreviewNode node) { TeamServiceHandle.TeamPreviewService.ReleaseNode(node); } public static void RestoreCamera() { TeamServiceHandle.TeamPreviewService.RestoreCamera(); } public static void ResetCamera() { TeamServiceHandle.TeamPreviewService.ResetCamera(); } private void Awake() { TeamServiceHandle.TeamPreviewService.Init(characterPos, vehiclesPos, cRoot, vRoot, cameraRoot, cameraStand); } private void OnDestroy() { TeamServiceHandle.TeamPreviewService.Release(); } public async UniTask Refresh() { await TeamServiceHandle.TeamPreviewService.Refresh(); } public void SetData(int teamIdx, uint[] charIDs, uint[] vehicleIDs) { TeamServiceHandle.TeamPreviewService.SetData(teamIdx, charIDs, vehicleIDs); } public void CreateRt() { TeamServiceHandle.TeamPreviewService.CreateRt(); } }