//播放移动动画 void PlayMoveAnimation(FightRoleAllElement Allelement, FightRoleSelecteElement Selectelement, bool VtoHOrHtoV) { if (!moveCell.gameObject.activeSelf) { moveCell.gameObject.SetActive(true); } Vector3?startPos = null; Vector3?endPos = null; TMovealpaha.ResetToBeginning(); TMovepostion.ResetToBeginning(); if (VtoHOrHtoV) { startPos = GetPosAtMovePanel(Allelement.gameObject); endPos = GetPosAtMovePanel(Selectelement.gameObject); UISprite s = TMovealpaha.GetComponent <UISprite>(); if (s != null) { s.alpha = 0; } TMovealpaha.from = 0; TMovealpaha.to = 1f; TMovealpaha.PlayForward(); } else { startPos = GetPosAtMovePanel(Selectelement.gameObject); endPos = GetPosAtMovePanel(Allelement.gameObject); UISprite s = TMovealpaha.GetComponent <UISprite>(); if (s != null) { s.alpha = 1f; } TMovealpaha.from = 1f; TMovealpaha.to = 0; TMovealpaha.PlayForward(); } TMovepostion.transform.localPosition = (Vector3)startPos; TMovepostion.from = (Vector3)startPos; TMovepostion.to = (Vector3)endPos; TMovepostion.PlayForward(); StartCoroutine(OnPlayMoveAnimationFinished(Allelement, Selectelement, VtoHOrHtoV)); }
//播放位移动画结束 IEnumerator OnPlayMoveAnimationFinished(FightRoleAllElement Allelement, FightRoleSelecteElement Selectelement, bool VtoHOrHtoV) { yield return(new WaitForSeconds(0.25f)); if (VtoHOrHtoV) { RefreshSelectedPanel(); } else { Allelement.isSelected = false; } yield return(new WaitForSeconds(0.1f)); moveCell.gameObject.SetActive(false); }