队伍角色添加、快速更换新位置完善
This commit is contained in:
@@ -65,6 +65,7 @@ public class teamSettingPanel : MonoBehaviour
|
||||
|
||||
teamManager.OnSelectedTeamChanged += updateTeamSettingSelectedStatus;
|
||||
teamManager.OnSelectedTeamChanged += updateTeamSettingElements;
|
||||
teamManager.OnSelectedTeamChanged += updateSelectableCharacterViewList;
|
||||
}
|
||||
updateTeamSettingElements();
|
||||
updateSelectableCharacterViewList();
|
||||
@@ -79,6 +80,7 @@ public class teamSettingPanel : MonoBehaviour
|
||||
|
||||
teamManager.OnSelectedTeamChanged -= updateTeamSettingSelectedStatus;
|
||||
teamManager.OnSelectedTeamChanged -= updateTeamSettingElements;
|
||||
teamManager.OnSelectedTeamChanged -= updateSelectableCharacterViewList;
|
||||
}
|
||||
}
|
||||
/// <summary>
|
||||
@@ -156,11 +158,6 @@ public class teamSettingPanel : MonoBehaviour
|
||||
{
|
||||
TeamSetting currentSelectedTeam = teamManager.getCurrentSelectedTeam();
|
||||
List<CharacterView> currentTeam = currentSelectedTeam.teamIdList;
|
||||
// if(currentTeam==null||currentTeam.Count==0)
|
||||
// {
|
||||
// clearTeamSettingElements();
|
||||
// return;
|
||||
// }
|
||||
clearTeamSettingElements();
|
||||
for (int i = 0; i < teamElementsObj.Length && i < currentTeam.Count; i++)
|
||||
{
|
||||
@@ -192,7 +189,6 @@ public class teamSettingPanel : MonoBehaviour
|
||||
|
||||
if(currentSelectedTeam.LeaderId==currentTeam[i].characterId)
|
||||
{
|
||||
Debug.Log($"当前队长为{currentTeam[i].characterId} {currentTeam[i].currentBoundaryLevel},存档信息为{currentSelectedTeam.LeaderId}");
|
||||
t.isLeader.SetActive(true);
|
||||
t.notLeader.SetActive(false);
|
||||
}
|
||||
@@ -214,6 +210,9 @@ public class teamSettingPanel : MonoBehaviour
|
||||
{
|
||||
Destroy(child.gameObject);
|
||||
}
|
||||
|
||||
teamManager.currentSelectedCharacterCard = null;
|
||||
List<CharacterView> currentTeam = teamManager.getCurrentSelectedTeam().teamIdList;
|
||||
List<CharacterView> selectAbleCharacters = teamManager.SelectableCharacterList;
|
||||
foreach (CharacterView c in selectAbleCharacters) //id and level
|
||||
{
|
||||
@@ -223,19 +222,34 @@ public class teamSettingPanel : MonoBehaviour
|
||||
if (ccv != null&& tcdi!=null)
|
||||
{
|
||||
ccv.characterID = tcdi.CharacterID;
|
||||
ccv.currentBoundaryLevel= c.currentBoundaryLevel;
|
||||
ccv.characterImage.sprite =tcdi.CharacterCardSprite;
|
||||
ccv.levelIcon.sprite = getLevelSprite(c.currentBoundaryLevel);
|
||||
ccv.occupationIcon.sprite = tcdi.CharacterRoleSprite;
|
||||
}
|
||||
|
||||
if (checkExistenceStatus(currentTeam, ccv.characterID))
|
||||
{
|
||||
ccv.isSelected = true;
|
||||
ccv.characterImage.color = new Color(0.5f, 0.5f, 0.5f,1);
|
||||
}
|
||||
}
|
||||
}
|
||||
private bool checkExistenceStatus(List<CharacterView> currentTeam,int characterID)
|
||||
{
|
||||
foreach (CharacterView c in currentTeam)
|
||||
{
|
||||
if (c.characterId == characterID)
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
/// <summary>
|
||||
/// 用于保证team内对象的选中状态一致
|
||||
/// </summary>
|
||||
public void updateTeamCharacterSelectedStatus()
|
||||
{
|
||||
int currentSelectedCharacter = teamManager.currentSelectedCharacter;
|
||||
Debug.Log($"当前选择为{currentSelectedCharacter}");
|
||||
int currentSelectedCharacter = teamManager.currentSelectedTeamCharacter;
|
||||
for (int i = 0; i < teamElementsObj.Length; i++)
|
||||
{
|
||||
if (i != currentSelectedCharacter)
|
||||
@@ -291,10 +305,7 @@ public class teamSettingPanel : MonoBehaviour
|
||||
|
||||
}
|
||||
}
|
||||
/// <summary>
|
||||
/// 若玩家更换了team成员或调整了team成员顺序,则使用此方法更新view
|
||||
/// </summary>
|
||||
public void updateTeamStatus()
|
||||
public void updateCharacter()
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user