IEnumerator RemoveFirstRoleIconIE(float delayTime) { yield return(new WaitForSeconds(delayTime)); if (getAliveCount > 0) { float disappearTime = 0.6f; BanBattleRoleIcon aIcon = list_Team[0]; TweenAlpha.Begin(aIcon.gameObject, disappearTime, 0.6f); MiniItween.MoveTo(aIcon.gameObject, GetTeamIconLocalPos(list_Team.Count - 1), disappearTime, MiniItween.EasingType.EaseInQuint, false); for (int i = 1; i < list_Team.Count; i++) { MiniItween.MoveTo(list_Team[i].gameObject, GetTeamIconLocalPos(i - 1), disappearTime, MiniItween.EasingType.EaseInQuint, false).b_handleScaleTime = true; } aIcon.toDie(); list_Team.RemoveAt(0); list_Team.Add(aIcon); ReadRoleNum(getAliveCount, list_Team.Count); // yangchenguang 战斗队伍士兵显示字符串修改 yield return(new WaitForSeconds(disappearTime)); } }
//变为全属性 public void ChangeToAllAttribute() { curRoleIcon.changeToAllAttribute(); BanBattleRoleIcon curRole = list_Team[0]; if (curRole != null) { curRole.changeToAllAttribute(); } }
/// <summary> /// 复活角色,复活的时候,需要重新排列队伍 /// </summary> /// <param name="reviveArray">Revive array.</param> /// <param name="baseIndex">Base index.</param> public void ReviveRole(int[] reviveArray, int baseIndex = 0) { float disappearTime = 0.6f; List <BanBattleRoleIcon> deadArray = new List <BanBattleRoleIcon>(); List <BanBattleRoleIcon> AliveArray = new List <BanBattleRoleIcon>(); foreach (int pos in reviveArray) { foreach (BanBattleRoleIcon icon in list_Team) { if (icon != null && icon.banBattleRole.index == pos) { icon.toLive(); TweenAlpha.Begin(icon.gameObject, disappearTime, 1.0f); } } } foreach (BanBattleRoleIcon aIcon in list_Team) { if (aIcon != null) { if (aIcon.isDie) { deadArray.Add(aIcon); } else { AliveArray.Add(aIcon); } } } //跟新当前活着的人数 ReadRoleNum(AliveArray.Count, list_Team.Count); AliveArray.AddRange(deadArray); list_Team = AliveArray; int length = list_Team.Count; for (int i = 0; i < length; i++) { BanBattleRoleIcon tempRole = list_Team[i]; Vector3 pos = GetTeamIconPos(i); tempRole.transform.position = pos; } }
//读取资料(角色信息,玩家名称) public void ReadData(List <BanBattleRole> list, string playerName) { LeftIsAttOrDef(); ReadFirstRole(list[0]); ReadRoleNum(list.Count, list.Count); //Generate Team if (BanBattleManager.Instance.IsReplay) { foreach (BanBattleRoleIcon icon in list_Team) { GameObject.Destroy(icon.gameObject); } list_Team.Clear(); angrySlot.curAP = 0; } for (int i = 0; i < list.Count; i++) { BanBattleRole tempRole = list[i]; Vector3 pos = GetTeamIconPos(i); BanBattleRoleIcon tempRoleIcon = GenerateRoleIcon(pos, go_TeamStartPos.transform); tempRoleIcon.transform.localScale = new Vector3(0.7f, 0.7f, 0.7f); if (i == 0) { tempRoleIcon.ReadData(tempRole, true); } else { tempRoleIcon.ReadData(tempRole); } tempRoleIcon.go_RoleName.SetActive(false); if (!IsAttack) { tempRoleIcon.text_Level.gameObject.SetActive(false); } list_Team.Add(tempRoleIcon); } }