| 
using System.Collections.Generic; 
 | 
using UnityEngine; 
 | 
  
 | 
//阵容布阵 
 | 
public partial class HeroInfo 
 | 
{ 
 | 
    public Dictionary<TeamType, KeyValuePair<int, int>> GetTeamTypeShapeTypePositionDict() 
 | 
    { 
 | 
        //  英雄当前所有在的队伍 
 | 
        List<int> heroTeams = itemHero.GetUseData(81); 
 | 
  
 | 
        Dictionary<TeamType, KeyValuePair<int, int>> teamTypeShapeTypePositionDict = new Dictionary<TeamType, KeyValuePair<int, int>>(); 
 | 
        foreach (var teamMsg in heroTeams) 
 | 
        { 
 | 
            // 所在阵容信息列表 [阵容类型*10000+阵型类型*100+位置编号, ...]  
 | 
            int teamType = teamMsg / 10000; 
 | 
            int shapeType = (teamMsg % 10000) / 100; 
 | 
            int positionIndex = teamMsg % 100; 
 | 
  
 | 
            if (teamTypeShapeTypePositionDict.ContainsKey((TeamType)teamType)) 
 | 
            { 
 | 
                //  队伍类型相同,更新阵型和位置 
 | 
                Debug.LogError("当前英雄拥有两个相同的队伍信息: " + teamType + " " + shapeType + " " + positionIndex + ", hero guid is " + itemHero.guid); 
 | 
            } 
 | 
            else 
 | 
            { 
 | 
                //  队伍类型不同,添加新的 
 | 
                KeyValuePair<int, int> shapeTypePosition = new KeyValuePair<int, int>(shapeType, positionIndex); 
 | 
                teamTypeShapeTypePositionDict.Add((TeamType)teamType, shapeTypePosition); 
 | 
            } 
 | 
        } 
 | 
  
 | 
        return teamTypeShapeTypePositionDict; 
 | 
    } 
 | 
} 
 |