ArenaViewManager.cs 3.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192
  1. using System.Collections.Generic;
  2. using FairyGUI;
  3. using UI.Arena;
  4. using UnityEngine;
  5. namespace GFGGame
  6. {
  7. public class ArenaViewManager : SingletonBase<ArenaViewManager>
  8. {
  9. public Dictionary<int, Texture2D> textureDic = new Dictionary<int, Texture2D>();
  10. public void Clear()
  11. {
  12. textureDic.Clear();
  13. }
  14. public void UpdateDanIcon(GLoader loader, int danLv)
  15. {
  16. }
  17. public void UpdateFightRoundResult(GObject obj, int index, out bool isWin)
  18. {
  19. int scoreType = ArenaDataManager.Instance.ThemeList[index];
  20. long myScore = ArenaDataManager.Instance.myFightScore[index];
  21. int myCardId = ArenaDataManager.Instance.DressupList[index].cardId;
  22. int myHeadId = ArenaDataManager.Instance.DressupList[index].headId;
  23. long targetScore = ArenaDataManager.Instance.targetFightScore[index];
  24. ArenaTargetData targetData = ArenaDataManager.Instance.Targets[index];
  25. int targetCardId = 0;
  26. int targetHeadId = 0;
  27. string res = "";
  28. if (targetData.Type == ArenaFightTargetType.PLAYER)
  29. {
  30. targetCardId = targetData.RoleDressupList[index].cardId;
  31. targetHeadId = targetData.RoleDressupList[index].headId;
  32. }
  33. else
  34. {
  35. targetCardId = targetData.RobotDressupList[index].cardId;
  36. res = targetData.RobotDressupList[index].res;
  37. }
  38. UI_ListResultItem item = UI_ListResultItem.Proxy(obj);
  39. item.m_loaScore.url = ResPathUtil.GetScorePath(scoreType);
  40. item.m_txtMyScore.text = myScore.ToString();
  41. item.m_txtTargetScore.text = targetScore.ToString();
  42. ItemCfg cardCfg = ItemCfgArray.Instance.GetCfg(myCardId);
  43. item.m_loaMyCard.m_comCardmask.m_loaCard.url = ResPathUtil.GetCardSmallPath(cardCfg.res);
  44. ItemCfg targetCardCfg = ItemCfgArray.Instance.GetCfg(targetCardId);
  45. item.m_loaMyCard.m_comCardmask.m_loaCard.url = ResPathUtil.GetCardSmallPath(targetCardCfg.res);
  46. RoleInfoManager.Instance.UpdateHead(item.m_comMyHead, myHeadId, 0);
  47. if (targetCardId > 0)
  48. {
  49. RoleInfoManager.Instance.UpdateHead(item.m_comTargetHead, targetHeadId, 0);
  50. }
  51. else
  52. {
  53. RoleInfoManager.Instance.UpdateNpcHead(item.m_comTargetHead, res);
  54. }
  55. isWin = myScore > targetScore;
  56. UI_ListResultItem.ProxyEnd();
  57. }
  58. public void UpdateFightResult(GObject obj, List<long> myScores, List<long> targetScore)
  59. {
  60. UI_ComFightResult com = UI_ComFightResult.Proxy(obj);
  61. bool isWin = UpdateFightScoreResult(com.m_comResult.target, myScores, targetScore);
  62. com.m_loaResule.url = isWin ? "ui://Arena/kstzjj_slsl" : "ui://Arena/kstzjj_shib";
  63. UI_ComFightResult.ProxyEnd();
  64. }
  65. public bool UpdateFightScoreResult(GObject obj, List<long> myScores, List<long> targetScore)
  66. {
  67. int winCount = 0;
  68. long myAllScore = 0;
  69. long targetAllScore = 0;
  70. for (int i = 0; i < myScores.Count; i++)
  71. {
  72. myAllScore += myScores[i];
  73. targetAllScore += targetScore[i];
  74. if (myScores[i] > targetScore[i]) winCount++;
  75. }
  76. UI_ComFightScoreResult com = UI_ComFightScoreResult.Proxy(obj);
  77. com.m_txtMyFightScore.text = myAllScore.ToString();
  78. com.m_txtTargetFightScore.text = targetAllScore.ToString();
  79. UI_ComFightScoreResult.ProxyEnd();
  80. bool isWin = winCount >= 2;
  81. return isWin;
  82. }
  83. }
  84. }