using System.Collections.Generic; using UnityEngine; using UnityEngine.Events; using UnityEngine.UI; namespace MoleMole { public class MonoAchieveInfo : MonoBehaviour { public Image background; public GameObject iconGameObject; public Text title; public Text description; public GameObject[] rewardObjects; public Button fetchButton; public Text progressPercentageText; public MonoMaskSlider progressSlider; public GameObject succIcon; public GameObject fetchIcon; public UnityAction _fetchRewardClicked; private MissionDataItem _missionDataItem; private List achieveRewardList = new List(); public int id { get { if (_missionDataItem == null) { return 0; } return _missionDataItem.id; } } public void SetupView(MissionDataItem item) { //IL_0055: Unknown result type (might be due to invalid IL or missing references) //IL_005b: Invalid comparison between Unknown and I4 //IL_0069: Unknown result type (might be due to invalid IL or missing references) //IL_006f: Invalid comparison between Unknown and I4 //IL_008f: Unknown result type (might be due to invalid IL or missing references) //IL_0095: Invalid comparison between Unknown and I4 //IL_009d: Unknown result type (might be due to invalid IL or missing references) //IL_00a3: Invalid comparison between Unknown and I4 //IL_00a9: Unknown result type (might be due to invalid IL or missing references) //IL_00af: Invalid comparison between Unknown and I4 _missionDataItem = item; title.text = LocalizationGeneralLogic.GetText(item.metaData.title); description.text = LocalizationGeneralLogic.GetText(item.metaData.description); fetchButton.gameObject.SetActive((int)item.status == 3); background.color = (((int)item.status != 5) ? Color.white : Color.gray); fetchIcon.SetActive((int)item.status == 5); int num = (((int)item.status != 3 && (int)item.status != 5) ? ((int)((float)item.progress * 100f / (float)item.metaData.totalProgress)) : 100); progressPercentageText.text = num + "%"; progressSlider.UpdateValue((float)num * 0.01f, 1f, 0f); RefreshRewardList(item); if (!string.IsNullOrEmpty(item.metaData.thumb) && iconGameObject != null) { GameObject gameObject = Resources.Load(item.metaData.thumb); if (gameObject != null) { GameObject gameObject2 = Object.Instantiate(gameObject); gameObject2.transform.SetParent(iconGameObject.transform.parent); RectTransform rectTransform = gameObject2.transform as RectTransform; RectTransform rectTransform2 = iconGameObject.transform as RectTransform; if (rectTransform != null && rectTransform2 != null) { rectTransform.localPosition = rectTransform2.localPosition; rectTransform.localRotation = rectTransform2.localRotation; rectTransform.localScale = rectTransform2.localScale; } Object.DestroyImmediate(iconGameObject); iconGameObject = gameObject2; } } int i = 0; for (int num2 = rewardObjects.Length; i < num2; i++) { if (i < achieveRewardList.Count) { rewardObjects[i].SetActive(true); SetupRewardView(achieveRewardList[i], rewardObjects[i].transform); } else { rewardObjects[i].SetActive(false); } } } public void SetupRewardView(RewardUIData data, Transform rewardTrans) { Text component = rewardTrans.Find("Num/Number").GetComponent(); Image component2 = rewardTrans.Find("Icon").GetComponent(); Image component3 = rewardTrans.Find("BG").GetComponent(); MonoItemIconStar component4 = rewardTrans.Find("Stars").GetComponent(); component2.sprite = data.GetIconSprite(); component.text = data.value.ToString(); bool flag = data.rewardType == ResourceType.Item; component4.gameObject.SetActive(flag); if (flag) { StorageDataItemBase dummyStorageDataItem = Singleton.Instance.GetDummyStorageDataItem(data.itemID); string hexString = MiscData.Config.ItemRarityColorList[dummyStorageDataItem.rarity]; component3.color = Miscs.ParseColor(hexString); } BindViewCallback(rewardTrans.Find("Button").GetComponent