//--------------------------------------------------------
|
// [Author]: 第二世界
|
// [ Date ]: Tuesday, January 16, 2018
|
//--------------------------------------------------------
|
using UnityEngine;
|
using System.Collections;
|
using UnityEngine.UI;
|
|
using vnxbqy.UI;
|
using System;
|
//关于资源找回
|
namespace vnxbqy.UI
|
{
|
|
public class ResourcesBackBoxBack : MonoBehaviour
|
{
|
[SerializeField] Text m_ResourceName;//资源名
|
[SerializeField] Text m_FindNumberText;//找回次数
|
[SerializeField] Button m_FindButton;//找回按钮
|
[SerializeField] Image m_ItemIcon;//类型图标
|
[SerializeField] Text m_NumberText;//价格
|
[SerializeField] Text m_GJText;//挂机
|
[SerializeField] Transform m_Coent;//父级
|
[SerializeField] Text m_ContentShowText;//内容显示
|
[SerializeField] GameObject m_ButtonObj;//可找回
|
[SerializeField] GameObject m_HasBeenrecovered;//已找回
|
[SerializeField] GameObject m_Type_One;//类型1
|
ResourcesBackModel m_ResourcesBackModel;
|
ResourcesBackModel resourcesBackModel { get { return m_ResourcesBackModel ?? (m_ResourcesBackModel = ModelCenter.Instance.GetModel<ResourcesBackModel>()); } }
|
|
public static bool isBool = false;//是否绑玉找回
|
public bool IsOneKeyBool = false;//是否一键
|
public int _resourcesBackID = 0;
|
|
private void Awake()
|
{
|
}
|
private void Start()
|
{
|
m_FindButton.AddListener(OnClickFindButton);
|
}
|
|
private void OnClickFindButton()
|
{
|
ResourcesBackClass resourcesBackClass = resourcesBackModel.ResourcesBackDic[_resourcesBackID];
|
resourcesBackModel.ResourcesBackId = _resourcesBackID;
|
int costCopper = (int)UIHelper.GetMoneyCnt(3);//铜钱
|
if (isBool)
|
{
|
int costJadeNumber = 0;
|
costJadeNumber += resourcesBackClass.RecoverCnt;
|
costJadeNumber += resourcesBackClass.ExtraCnt;
|
if (costJadeNumber > 1)
|
{
|
WindowCenter.Instance.Open<FindNumberWin>();
|
}
|
else
|
{
|
RegardsFairyJadeBack(resourcesBackClass);
|
}
|
}
|
else
|
{
|
if (resourcesBackClass.RecoverCnt > 1)
|
{
|
WindowCenter.Instance.Open<FindNumberWin>();
|
}
|
else
|
{
|
RecoverGain(1, _resourcesBackID, 1);
|
}
|
}
|
}
|
public void FairyJadeOrCopperCashFind(int ResourcesBackID, bool IsBool)
|
{
|
isBool = IsBool;
|
_resourcesBackID = ResourcesBackID;
|
ResourcesBackClass resourcesBackClass = resourcesBackModel.ResourcesBackDic[ResourcesBackID];
|
m_ResourceName.text = resourcesBackClass.NameOfActivity;
|
if (IsBool)
|
{
|
FairyJadeFind(ResourcesBackID);
|
}
|
else
|
{
|
|
CopperCashFind(ResourcesBackID);
|
}
|
}
|
private void RecoverGain(int type, int inedex, int number)//单次发包
|
{
|
CA553_tagCMRecoverGain CA553 = new CA553_tagCMRecoverGain();
|
CA553.Type = (byte)type;
|
byte[] indexList = new byte[] { (byte)inedex };
|
CA553.IndexList = indexList;
|
CA553.Cnt = (byte)indexList.Length;
|
byte[] recoverCntList = new byte[] { (byte)number };
|
CA553.RecoverCntList = recoverCntList;
|
GameNetSystem.Instance.SendInfo(CA553);
|
}
|
private void FairyJadeFind(int resourcesBackID)//仙玉找回
|
{
|
m_Type_One.SetActive(true);
|
ResourcesBackClass resourcesBackClass = resourcesBackModel.ResourcesBackDic[resourcesBackID];
|
if (resourcesBackID == 1)
|
{
|
m_FindNumberText.text = Language.Get("ResourceBack_DeadCover");
|
m_GJText.SetActive(true);
|
m_GJText.text = resourcesBackClass.DeadTime;
|
}
|
else
|
{
|
m_GJText.SetActive(false);
|
if (resourcesBackClass.ExtraCnt > 0)
|
{
|
m_FindNumberText.text = string.Format(Language.Get("ResourceBack_VipExtra"), resourcesBackClass.RecoverCnt, resourcesBackClass.ExtraCnt);
|
}
|
else
|
{
|
m_FindNumberText.text = string.Format(Language.Get("ResourceBack_NormalTimes"), resourcesBackClass.RecoverCnt);
|
}
|
}
|
var itemConfig = ItemConfig.Get(2105);
|
m_ItemIcon.SetActive(true);
|
m_ItemIcon.SetSprite("Money_Type_1");
|
if (resourcesBackClass.RecoverCnt <= 0 && resourcesBackClass.ExtraCnt > 0)
|
{
|
|
m_NumberText.text = ItemLogicUtility.Instance.OnChangeCoinsUnit((ulong)resourcesBackClass.VipCostJade);
|
}
|
else
|
{
|
|
m_NumberText.text = ItemLogicUtility.Instance.OnChangeCoinsUnit((ulong)resourcesBackClass.NormalCostJade);
|
}
|
|
|
int playerlv = PlayerDatas.Instance.baseData.LV;
|
for (int i = 0; i < m_Coent.childCount; i++)
|
{
|
m_Coent.GetChild(i).SetActive(false);
|
}
|
|
var config = PlayerLVConfig.Get(playerlv);
|
if (resourcesBackClass.RewardList.Length > 0)
|
{
|
for (int i = 0; i < resourcesBackClass.RewardList.Length; i++)
|
{
|
m_Coent.GetChild(i).SetActive(true);
|
Equation.Instance.Clear();
|
Equation.Instance.AddKeyValue("reLV", playerlv);
|
Equation.Instance.AddKeyValue("reExp", config.ReExp);
|
Equation.Instance.AddKeyValue("extraData", resourcesBackClass.ExtraData);
|
Equation.Instance.AddKeyValue("dataEx", resourcesBackClass.ExtraData2);
|
Equation.Instance.AddKeyValue("expRate", 1);
|
Equation.Instance.AddKeyValue("tjgExp", resourcesBackClass.TjgExp);
|
Equation.Instance.AddKeyValue("realmLV", PlayerDatas.Instance.baseData.realmLevel);
|
|
Image Icon = m_Coent.GetChild(i).Find("Icon").GetComponent<Image>();
|
Text Number = m_Coent.GetChild(i).Find("Text").GetComponent<Text>();
|
Button Btn = m_Coent.GetChild(i).Find("Image").GetComponent<Button>();
|
Image Image_1 = m_Coent.GetChild(i).Find("Image").GetComponent<Image>();
|
if (resourcesBackClass.RewardList[i] == "exp")
|
{
|
double number = Equation.Instance.Eval<double>(resourcesBackClass.JadeReward.exp);
|
string itemIcon = ItemConfig.Get(2103).IconKey;
|
Icon.SetSprite(itemIcon);
|
Number.text = ItemLogicUtility.Instance.OnChangeCoinsUnit((ulong)number);
|
var Item_1 = ItemConfig.Get(2103);
|
Image_1.SetItemBackGround(Item_1.ItemColor);
|
Btn.SetListener(() => { ItemTipUtility.Show(2103); });
|
}
|
else if (resourcesBackClass.RewardList[i] == "money")
|
{
|
double number = Equation.Instance.Eval<double>(resourcesBackClass.JadeReward.money);
|
string itemIcon = ItemConfig.Get(2100).IconKey;
|
Icon.SetSprite(itemIcon);
|
var Item_1 = ItemConfig.Get(2100);
|
Image_1.SetItemBackGround(Item_1.ItemColor);
|
Number.text = ItemLogicUtility.Instance.OnChangeCoinsUnit((ulong)number);
|
Btn.RemoveAllListeners();
|
Btn.SetListener(() => { ItemTipUtility.Show(2100); });
|
}
|
else if (resourcesBackClass.RewardList[i] == "item")
|
{
|
int type = i;
|
for (int j = 0; j < resourcesBackClass.JadeReward.item.Length; j++)
|
{
|
double ItemCount = Equation.Instance.Eval<double>(resourcesBackClass.JadeReward.item[j].ItemCount);
|
if (ItemCount <= 0 || type > 2)
|
{
|
continue;
|
}
|
m_Coent.GetChild(type).SetActive(true);
|
Image Icon1 = m_Coent.GetChild(type).Find("Icon").GetComponent<Image>();
|
Text Number1 = m_Coent.GetChild(type).Find("Text").GetComponent<Text>();
|
Button Btn1 = m_Coent.GetChild(type).Find("Image").GetComponent<Button>();
|
Image Image_2 = m_Coent.GetChild(type).Find("Image").GetComponent<Image>();
|
int ItemId = resourcesBackClass.JadeReward.item[j].ItemID;
|
ItemId = ReplaceItemID(ItemId, resourcesBackClass);//根据职业替换物品ID
|
string itemIcon = ItemConfig.Get(ItemId).IconKey;
|
Icon1.SetSprite(itemIcon);
|
Number1.text = ItemLogicUtility.Instance.OnChangeCoinsUnit((ulong)ItemCount);
|
var Item_2 = ItemConfig.Get(ItemId);
|
Image_2.SetItemBackGround(Item_2.ItemColor);
|
Btn1.SetListener(() => { ItemTipUtility.Show(ItemId); });
|
type += 1;
|
}
|
|
}
|
}
|
}
|
if (resourcesBackClass.CanBackTimes == 1)
|
{
|
m_Coent.SetActive(false);
|
m_ContentShowText.SetActive(true);
|
m_ContentShowText.text = Language.Get("ResourceBack_BuyTimes");
|
}
|
else
|
{
|
m_Coent.SetActive(true);
|
m_ContentShowText.SetActive(false);
|
}
|
if (resourcesBackClass.RecoverCnt > 0 || resourcesBackClass.ExtraCnt > 0)
|
{
|
m_ButtonObj.SetActive(true);
|
m_HasBeenrecovered.SetActive(false);
|
m_FindNumberText.SetActive(true);
|
}
|
else
|
{
|
m_HasBeenrecovered.SetActive(true);
|
m_GJText.SetActive(false);
|
m_ButtonObj.SetActive(false);
|
m_FindNumberText.SetActive(false);
|
}
|
|
}
|
|
private void CopperCashFind(int ResourcesBackID)//铜钱找回
|
{
|
m_Type_One.SetActive(true);
|
ResourcesBackClass resourcesBackClass = resourcesBackModel.ResourcesBackDic[ResourcesBackID];
|
if (ResourcesBackID == 1)
|
{
|
m_FindNumberText.text = Language.Get("ResourceBack_DeadCover");
|
m_GJText.SetActive(true);
|
m_GJText.text = resourcesBackClass.DeadTime;
|
}
|
else
|
{
|
m_GJText.SetActive(false);
|
|
m_FindNumberText.text = string.Format(Language.Get("ResourceBack_NormalTimes"), resourcesBackClass.RecoverCnt);
|
|
}
|
var itemConfig = ItemConfig.Get(2100);
|
m_ItemIcon.SetActive(false);
|
//m_ItemIcon.SetSprite("Money_Type_3");
|
//m_NumberText.text = ItemLogicUtility.Instance.OnChangeCoinsUnit((ulong)resourcesBackClass.CostCopper);
|
|
int playerlv = PlayerDatas.Instance.baseData.LV;
|
var config = PlayerLVConfig.Get(playerlv);
|
m_Coent.SetActive(true);
|
m_ContentShowText.SetActive(false);
|
for (int i = 0; i < m_Coent.childCount; i++)
|
{
|
m_Coent.GetChild(i).SetActive(false);
|
}
|
if (resourcesBackClass.RewardList.Length >= 0)
|
{
|
for (int i = 0; i < resourcesBackClass.RewardList.Length; i++)
|
{
|
|
if (resourcesBackClass.RewardList[i] == "money")
|
{
|
double number = 0;
|
if (resourcesBackClass.CopperReward.money == null)
|
{
|
continue;
|
}
|
number = Equation.Instance.Eval<double>(resourcesBackClass.CopperReward.money);
|
if (number <= 1)
|
{
|
continue;
|
}
|
}
|
m_Coent.GetChild(i).SetActive(true);
|
Image Icon = m_Coent.GetChild(i).Find("Icon").GetComponent<Image>();
|
Text Number = m_Coent.GetChild(i).Find("Text").GetComponent<Text>();
|
Button Btn = m_Coent.GetChild(i).Find("Image").GetComponent<Button>();
|
Image Image_1 = m_Coent.GetChild(i).Find("Image").GetComponent<Image>();
|
Equation.Instance.Clear();
|
Equation.Instance.AddKeyValue("reLV", playerlv);
|
Equation.Instance.AddKeyValue("reExp", config.ReExp);
|
Equation.Instance.AddKeyValue("extraData", resourcesBackClass.ExtraData);
|
Equation.Instance.AddKeyValue("dataEx", resourcesBackClass.ExtraData2);
|
Equation.Instance.AddKeyValue("expRate", 1);
|
Equation.Instance.AddKeyValue("tjgExp", resourcesBackClass.TjgExp);
|
Equation.Instance.AddKeyValue("realmLV", PlayerDatas.Instance.baseData.realmLevel);
|
|
if (resourcesBackClass.RewardList[i] == "exp")
|
{
|
double number = Equation.Instance.Eval<double>(resourcesBackClass.CopperReward.exp);
|
string itemIcon = ItemConfig.Get(2103).IconKey;
|
Icon.SetSprite(itemIcon);
|
var Item_1 = ItemConfig.Get(2103);
|
Image_1.SetItemBackGround(Item_1.ItemColor);
|
Btn.SetListener(() => { ItemTipUtility.Show(2103); });
|
Number.text = ItemLogicUtility.Instance.OnChangeCoinsUnit((ulong)number);
|
}
|
else if (resourcesBackClass.RewardList[i] == "money")
|
{
|
double number = Equation.Instance.Eval<double>(resourcesBackClass.CopperReward.money);
|
string itemIcon = ItemConfig.Get(2100).IconKey;
|
Icon.SetSprite(itemIcon);
|
var Item_1 = ItemConfig.Get(2100);
|
Image_1.SetItemBackGround(Item_1.ItemColor);
|
Btn.SetListener(() => { ItemTipUtility.Show(2100); });
|
Number.text = ItemLogicUtility.Instance.OnChangeCoinsUnit((ulong)number);
|
}
|
else if (resourcesBackClass.RewardList[i] == "item")
|
{
|
int type = i;
|
for (int j = 0; j < resourcesBackClass.CopperReward.item.Length; j++)
|
{
|
double ItemCount = Equation.Instance.Eval<double>(resourcesBackClass.CopperReward.item[j].ItemCount);
|
if (ItemCount <= 0 || type > 2)
|
{
|
continue;
|
}
|
m_Coent.GetChild(type).SetActive(true);
|
Image Icon1 = m_Coent.GetChild(type).Find("Icon").GetComponent<Image>();
|
Text Number1 = m_Coent.GetChild(type).Find("Text").GetComponent<Text>();
|
Button Btn1 = m_Coent.GetChild(type).Find("Image").GetComponent<Button>();
|
Image Image_2 = m_Coent.GetChild(type).Find("Image").GetComponent<Image>();
|
int ItemId = resourcesBackClass.CopperReward.item[j].ItemID;
|
ItemId = ReplaceItemID(ItemId, resourcesBackClass);//根据职业替换物品ID
|
string itemIcon = ItemConfig.Get(ItemId).IconKey;
|
var Item_2 = ItemConfig.Get(ItemId);
|
Image_2.SetItemBackGround(Item_2.ItemColor);
|
Btn1.SetListener(() => { ItemTipUtility.Show(ItemId); });
|
Icon1.SetSprite(itemIcon);
|
Number1.text = ItemLogicUtility.Instance.OnChangeCoinsUnit((ulong)ItemCount);
|
type += 1;
|
}
|
}
|
}
|
|
}
|
|
m_Coent.SetActive(true);
|
m_ContentShowText.SetActive(false);
|
if (resourcesBackClass.RecoverCnt > 0)
|
{
|
m_ButtonObj.SetActive(true);
|
m_HasBeenrecovered.SetActive(false);
|
m_FindNumberText.SetActive(true);
|
}
|
else
|
{
|
m_HasBeenrecovered.SetActive(true);
|
m_GJText.SetActive(false);
|
m_ButtonObj.SetActive(false);
|
m_FindNumberText.SetActive(false);
|
}
|
}
|
|
private void RegardsFairyJadeBack(ResourcesBackClass resourcesBackClass)//关于仙玉找回
|
{
|
int CostJade = (int)UIHelper.GetMoneyCnt(1);
|
if (resourcesBackClass.RecoverCnt != 0)
|
{
|
if (CostJade >= resourcesBackClass.NormalCostJade)
|
{
|
RecoverGain(0, _resourcesBackID, 1);
|
}
|
else
|
{
|
int fairyJade = 0;
|
fairyJade = resourcesBackClass.NormalCostJade - CostJade;
|
var strLanguage = Language.Get("FairyLand_Func13", resourcesBackClass.NormalCostJade);
|
ConfirmCancel.ShowPopConfirm(Language.Get("Mail101"), strLanguage, (bool isOk) =>
|
{
|
if (isOk)
|
{
|
BouncedMessage(fairyJade);
|
}
|
});
|
}
|
return;
|
}
|
else if (resourcesBackClass.ExtraCnt != 0)
|
{
|
if (CostJade >= resourcesBackClass.VipCostJade)
|
{
|
RecoverGain(0, _resourcesBackID, 1);
|
}
|
else
|
{
|
int fairyJade = 0;
|
fairyJade = resourcesBackClass.VipCostJade - CostJade;
|
var strLanguage = Language.Get("FairyLand_Func13", resourcesBackClass.VipCostJade);
|
ConfirmCancel.ShowPopConfirm(Language.Get("Mail101"), strLanguage, (bool isOk) =>
|
{
|
if (isOk)
|
{
|
BouncedMessage(fairyJade);
|
}
|
});
|
|
}
|
return;
|
}
|
}
|
private void BouncedMessage(int fairyJade)//弹框信息
|
{
|
int getFairyJade = (int)UIHelper.GetMoneyCnt(1);
|
if (getFairyJade >= fairyJade)
|
{
|
RecoverGain(0, _resourcesBackID, 1);
|
}
|
else
|
{
|
if (VersionConfig.Get().isBanShu)
|
{
|
SysNotifyMgr.Instance.ShowTip("GoldErr");
|
return;
|
}
|
WindowCenter.Instance.Open<RechargeTipWin>();
|
}
|
}
|
private int ReplaceItemID(int itemID, ResourcesBackClass resourcesBackClass)
|
{
|
int ItemID = itemID;
|
if (resourcesBackClass.ReplaceItemID.Contains(itemID))
|
{
|
int job = PlayerDatas.Instance.baseData.Job;
|
if (job <= resourcesBackClass.ReplaceItemID.Count)
|
{
|
ItemID = resourcesBackClass.ReplaceItemID[(job - 1)];
|
}
|
}
|
return ItemID;
|
}
|
}
|
|
}
|
|
|
|