您不能選擇超過 %s 個話題 話題必須以字母或數字為開頭,可包含連接號 ('-') 且最長為 35 個字
 
 
 

78 行
2.1 KiB

  1. using System;
  2. using CIG.Translation;
  3. using CIGEnums;
  4. using SUISS.Core;
  5. using SUISSEngine;
  6. using UnityEngine;
  7. using UnityEngine.UI;
  8. public class BuyOneBuildingGetOneFreeItem : MonoBehaviour
  9. {
  10. public void UpdateInfo(CIGBuilding building, bool isFreeItem, Action<CIGBuilding> onClick)
  11. {
  12. this._onClick = delegate()
  13. {
  14. onClick(building);
  15. };
  16. GridTile tile = building.tile;
  17. this._frameImage.sprite = SingletonMonobehaviour<SurfaceSpriteAssetCollection>.Instance.GetAsset((SurfaceType)tile.requiredGridType);
  18. this._buildingTopImage.sprite = tile.spriteRenderer.sprite;
  19. bool flag = tile.bottomRenderer != null;
  20. this._buildingBottomImage.gameObject.SetActive(flag);
  21. if (flag)
  22. {
  23. this._buildingBottomImage.sprite = tile.bottomRenderer.sprite;
  24. }
  25. this._buildingText.LocalizedString = building.LocalName;
  26. Currencies purchasePrice = building.PurchasePrice;
  27. if (purchasePrice.ContainsApproximate("Cash"))
  28. {
  29. this._costIcon.sprite = SingletonMonobehaviour<UISpriteAssetCollection>.Instance.GetAsset(UISpriteType.CashSmall);
  30. this._costText.LocalizedString = Localization.Integer(purchasePrice.GetValue("Cash"));
  31. }
  32. else if (purchasePrice.ContainsApproximate("Gold"))
  33. {
  34. this._costIcon.sprite = SingletonMonobehaviour<UISpriteAssetCollection>.Instance.GetAsset(UISpriteType.GoldSmall);
  35. this._costText.LocalizedString = Localization.Integer(purchasePrice.GetValue("Gold"));
  36. }
  37. this._freeBannerObject.SetActive(isFreeItem);
  38. this._costStripeObject.SetActive(isFreeItem);
  39. }
  40. public void OnItemClicked()
  41. {
  42. if (this._onClick != null)
  43. {
  44. Action onClick = this._onClick;
  45. this._onClick = null;
  46. onClick();
  47. }
  48. }
  49. [SerializeField]
  50. private Image _frameImage;
  51. [SerializeField]
  52. private Image _buildingTopImage;
  53. [SerializeField]
  54. private Image _buildingBottomImage;
  55. [SerializeField]
  56. private LocalizedText _buildingText;
  57. [SerializeField]
  58. private Image _costIcon;
  59. [SerializeField]
  60. private LocalizedText _costText;
  61. [SerializeField]
  62. private GameObject _freeBannerObject;
  63. [SerializeField]
  64. private GameObject _costStripeObject;
  65. private Action _onClick;
  66. }