PKGameReadyView.cs 2.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  1. using System.Collections;
  2. using System.Collections.Generic;
  3. using UnityEngine;
  4. using UnityEngine.UI;
  5. using DG.Tweening;
  6. /* PK模式的轮换选手的准备界面 */
  7. public class PKGameReadyView : MonoBehaviour
  8. {
  9. PKGameMode pKGameMode;
  10. public bool showRound = false;
  11. void Start()
  12. {
  13. GameObject.FindObjectOfType<ArmBow>().Hide();
  14. pKGameMode = (PKGameMode) GameMgr.ins.gameMode;
  15. (Sprite avatar, string nickName) = RoleMgr.GetRoleInfo(PKGameMode.playerRoleIDs[pKGameMode.currentPlayerIndex]);
  16. this.transform.Find("Panel/Avatar/Sprite").GetComponent<Image>().sprite = avatar;
  17. this.transform.Find("Panel/Name").GetComponent<Text>().text = nickName;
  18. Image mask = this.transform.Find("Mask").GetComponent<Image>();
  19. Transform panel = this.transform.Find("Panel");
  20. TextAutoLanguage round = this.transform.Find("Round").GetComponent<TextAutoLanguage>();
  21. Sequence seq = DOTween.Sequence();
  22. if (pKGameMode.showRoundValue < pKGameMode.round) {
  23. pKGameMode.showRoundValue = pKGameMode.round;
  24. seq.AppendCallback(delegate() {
  25. round.textFormatArgs = new string[]{pKGameMode.round.ToString()};
  26. round.transform.localScale = new Vector3(0, 0, 0);
  27. round.gameObject.SetActive(true);
  28. });
  29. seq.Append(round.transform.DOScale(new Vector3(1.1f, 1.1f, 1f), 0.6f));
  30. seq.Append(round.transform.DOScale(new Vector3(1, 1, 1), 0.6f));
  31. seq.Append(round.transform.GetComponent<Text>().DOFade(0, 0.3f));
  32. }
  33. seq.AppendCallback(delegate() {
  34. mask.gameObject.SetActive(true);
  35. });
  36. seq.Append(mask.DOFade(1, 0.5f));
  37. seq.AppendCallback(delegate() {
  38. panel.gameObject.SetActive(true);
  39. });
  40. seq.Append(mask.DOFade(0, 1f));
  41. seq.AppendInterval(1f);
  42. seq.Append(panel.DOScaleX(0, 0.4f));
  43. seq.AppendCallback(delegate() {
  44. Destroy(this.gameObject);
  45. });
  46. }
  47. void OnDestroy()
  48. {
  49. GameObject.FindObjectOfType<ArmBow>().Show();
  50. pKGameMode.UnbanBowReady();
  51. }
  52. }