【编队】修改编队节点加载方式
parent
b0fee28670
commit
1a4fb1f04f
|
|
@ -19,7 +19,6 @@ public class TeamEditManager : Singlenton<TeamEditManager>, IInitable
|
|||
private List<Team> _teamList;
|
||||
private Team _selectTeam;
|
||||
private TeamPreviewNode _teamPreviewNode;
|
||||
public static readonly List<string> PreviewNodeOpenList = new List<string>();
|
||||
|
||||
public List<Team> TeamList => _teamList;
|
||||
public TeamPreviewNode TeamPreviewNode => _teamPreviewNode;
|
||||
|
|
@ -134,30 +133,20 @@ public class TeamEditManager : Singlenton<TeamEditManager>, IInitable
|
|||
NetHelper.CreateTeam((uint)team.TeamIndex, team.Name, (uint)team.IconNumber, charIds, team.GetVehicleID());
|
||||
}
|
||||
|
||||
public async UniTask LoadTeamPreviewNode(int teamIdx, string openPanel = "")
|
||||
public async UniTask LoadTeamPreviewNode(int teamIdx)
|
||||
{
|
||||
if (string.IsNullOrEmpty(openPanel))
|
||||
{
|
||||
DebugUtil.LogError("----- 请传入打开TeamPreviewNode的界面名!!!-----");
|
||||
}
|
||||
SetRawImageRect(Screen.width, Screen.height);
|
||||
|
||||
if (_teamPreviewNode && PreviewNodeOpenList.Count > 0)
|
||||
if (_teamPreviewNode)
|
||||
{
|
||||
RefreshPreviewNode(teamIdx);
|
||||
}
|
||||
|
||||
if (!PreviewNodeOpenList.Contains(openPanel))
|
||||
{
|
||||
PreviewNodeOpenList.Add(openPanel);
|
||||
return;
|
||||
}
|
||||
|
||||
await LoadNewTeamPreviewNode(teamIdx);
|
||||
|
||||
}
|
||||
public async UniTask LoadNewTeamPreviewNode(int teamIdx)
|
||||
{
|
||||
DoReleaseTeamPreviewNode();
|
||||
ReleaseTeamPreviewNode();
|
||||
|
||||
var team = _teamList[teamIdx];
|
||||
var charIDs = team.GetCharacterIDs();
|
||||
|
|
@ -184,22 +173,7 @@ public class TeamEditManager : Singlenton<TeamEditManager>, IInitable
|
|||
}
|
||||
}
|
||||
|
||||
public void ReleaseTeamPreviewNode(string releasePanel = "")
|
||||
{
|
||||
if (string.IsNullOrEmpty(releasePanel))
|
||||
{
|
||||
DebugUtil.LogError("----- 请传入释放TeamPreviewNode的界面名!!!-----");
|
||||
}
|
||||
|
||||
PreviewNodeOpenList.Remove(releasePanel);
|
||||
|
||||
if (_teamPreviewNode && PreviewNodeOpenList.Count <= 0)
|
||||
{
|
||||
DoReleaseTeamPreviewNode();
|
||||
}
|
||||
}
|
||||
|
||||
private void DoReleaseTeamPreviewNode()
|
||||
public void ReleaseTeamPreviewNode()
|
||||
{
|
||||
if (_teamPreviewNode)
|
||||
{
|
||||
|
|
|
|||
|
|
@ -31,8 +31,6 @@ public class TeamPreviewNode: MonoBehaviour
|
|||
private bool _isLoading;
|
||||
private int _teamIdx;
|
||||
|
||||
private bool _isReleasing;
|
||||
|
||||
private RenderTexture _rTexture;
|
||||
|
||||
private void Awake()
|
||||
|
|
@ -61,11 +59,8 @@ public class TeamPreviewNode: MonoBehaviour
|
|||
Destroy(node.gameObject);
|
||||
}
|
||||
|
||||
public void RefreshNode(int teamIdx)
|
||||
public void RefreshNode(int teamIdx, uint[] charIDs, uint vehicleID)
|
||||
{
|
||||
var team = TeamEditManager.Instance.GetTeamByIndex((uint)teamIdx);
|
||||
var charIDs = team.GetCharacterIDs();
|
||||
var vehicleID = team.GetVehicleID();
|
||||
ClearObjs();
|
||||
SetData(teamIdx, charIDs, vehicleID);
|
||||
CreateObjs();
|
||||
|
|
@ -206,11 +201,6 @@ public class TeamPreviewNode: MonoBehaviour
|
|||
if (data != null)
|
||||
{
|
||||
var prefab = await AssetManager.Instance.LoadAssetAsync<GameObject>(data.DisplayPrefabPath);
|
||||
if (!trans)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
var go = Instantiate(prefab, trans.position, trans.rotation, cRoot.transform);
|
||||
if (go)
|
||||
{
|
||||
|
|
@ -267,10 +257,6 @@ public class TeamPreviewNode: MonoBehaviour
|
|||
{
|
||||
var trans = vehiclePos;
|
||||
var prefab = await AssetManager.Instance.LoadAssetAsync<GameObject>(vehicleData.Cfg.PrefabPath);
|
||||
if (!trans)
|
||||
{
|
||||
return;
|
||||
}
|
||||
var go = Instantiate(prefab, trans.position, trans.rotation, vRoot.transform);
|
||||
if (go)
|
||||
{
|
||||
|
|
|
|||
|
|
@ -161,7 +161,7 @@ public class UI_TeamChooseController : UIWindow
|
|||
async void OnClickItem(int idx)
|
||||
{
|
||||
Team team = TeamEditManager.Instance.TeamList[idx];
|
||||
await TeamEditManager.Instance.LoadTeamPreviewNode(idx, UINameConst.UITeamInfo);
|
||||
await TeamEditManager.Instance.LoadTeamPreviewNode(idx);
|
||||
await UIManager.Instance.OpenWindow(UINameConst.UITeamInfo, team);
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -122,7 +122,7 @@ public class UI_TeamInfoController : UIWindow
|
|||
private void OnBackClick()
|
||||
{
|
||||
UIManager.Instance.CloseWindow(WindowName);
|
||||
TeamEditManager.Instance.ReleaseTeamPreviewNode(UINameConst.UITeamInfo);
|
||||
TeamEditManager.Instance.ReleaseTeamPreviewNode();
|
||||
}
|
||||
|
||||
private async void OnClickCharHead(int idx)
|
||||
|
|
|
|||
|
|
@ -117,7 +117,7 @@ public class UI_BeforeFightController : UIWindow
|
|||
|
||||
private async void RefreshScene()
|
||||
{
|
||||
await TeamEditManager.Instance.LoadTeamPreviewNode(_currTeamIndex, UINameConst.UI_BeforeFight);
|
||||
await TeamEditManager.Instance.LoadTeamPreviewNode(_currTeamIndex);
|
||||
var previewNode = TeamEditManager.Instance.TeamPreviewNode;
|
||||
GetComponent<RawImage>().texture = previewNode.RTexture;
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue