MissionMenuItem.cs 1.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  1. using UnityEngine;
  2. using UnityEngine.UI;
  3. using System.Collections;
  4. public class MissionMenuItem : MonoBehaviour {
  5. public Sprite[] bgImgArr;
  6. public Color[] txtColorArr;
  7. public Sprite[] rewardImgArr;
  8. public Image bgImg;
  9. public Text contentTxt;
  10. public Image rewardImg;
  11. public Text rewardTxt;
  12. public Text progressTxt;
  13. private MissionData data;
  14. public void SetData(MissionData data)
  15. {
  16. this.data = data;
  17. contentTxt.text = data.GetInfo();
  18. rewardImg.sprite = rewardImgArr[data.rewardType];
  19. rewardTxt.text = data.reward.ToString();
  20. int style = 0;
  21. if(data.rewarded > 0)
  22. {
  23. style = 2;
  24. progressTxt.text = Language.GetStr("Mission", "rewarded");
  25. rewardImg.color = txtColorArr[style];
  26. }
  27. else if(data.IsCompleted())
  28. {
  29. style = 1;
  30. progressTxt.text = Language.GetStr("Mission", "done");
  31. }
  32. else
  33. {
  34. progressTxt.text = Language.GetStr("Mission", "progress").Replace("%PROGRESS%", data.progress.ToString()).Replace("%TOTAL%", data.target.ToString());
  35. }
  36. bgImg.sprite = bgImgArr[style];
  37. contentTxt.color = progressTxt.color = rewardTxt.color = txtColorArr[style];
  38. }
  39. public void Reward()
  40. {
  41. if(data.rewarded == 0 && data.IsCompleted())
  42. {
  43. Session.GetInstance().GetNetworkManager().GetMissionReward(data.id);
  44. }
  45. }
  46. }