using System; using System.Collections; using System.Collections.Generic; using UnityEngine; public class TeamManager : MonoBehaviour { public static TeamManager Instance {get; private set;} public teamSettingPanel teamSettingPanelInstance= teamSettingPanel.Instance; //当前玩家存档下的所有编队配置 public Dictionary> currentTeamSettings = new Dictionary>(); /// /// 根据此字段来在编队信息页显示已有编队 /// public int currentSelectedTeam = 0; /// /// 记录被选中的编队中角色的索引,用于处理队列位置交换的逻辑。-1表示无角色被选中 /// public int currentSelectedCharacter = -1; /// /// 在修改被选中的编队中角色的索引时触发 /// public event Action OnSelectedCharacterChanged; void Awake() { if (Instance == null) { Instance = this; } else { Destroy(gameObject); } } void Start() { if(teamSettingPanelInstance == null) { teamSettingPanelInstance = teamSettingPanel.Instance; } } /// /// 读取玩家存档信息后可直接在此写入编队信息 /// /// public void setcurrentTeamSettings(Dictionary> playerTeamSettings) { currentTeamSettings = playerTeamSettings; } public List getCurrentTeam() { return currentTeamSettings[currentSelectedTeam]; } public void setCurrentSelectedCharacterInTeam(int characterIndex) { if (characterIndex != currentSelectedCharacter) { currentSelectedCharacter = characterIndex; OnSelectedCharacterChanged?.Invoke(); // 触发事件 } } // Update is called once per frame void Update() { } }