CraftSelectionItem.cs 1.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980
  1. using UnityEngine;
  2. using UnityEngine.UI;
  3. using System.Collections;
  4. public class CraftSelectionItem : MonoBehaviour
  5. {
  6. public int index;
  7. public GameObject vipFlag;
  8. public CraftSelectionPanel craftSelectionPanel;
  9. public Image image;
  10. public Text vipTxt;
  11. public CanvasGroup canvasGroup;
  12. private CraftConfigData data;
  13. private bool selected;
  14. void Awake()
  15. {
  16. Session.GetInstance ().myUserData.VIPChanged.AddListener (OnVIPChanged);
  17. }
  18. void OnDestroy()
  19. {
  20. Session.GetInstance ().myUserData.VIPChanged.RemoveListener (OnVIPChanged);
  21. }
  22. private void OnVIPChanged()
  23. {
  24. SetCraftData (data);
  25. }
  26. public void SetCraftData(CraftConfigData data)
  27. {
  28. this.data = data;
  29. image.sprite = Resources.Load<Sprite>(data.GetIcon());
  30. BattleSession battleSession = Session.GetInstance ().GetBattleSession ();
  31. vipTxt.enabled = !battleSession.CanCraftSelect(index);
  32. if(craftSelectionPanel.useSwap)
  33. {
  34. selected = battleSession.myPlayer.HasHeroCraft (data.id) && battleSession.GetBattleController().GetCtrlCraft().GetCraftId() != data.id;
  35. }
  36. else
  37. {
  38. selected = battleSession.myPlayer.HasHeroCraft (data.id);
  39. }
  40. if (selected) {
  41. canvasGroup.alpha = 0.3f;
  42. }
  43. }
  44. public void Refresh()
  45. {
  46. SetCraftData(data);
  47. }
  48. public void Click()
  49. {
  50. Debuger.Log(data.id);
  51. if (selected) {
  52. }
  53. else if(vipTxt.enabled)
  54. {
  55. BuyCoinPanel.Show ();
  56. }
  57. else
  58. {
  59. CraftSelectionPanel.SelectCraft(craftSelectionPanel.myPlayer, data.id);
  60. CraftSelectionPanel.Hide();
  61. }
  62. }
  63. }