/// <summary> /// 解锁装备 /// </summary> /// <param name="data"></param> private void unlockEquip(Transform content, EquipInfoBean data, GameObject oldObj) { SoundUtil.playSoundClip(AudioButtonOnClickEnum.btn_sound_1); long userPoint = DataStorageManage.getUserInfoDSHandle().getData(0).puzzlesPoint; if (userPoint < data.unlockPoint) { //如果没有PP则提示不足 DialogManager.createToastDialog().setToastText(CommonData.getText(16)); } else { //如果有PP则解锁 //保存信息 ((UserInfoDSHandle)DataStorageManage.getUserInfoDSHandle()).decreaseUserPuzzlesPoint(data.unlockPoint); m_EquipUIControl.refreshPuzzlesPoint(); data.unlockType = 1; DataStorageManage.getEquipDSHandle().saveData(data); createEquipItem(content, data); Destroy(oldObj); } }
/// <summary> /// 创建obj /// </summary> /// <param name="content"></param> /// <param name="data"></param> public void createEquipItem(Transform content, EquipInfoBean data) { GameObject equipObj = Instantiate(ResourcesManager.LoadData <GameObject>(s_ResTypeSelectItemPath)); //设置大小 RectTransform itemRect = equipObj.GetComponent <RectTransform>(); float itemWith = content.GetComponent <RectTransform>().rect.height * 0.52f; float itemHight = content.GetComponent <RectTransform>().rect.height * 0.8f; itemRect.sizeDelta = new Vector2(itemWith, itemHight); TabButton tabButton = equipObj.GetComponent <TabButton>(); equipObj.transform.SetParent(content); equipObj.transform.SetSiblingIndex((int)data.equipTypeId); equipObj.name = data.equipName; equipObj.transform.localScale = new Vector3(1, 1, 1); //背景 Image backgroundImage = CptUtil.getCptFormParentByName <Transform, Image>(equipObj.transform, "Background"); //设置名字 Text equipName = CptUtil.getCptFormParentByName <Transform, Text>(equipObj.transform, "EquipName"); equipName.text = data.equipName; //设置资源图片 Image equipImage = CptUtil.getCptFormParentByName <Transform, Image>(equipObj.transform, "EquipImage"); StartCoroutine(ResourcesManager.LoadAsyncDataImage(data.equipImageUrl, equipImage)); if (data.equipImageColor != null && data.equipImageColor.Length != 0) { if (data.equipTypeId == 0) { data.equipImageColor = "#EFEFEF"; } ColorUtil.setImageColor(equipImage, data.equipImageColor); } //获取是否锁定 ((EquipDSHandle)DataStorageManage.getEquipDSHandle()).getData(data); Image equipLock = CptUtil.getCptFormParentByName <Transform, Image>(equipObj.transform, "EquipLock"); Button equipButton = CptUtil.getCptFormParentByName <Transform, Button>(equipObj.transform, "EquipButton"); Image equipButtonImage = CptUtil.getCptFormParentByName <Transform, Image>(equipObj.transform, "EquipButton"); Text equipButtonText = CptUtil.getCptFormParentByName <Transform, Text>(equipObj.transform, "EquipButtonText"); if (data.equipTypeId != 0 && data.unlockType == 0) { //未解锁处理 equipLock.enabled = true; equipButtonText.text = CommonData.getText(13) + "(" + data.unlockPoint + "PP)"; equipButton.onClick.AddListener(delegate() { unlockEquip(content, data, equipObj); }); } else { //已解锁处理 equipLock.enabled = false; int equipId = 0; if (data.equipType == (int)EquipTypeEnum.PuzzlesShape) { equipId = (int)CommonConfigure.PuzzlesShape; } else if (data.equipType == (int)EquipTypeEnum.BorderShape) { equipId = (int)CommonConfigure.BorderShape; } else if (data.equipType == (int)EquipTypeEnum.BorderColor) { equipId = (int)CommonConfigure.BorderColor; } else if (data.equipType == (int)EquipTypeEnum.Background) { equipId = (int)CommonConfigure.Background; } if (equipId == data.equipTypeId) { equipButtonText.text = CommonData.getText(90); equipButton.onClick.RemoveAllListeners(); ColorUtil.setImageColor(backgroundImage, "#CCCCCC"); ColorUtil.setImageColor(equipButtonImage, "#CCCCCC"); } else { equipButtonText.text = CommonData.getText(89); equipButton.onClick.AddListener(delegate() { useEquip(content, data, equipObj); }); } } }