97 lines
2.6 KiB
C#
97 lines
2.6 KiB
C#
using System.Collections;
|
|
using System.Collections.Generic;
|
|
using UnityEngine;
|
|
|
|
public class teamSettingPanel : MonoBehaviour
|
|
{
|
|
[SerializeField]
|
|
public GameObject teamSettingPanelObj;
|
|
[SerializeField]
|
|
public GameObject[] teamElementsObj;
|
|
[SerializeField]
|
|
public GameObject[] teamCharactersObj;
|
|
|
|
private TeamManager teamManager;
|
|
|
|
public static teamSettingPanel Instance{get;private set;}
|
|
|
|
void Awake()
|
|
{
|
|
if (Instance == null)
|
|
{
|
|
Instance = this;
|
|
}
|
|
else
|
|
{
|
|
Destroy(gameObject);
|
|
}
|
|
}
|
|
|
|
void Start()
|
|
{
|
|
teamManager = TeamManager.Instance;
|
|
if(teamManager!=null)
|
|
{
|
|
teamManager.OnSelectedCharacterChanged += updateTeamCharacterSelectedStatus;
|
|
}
|
|
}
|
|
void OnDestroy()
|
|
{
|
|
if (teamManager != null)
|
|
{
|
|
teamManager.OnSelectedCharacterChanged -= updateTeamCharacterSelectedStatus;
|
|
}
|
|
}
|
|
public void openTeamSettingPanel()
|
|
{
|
|
Debug.Log("打开编队设置面板");
|
|
//todo:向teamManager拉取已有编队信息,把视图初始化为对应的编队信息
|
|
List<Character> currentTeam = teamManager.getCurrentTeam();
|
|
foreach (Character character in currentTeam)
|
|
{
|
|
|
|
}
|
|
//根据获取的队伍信息处理ui组件
|
|
//可在此补充ui动画信息
|
|
teamSettingPanelObj.SetActive(true);
|
|
}
|
|
public void closeTeamSettingPanel()=>teamSettingPanelObj.SetActive(false);
|
|
|
|
public void updateTeamSettingElements()
|
|
{
|
|
//todo:向保存编队信息的类获取编队信息,然后重新处理teamElementsObj的信息
|
|
|
|
}
|
|
/// <summary>
|
|
/// 将当前角色向下交换位置
|
|
/// </summary>
|
|
public void downChangeCharcterIndex()
|
|
{
|
|
|
|
}
|
|
public void upChangeCharcterIndex()
|
|
{
|
|
|
|
}
|
|
/// <summary>
|
|
/// 用于保证team内对象的选中状态一致
|
|
/// </summary>
|
|
public void updateTeamCharacterSelectedStatus()
|
|
{
|
|
int currentSelectedCharacter = teamManager.currentSelectedCharacter;
|
|
Debug.Log(currentSelectedCharacter+" "+$"{teamElementsObj.Length}");
|
|
for (int i = 0; i < teamElementsObj.Length; i++)
|
|
{
|
|
if (i != currentSelectedCharacter)
|
|
{
|
|
teamCharacterView teamCharacterView = teamElementsObj[i].GetComponent<teamCharacterView>();
|
|
if(teamCharacterView!=null)
|
|
{
|
|
teamCharacterView.SetUnSelected();
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
}
|