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();
}
}