//--------------------------------------------------------
|
// [Author]: 第二世界
|
// [ Date ]: Tuesday, June 11, 2019
|
//--------------------------------------------------------
|
|
using System;
|
using System.Collections;
|
using System.Collections.Generic;
|
using UnityEngine;
|
using UnityEngine.UI;
|
using vnxbqy.UI;
|
using DG.Tweening;
|
|
//培养主UI
|
public class FosterWin : ILWindow
|
{
|
RawImage RawImage3D;
|
Text m_txtFosterName; //名字
|
UIEffect m_UIeffectLVUp;
|
List<ItemInfo> m_FosterInfo = new List<ItemInfo>();
|
List<FeedUI> m_FosterFeed = new List<FeedUI>();
|
Dictionary<int, TrainLV> TrainDict = new Dictionary<int, TrainLV>();
|
Button Button_Close;//关闭
|
bool IsChangeBool = false;
|
MountModel mountModel { get { return ModelCenter.Instance.GetModel<MountModel>(); } }
|
PetModel petmodel { get { return ModelCenter.Instance.GetModel<PetModel>(); } }
|
PackModel packModel { get { return ModelCenter.Instance.GetModel<PackModel>(); } }
|
bool bFirstOpen = false;
|
int EquipID = 14;
|
int FeedBtnNum = -1;
|
#region Built-in
|
protected override void BindController()
|
{
|
m_UIeffectLVUp = proxy.GetWidgtEx<UIEffect>("UieffectLVUp");
|
m_txtFosterName = proxy.GetWidgtEx<Text>("Txt_Title");
|
Button_Close = proxy.GetWidgtEx<Button>("Img_Close");
|
RawImage3D = proxy.GetWidgtEx<RawImage>("RawImg");
|
//基础属性
|
Transform info1 = proxy.GetWidgtEx<Transform>("InfoItem1");
|
ItemInfo _itemInfo1 = new ItemInfo();
|
_itemInfo1.m_InfoTittle = info1.Find("InfoTitle").GetComponent<Text>();
|
_itemInfo1.m_InfoValue = info1.Find("InfoValue").GetComponent<Text>();
|
_itemInfo1.ShowAddView = info1.Find("ShowValue").GetComponent<Transform>();
|
_itemInfo1.m_AddValue = info1.Find("ShowValue/InfoValue").GetComponent<Text>();
|
_itemInfo1.ShowAddView.SetActiveIL(false);
|
m_FosterInfo.Add(_itemInfo1);
|
|
Transform info2 = proxy.GetWidgtEx<Transform>("InfoItem2");
|
ItemInfo _itemInfo2 = new ItemInfo();
|
_itemInfo2.m_InfoTittle = info2.Find("InfoTitle").GetComponent<Text>();
|
_itemInfo2.m_InfoValue = info2.Find("InfoValue").GetComponent<Text>();
|
_itemInfo2.ShowAddView = info2.Find("ShowValue").GetComponent<Transform>();
|
_itemInfo2.m_AddValue = info2.Find("ShowValue/InfoValue").GetComponent<Text>();
|
_itemInfo2.ShowAddView.SetActiveIL(false);
|
m_FosterInfo.Add(_itemInfo2);
|
|
Transform info3 = proxy.GetWidgtEx<Transform>("InfoItem3");
|
ItemInfo _itemInfo3 = new ItemInfo();
|
_itemInfo3.m_InfoTittle = info3.Find("InfoTitle").GetComponent<Text>();
|
_itemInfo3.m_InfoValue = info3.Find("InfoValue").GetComponent<Text>();
|
_itemInfo3.ShowAddView = info3.Find("ShowValue").GetComponent<Transform>();
|
_itemInfo3.m_AddValue = info3.Find("ShowValue/InfoValue").GetComponent<Text>();
|
_itemInfo3.ShowAddView.SetActiveIL(false);
|
m_FosterInfo.Add(_itemInfo3);
|
|
Transform info4 = proxy.GetWidgtEx<Transform>("InfoItem4");
|
ItemInfo _itemInfo4 = new ItemInfo();
|
_itemInfo4.m_InfoTittle = info4.Find("InfoTitle").GetComponent<Text>();
|
_itemInfo4.m_InfoValue = info4.Find("InfoValue").GetComponent<Text>();
|
_itemInfo4.ShowAddView = info4.Find("ShowValue").GetComponent<Transform>();
|
_itemInfo4.m_AddValue = info4.Find("ShowValue/InfoValue").GetComponent<Text>();
|
_itemInfo4.ShowAddView.SetActiveIL(false);
|
m_FosterInfo.Add(_itemInfo4);
|
|
Transform info5 = proxy.GetWidgtEx<Transform>("InfoItem5");
|
ItemInfo _itemInfo5 = new ItemInfo();
|
_itemInfo5.m_InfoTittle = info5.Find("InfoTitle").GetComponent<Text>();
|
_itemInfo5.m_InfoValue = info5.Find("InfoValue").GetComponent<Text>();
|
_itemInfo5.ShowAddView = info5.Find("ShowValue").GetComponent<Transform>();
|
_itemInfo5.m_AddValue = info5.Find("ShowValue/InfoValue").GetComponent<Text>();
|
_itemInfo5.ShowAddView.SetActiveIL(false);
|
m_FosterInfo.Add(_itemInfo5);
|
//喂养
|
Transform feed1 = proxy.GetWidgtEx<Transform>("Item1");
|
FeedUI feed1UI = new FeedUI();
|
feed1UI.itemCell = feed1.Find("ItemCell").GetComponent<ItemCell>();
|
feed1UI.feedBtn = feed1.Find("Button").GetComponent<Button>();
|
feed1UI.levelTxt = feed1.Find("LeveText").GetComponent<Text>();
|
feed1UI.nameTxt = feed1.Find("NameText").GetComponent<Text>();
|
feed1UI.progress = feed1.Find("Progress").GetComponent<IntensifySmoothSlider>();
|
feed1UI.progressTxt = feed1.Find("ProgressText").GetComponent<Text>();
|
m_FosterFeed.Add(feed1UI);
|
|
Transform feed2 = proxy.GetWidgtEx<Transform>("Item2");
|
FeedUI feed2UI = new FeedUI();
|
feed2UI.itemCell = feed2.Find("ItemCell").GetComponent<ItemCell>();
|
feed2UI.feedBtn = feed2.Find("Button").GetComponent<Button>();
|
feed2UI.levelTxt = feed2.Find("LeveText").GetComponent<Text>();
|
feed2UI.nameTxt = feed2.Find("NameText").GetComponent<Text>();
|
feed2UI.progress = feed2.Find("Progress").GetComponent<IntensifySmoothSlider>();
|
feed2UI.progressTxt = feed2.Find("ProgressText").GetComponent<Text>();
|
m_FosterFeed.Add(feed2UI);
|
|
Transform feed3 = proxy.GetWidgtEx<Transform>("Item3");
|
FeedUI feed3UI = new FeedUI();
|
feed3UI.itemCell = feed3.Find("ItemCell").GetComponent<ItemCell>();
|
feed3UI.feedBtn = feed3.Find("Button").GetComponent<Button>();
|
feed3UI.levelTxt = feed3.Find("LeveText").GetComponent<Text>();
|
feed3UI.nameTxt = feed3.Find("NameText").GetComponent<Text>();
|
feed3UI.progress = feed3.Find("Progress").GetComponent<IntensifySmoothSlider>();
|
feed3UI.progressTxt = feed3.Find("ProgressText").GetComponent<Text>();
|
m_FosterFeed.Add(feed3UI);
|
|
for(int i = 1;i <= 6;i++ )
|
{
|
TrainLV train = new TrainLV();
|
TrainDict.Add(i, train);
|
}
|
}
|
|
protected override void AddListeners()
|
{
|
//关闭
|
Button_Close.SetListener(() =>
|
{
|
WindowCenter.Instance.CloseIL<FosterWin>();
|
});
|
//喂养 培养丹
|
m_FosterFeed[0].feedBtn.SetListener(() =>
|
{
|
FeedBtn1();
|
});
|
m_FosterFeed[1].feedBtn.SetListener(() =>
|
{
|
FeedBtn2();
|
});
|
m_FosterFeed[2].feedBtn.SetListener(() =>
|
{
|
FeedBtn3();
|
});
|
|
}
|
|
protected override void OnPreOpen()
|
{
|
FosterModel.Instance.UpdateLingQiTrainEvent += UpdateLingQiTrain;
|
FosterModel.Instance.UpdatePetTrainEvent += UpdatePetTrain;
|
FosterModel.Instance.UpdateTrainHorseEvent += UpdateTrainHorse;
|
packModel.refreshItemCountEvent += RefreshCell;
|
Init();
|
SnxxzGame.Instance.StartCoroutine(WaitForShowNPC());
|
}
|
|
|
protected override void OnPreClose()
|
{
|
FosterModel.Instance.UpdateLingQiTrainEvent -= UpdateLingQiTrain;
|
FosterModel.Instance.UpdatePetTrainEvent -= UpdatePetTrain;
|
FosterModel.Instance.UpdateTrainHorseEvent -= UpdateTrainHorse;
|
packModel.refreshItemCountEvent -= RefreshCell;
|
UInit();
|
|
}
|
|
protected override void OnAfterOpen()
|
{
|
}
|
protected override void OnAfterClose()
|
{
|
if(FosterModel.Instance.bOpenParent)
|
{
|
SnxxzGame.Instance.StartCoroutine(WaitForOpenWindow());
|
}
|
|
}
|
protected override void OnActived()
|
{
|
|
}
|
IEnumerator WaitForOpenWindow()
|
{
|
yield return new WaitForSeconds(0.1f);
|
|
if (FosterModel.Instance.StateNow == 3)
|
{
|
SpiritEquipModel.Instance.CallUpdateShowWindow(2);
|
}
|
}
|
IEnumerator WaitForShowNPC()
|
{
|
yield return new WaitForSeconds(0.1f);
|
UpdateActive();
|
}
|
#endregion
|
void Init()
|
{
|
FeedBtnNum = -1;
|
bFirstOpen = true;
|
SetFosterInfoShow(false);
|
//显示坐骑培养信息 //1.坐骑
|
if (FosterModel.Instance.StateNow == 1)
|
{
|
m_txtFosterName.text = Language.Get("FosterTittle1");
|
|
for(int i = 0;i< 3;i++)
|
{
|
FosterModel.Instance.CurrentLevel[i] = 0;
|
FosterModel.Instance.BuyItemID[i] = GeneralDefine.HorseTrainIDList[i];
|
}
|
|
FosterModel.Instance.InitTrainHorseData();
|
ShowHorse();
|
for(int i = 0;i<3;i++ )
|
{
|
var m_ItemID = GeneralDefine.HorseTrainIDList[i];
|
var itemConfig = ItemConfig.Get(m_ItemID);
|
m_FosterFeed[i].nameTxt.text = itemConfig.ItemName;
|
m_FosterFeed[i].levelTxt.text = Language.Get("L1091", TrainDict[1].TrainLVList[i]);
|
int itemCount = packModel.GetItemCountByID(PackType.Item, m_ItemID);
|
m_FosterFeed[i].itemCell.Init(new ItemCellModel(m_ItemID,false, (ulong)itemCount));
|
m_FosterFeed[i].itemCell.countText.SetActiveIL(true);
|
m_FosterFeed[i].itemCell.countText.text = itemCount.ToString();
|
m_FosterFeed[i].m_ItemID = m_ItemID;
|
if (itemCount <= 0)
|
{
|
m_FosterFeed[i].itemCell.countText.color = UIHelper.GetUIColor(TextColType.Red, true);
|
}
|
else
|
{
|
m_FosterFeed[i].itemCell.countText.color = UIHelper.GetUIColor(TextColType.White, false);
|
}
|
|
m_FosterFeed[i].itemCell.button.RemoveAllListeners();
|
m_FosterFeed[i].itemCell.button.AddListener(() => ItemTipUtility.Show(m_ItemID));
|
}
|
}
|
//显示宠物培养信息 //2.灵宠
|
if (FosterModel.Instance.StateNow == 2)
|
{
|
m_txtFosterName.text = Language.Get("FosterTittle2");
|
for (int i = 0; i < 3; i++)
|
{
|
FosterModel.Instance.CurrentLevel[i] = 0;
|
FosterModel.Instance.BuyItemID[i] = GeneralDefine.PetTrainIDList[i];
|
}
|
|
for (int i = 0; i < 3; i++)
|
{
|
var m_ItemID = GeneralDefine.PetTrainIDList[i];
|
var itemConfig = ItemConfig.Get(m_ItemID);
|
m_FosterFeed[i].nameTxt.text = itemConfig.ItemName;
|
|
int itemCount = packModel.GetItemCountByID(PackType.Item, m_ItemID);
|
m_FosterFeed[i].itemCell.Init(new ItemCellModel(m_ItemID, false, (ulong)itemCount));
|
m_FosterFeed[i].itemCell.countText.SetActiveIL(true);
|
m_FosterFeed[i].itemCell.countText.text = itemCount.ToString();
|
m_FosterFeed[i].m_ItemID = m_ItemID;
|
if (itemCount <= 0)
|
{
|
m_FosterFeed[i].itemCell.countText.color = UIHelper.GetUIColor(TextColType.Red, true);
|
}
|
else
|
{
|
m_FosterFeed[i].itemCell.countText.color = UIHelper.GetUIColor(TextColType.White, false);
|
}
|
m_FosterFeed[i].itemCell.button.RemoveAllListeners();
|
m_FosterFeed[i].itemCell.button.AddListener(() => ItemTipUtility.Show(m_ItemID));
|
}
|
FosterModel.Instance.InitPetTrainData();
|
int PetID = petmodel.FosterPetID;
|
ShowPet(PetID);
|
}
|
//显示灵器培养信息 3.守护 4.翅膀 5.灭世 6.噬神
|
if (FosterModel.Instance.StateNow == 3)
|
{
|
//EquipID = (int)SpiritEquipModel.Instance.curEquType;
|
//if (EquipID == 0)
|
EquipID = FosterModel.Instance.curEquipID;
|
FosterModel.Instance.StateNow = 3;
|
m_txtFosterName.text = Language.Get("FosterTittle3");
|
switch (EquipID)
|
{
|
case 14:
|
m_txtFosterName.text = Language.Get("FosterTittle3");
|
break;
|
case 13:
|
m_txtFosterName.text = Language.Get("FosterTittle4");
|
break;
|
case 16:
|
m_txtFosterName.text = Language.Get("FosterTittle5");
|
break;
|
case 17:
|
m_txtFosterName.text = Language.Get("FosterTittle6");
|
break;
|
}
|
|
for (int i = 0; i < 3; i++)
|
{
|
FosterModel.Instance.CurrentLevel[i] = 0;
|
var m_ItemID = GeneralDefine.LingQiTrainIDList[EquipID][i];
|
FosterModel.Instance.BuyItemID[i] = m_ItemID;
|
|
var itemConfig = ItemConfig.Get(m_ItemID);
|
m_FosterFeed[i].nameTxt.text = itemConfig.ItemName;
|
|
int itemCount = packModel.GetItemCountByID(PackType.Item, m_ItemID);
|
m_FosterFeed[i].itemCell.Init(new ItemCellModel(m_ItemID, false, (ulong)itemCount));
|
m_FosterFeed[i].itemCell.countText.SetActiveIL(true);
|
m_FosterFeed[i].itemCell.countText.text = itemCount.ToString();
|
m_FosterFeed[i].m_ItemID = m_ItemID;
|
if (itemCount <= 0)
|
{
|
m_FosterFeed[i].itemCell.countText.color = UIHelper.GetUIColor(TextColType.Red, true);
|
}
|
else
|
{
|
m_FosterFeed[i].itemCell.countText.color = UIHelper.GetUIColor(TextColType.White, false);
|
}
|
m_FosterFeed[i].itemCell.button.RemoveAllListeners();
|
m_FosterFeed[i].itemCell.button.AddListener(() => ItemTipUtility.Show(m_ItemID));
|
}
|
FosterModel.Instance.InitLingQiTrainData();
|
ShowLingQi();
|
}
|
}
|
void UInit()
|
{
|
//显示坐骑培养信息 //1.坐骑
|
if (FosterModel.Instance.StateNow == 1)
|
{
|
mountModel.CallMountAlteration();
|
}
|
//显示宠物培养信息 //2.灵宠
|
if (FosterModel.Instance.StateNow == 2)
|
{
|
int PetID = 0;
|
if (petmodel.curPetId == 0)
|
{
|
PetID = petmodel.FosterPetID;
|
}
|
else
|
{
|
PetID = petmodel.curPetId;
|
}
|
ShowPet(PetID);
|
}
|
//显示灵器培养信息 3.守护 4.翅膀 5.灭世 6.噬神
|
if (SpiritEquipModel.Instance.IsEquipBreachOpen)
|
{
|
EquipID = FosterModel.Instance.curEquipID;
|
FosterModel.Instance.StateNow = 3;
|
|
for (int i = 0; i < 3; i++)
|
{
|
FosterModel.Instance.CurrentLevel[i] = 0;
|
var m_ItemID = GeneralDefine.LingQiTrainIDList[EquipID][i];
|
FosterModel.Instance.BuyItemID[i] = m_ItemID;
|
|
var itemConfig = ItemConfig.Get(m_ItemID);
|
m_FosterFeed[i].nameTxt.text = itemConfig.ItemName;
|
|
m_FosterFeed[i].itemCell.Init(new ItemCellModel(m_ItemID));
|
m_FosterFeed[i].itemCell.button.RemoveAllListeners();
|
m_FosterFeed[i].itemCell.button.AddListener(() => ItemTipUtility.Show(m_ItemID));
|
}
|
FosterModel.Instance.InitLingQiTrainData();
|
ShowLingQi();
|
}
|
}
|
void UpdateActive()
|
{
|
//显示坐骑培养信息 //1.坐骑
|
if (FosterModel.Instance.StateNow == 1)
|
{
|
m_txtFosterName.text = Language.Get("FosterTittle1");
|
FosterModel.Instance.StateNow = 1;
|
for (int i = 0; i < 3; i++)
|
{
|
FosterModel.Instance.CurrentLevel[i] = 0;
|
FosterModel.Instance.BuyItemID[i] = GeneralDefine.HorseTrainIDList[i];
|
}
|
|
FosterModel.Instance.InitTrainHorseData();
|
ShowHorse();
|
for (int i = 0; i < 3; i++)
|
{
|
var m_ItemID = GeneralDefine.HorseTrainIDList[i];
|
var itemConfig = ItemConfig.Get(m_ItemID);
|
m_FosterFeed[i].nameTxt.text = itemConfig.ItemName;
|
m_FosterFeed[i].levelTxt.text = Language.Get("L1091", TrainDict[1].TrainLVList[i]);
|
int itemCount = packModel.GetItemCountByID(PackType.Item, m_ItemID);
|
m_FosterFeed[i].itemCell.Init(new ItemCellModel(m_ItemID, false, (ulong)itemCount));
|
m_FosterFeed[i].itemCell.countText.SetActiveIL(true);
|
m_FosterFeed[i].itemCell.countText.text = itemCount.ToString();
|
if (itemCount <= 0)
|
{
|
m_FosterFeed[i].itemCell.countText.color = UIHelper.GetUIColor(TextColType.Red, true);
|
}
|
else
|
{
|
m_FosterFeed[i].itemCell.countText.color = UIHelper.GetUIColor(TextColType.White, false);
|
}
|
m_FosterFeed[i].itemCell.button.RemoveAllListeners();
|
m_FosterFeed[i].itemCell.button.AddListener(() => ItemTipUtility.Show(m_ItemID));
|
}
|
}
|
//显示宠物培养信息 //2.灵宠
|
if (FosterModel.Instance.StateNow == 2)
|
{
|
FosterModel.Instance.StateNow = 2;
|
m_txtFosterName.text = Language.Get("FosterTittle2");
|
for (int i = 0; i < 3; i++)
|
{
|
FosterModel.Instance.CurrentLevel[i] = 0;
|
FosterModel.Instance.BuyItemID[i] = GeneralDefine.PetTrainIDList[i];
|
}
|
|
for (int i = 0; i < 3; i++)
|
{
|
var m_ItemID = GeneralDefine.PetTrainIDList[i];
|
var itemConfig = ItemConfig.Get(m_ItemID);
|
m_FosterFeed[i].nameTxt.text = itemConfig.ItemName;
|
|
int itemCount = packModel.GetItemCountByID(PackType.Item, m_ItemID);
|
m_FosterFeed[i].itemCell.Init(new ItemCellModel(m_ItemID, false, (ulong)itemCount));
|
m_FosterFeed[i].itemCell.countText.SetActiveIL(true);
|
m_FosterFeed[i].itemCell.countText.text = itemCount.ToString();
|
if (itemCount <= 0)
|
{
|
m_FosterFeed[i].itemCell.countText.color = UIHelper.GetUIColor(TextColType.Red, true);
|
}
|
else
|
{
|
m_FosterFeed[i].itemCell.countText.color = UIHelper.GetUIColor(TextColType.White, false);
|
}
|
m_FosterFeed[i].itemCell.button.RemoveAllListeners();
|
m_FosterFeed[i].itemCell.button.AddListener(() => ItemTipUtility.Show(m_ItemID));
|
}
|
FosterModel.Instance.InitPetTrainData();
|
int PetID = petmodel.FosterPetID;
|
ShowPet(PetID);
|
}
|
//显示灵器培养信息 3.守护 4.翅膀 5.灭世 6.噬神
|
if (FosterModel.Instance.StateNow == 3)
|
{
|
EquipID = FosterModel.Instance.curEquipID;
|
FosterModel.Instance.StateNow = 3;
|
m_txtFosterName.text = Language.Get("FosterTittle3");
|
switch (EquipID)
|
{
|
case 14:
|
m_txtFosterName.text = Language.Get("FosterTittle3");
|
break;
|
case 13:
|
m_txtFosterName.text = Language.Get("FosterTittle4");
|
break;
|
case 16:
|
m_txtFosterName.text = Language.Get("FosterTittle5");
|
break;
|
case 17:
|
m_txtFosterName.text = Language.Get("FosterTittle6");
|
break;
|
}
|
EquipID = FosterModel.Instance.curEquipID;
|
for (int i = 0; i < 3; i++)
|
{
|
FosterModel.Instance.CurrentLevel[i] = 0;
|
var m_ItemID = GeneralDefine.LingQiTrainIDList[EquipID][i];
|
FosterModel.Instance.BuyItemID[i] = m_ItemID;
|
|
var itemConfig = ItemConfig.Get(m_ItemID);
|
m_FosterFeed[i].nameTxt.text = itemConfig.ItemName;
|
|
int itemCount = packModel.GetItemCountByID(PackType.Item, m_ItemID);
|
m_FosterFeed[i].itemCell.Init(new ItemCellModel(m_ItemID, false, (ulong)itemCount));
|
m_FosterFeed[i].itemCell.countText.SetActiveIL(true);
|
m_FosterFeed[i].itemCell.countText.text = itemCount.ToString();
|
if (itemCount <= 0)
|
{
|
m_FosterFeed[i].itemCell.countText.color = UIHelper.GetUIColor(TextColType.Red, true);
|
}
|
else
|
{
|
m_FosterFeed[i].itemCell.countText.color = UIHelper.GetUIColor(TextColType.White, false);
|
}
|
|
m_FosterFeed[i].itemCell.button.RemoveAllListeners();
|
m_FosterFeed[i].itemCell.button.AddListener(() => ItemTipUtility.Show(m_ItemID));
|
}
|
FosterModel.Instance.InitLingQiTrainData();
|
ShowLingQi();
|
}
|
}
|
void RefreshCell(PackType type, int index, int id)
|
{
|
for(int i=0;i < FosterModel.Instance.BuyItemID.Length;i++)
|
{
|
int m_ItemID = FosterModel.Instance.BuyItemID[i];
|
if (id == m_ItemID)
|
{
|
int itemCount = packModel.GetItemCountByID(PackType.Item, m_ItemID);
|
m_FosterFeed[i].itemCell.Init(new ItemCellModel(m_ItemID, false, (ulong)itemCount));
|
m_FosterFeed[i].itemCell.countText.SetActiveIL(true);
|
m_FosterFeed[i].itemCell.countText.text = itemCount.ToString();
|
if (itemCount <= 0)
|
{
|
m_FosterFeed[i].itemCell.countText.color = UIHelper.GetUIColor(TextColType.Red, true);
|
}
|
else
|
{
|
m_FosterFeed[i].itemCell.countText.color = UIHelper.GetUIColor(TextColType.White, false);
|
}
|
}
|
}
|
}
|
void FeedBtn1()
|
{
|
FeedBtnNum = 0;
|
int realLV = 0;
|
int maxLevel = GetMaxLevel(1);
|
|
if (FosterModel.Instance.CurrentLevel[0] == maxLevel)
|
return;
|
|
if (FosterModel.Instance.StateNow == 1)
|
{
|
ILHorseTrainConfig TrainConfig = FosterModel.Instance.GeHorseTrainConfig(1, FosterModel.Instance.CurrentLevel[0]);
|
realLV = TrainConfig.NeedRealmLV;
|
}
|
else if(FosterModel.Instance.StateNow == 2)
|
{
|
ILPetTrainConfig TrainConfig = FosterModel.Instance.GePetTrainConfig(1, FosterModel.Instance.CurrentLevel[0]);
|
realLV = TrainConfig.NeedRealmLV;
|
}
|
else
|
{
|
ILLingQiTrainConfig TrainConfig = FosterModel.Instance.GeLingQiTrainConfig(EquipID, 1, FosterModel.Instance.CurrentLevel[0]);
|
realLV = TrainConfig.NeedRealmLV;
|
}
|
|
if(PlayerDatas.Instance.baseData.realmLevel < realLV)
|
{
|
RealmConfig presentCfg = RealmConfig.Get(realLV);
|
SysNotifyMgr.Instance.ShowTip("FosterFeedLVFail", presentCfg.Name);
|
return;
|
}
|
|
int remainItemCount = packModel.GetItemCountByID(PackType.Item, FosterModel.Instance.BuyItemID[0]);
|
int count = m_FosterFeed[0].m_countMax - m_FosterFeed[0].m_countLeft;
|
if(remainItemCount < m_FosterFeed[0].m_unit)
|
{
|
ShowBuyWin();
|
return;
|
}
|
|
if (FosterModel.Instance.StateNow == 1)
|
{
|
LimitedTimeLuxuryGiftModel.Instance.IsItemIdShow(24, FosterModel.Instance.BuyItemID[0], count, 1, 0);
|
}
|
else if (FosterModel.Instance.StateNow == 2)
|
{
|
LimitedTimeLuxuryGiftModel.Instance.IsItemIdShow(25, FosterModel.Instance.BuyItemID[0], count, 1, 0);
|
}
|
else if (FosterModel.Instance.StateNow == 3 && FosterModel.Instance.curEquipID == 14)
|
{
|
LimitedTimeLuxuryGiftModel.Instance.IsItemIdShow(16, FosterModel.Instance.BuyItemID[0], count, 1, 0);
|
}
|
else if (FosterModel.Instance.StateNow == 3 && FosterModel.Instance.curEquipID == 13)
|
{
|
LimitedTimeLuxuryGiftModel.Instance.IsItemIdShow(17, FosterModel.Instance.BuyItemID[0], count, 1, 0);
|
}
|
else if (FosterModel.Instance.StateNow == 3 && FosterModel.Instance.curEquipID == 16)
|
{
|
LimitedTimeLuxuryGiftModel.Instance.IsItemIdShow(18, FosterModel.Instance.BuyItemID[0], count, 1, 0);
|
}
|
else if (FosterModel.Instance.StateNow == 3 && FosterModel.Instance.curEquipID == 17)
|
{
|
LimitedTimeLuxuryGiftModel.Instance.IsItemIdShow(19, FosterModel.Instance.BuyItemID[0], count, 1, 0);
|
}
|
|
if (remainItemCount < count)
|
{
|
count = (remainItemCount / m_FosterFeed[0].m_unit) * m_FosterFeed[0].m_unit;
|
}
|
|
count = Math.Min(count, 65000);
|
if (FosterModel.Instance.StateNow == 1)
|
{
|
FosterModel.Instance.SendHorseTrain(1, (ushort)count);
|
}
|
else if (FosterModel.Instance.StateNow == 2)
|
{
|
FosterModel.Instance.SendPetTrain(1, (ushort)count);
|
}
|
else
|
{
|
FosterModel.Instance.SendLingQiTrain((byte)EquipID,1, (ushort)count);
|
}
|
IsChangeBool = true;
|
}
|
void FeedBtn2()
|
{
|
FeedBtnNum = 1;
|
int realLV = 0;
|
int maxLevel = GetMaxLevel(2);
|
if (FosterModel.Instance.CurrentLevel[1] == maxLevel)
|
return;
|
if (FosterModel.Instance.StateNow == 1)
|
{
|
ILHorseTrainConfig TrainConfig = FosterModel.Instance.GeHorseTrainConfig(2, FosterModel.Instance.CurrentLevel[1]);
|
realLV = TrainConfig.NeedRealmLV;
|
}
|
else if (FosterModel.Instance.StateNow == 2)
|
{
|
ILPetTrainConfig TrainConfig = FosterModel.Instance.GePetTrainConfig(2, FosterModel.Instance.CurrentLevel[1]);
|
realLV = TrainConfig.NeedRealmLV;
|
}
|
else
|
{
|
ILLingQiTrainConfig TrainConfig = FosterModel.Instance.GeLingQiTrainConfig(EquipID, 2, FosterModel.Instance.CurrentLevel[1]);
|
realLV = TrainConfig.NeedRealmLV;
|
}
|
|
if (PlayerDatas.Instance.baseData.realmLevel < realLV)
|
{
|
RealmConfig presentCfg = RealmConfig.Get(realLV);
|
SysNotifyMgr.Instance.ShowTip("FosterFeedLVFail", presentCfg.Name);
|
return;
|
}
|
int remainItemCount = packModel.GetItemCountByID(PackType.Item, FosterModel.Instance.BuyItemID[1]);
|
int count = m_FosterFeed[1].m_countMax - m_FosterFeed[1].m_countLeft;
|
if (remainItemCount < m_FosterFeed[1].m_unit)
|
{
|
//SysNotifyMgr.Instance.ShowTip("FosterFeedFail");
|
ItemTipUtility.Show(m_FosterFeed[1].m_ItemID);
|
return;
|
}
|
if (FosterModel.Instance.StateNow == 1)
|
{
|
LimitedTimeLuxuryGiftModel.Instance.IsItemIdShow(24, FosterModel.Instance.BuyItemID[1], count, 1, 0);
|
}
|
else if (FosterModel.Instance.StateNow == 2)
|
{
|
LimitedTimeLuxuryGiftModel.Instance.IsItemIdShow(25, FosterModel.Instance.BuyItemID[1], count, 1, 0);
|
}
|
else if (FosterModel.Instance.StateNow == 3 && FosterModel.Instance.curEquipID == 14)
|
{
|
LimitedTimeLuxuryGiftModel.Instance.IsItemIdShow(16, FosterModel.Instance.BuyItemID[1], count, 1, 0);
|
}
|
else if (FosterModel.Instance.StateNow == 3 && FosterModel.Instance.curEquipID == 13)
|
{
|
LimitedTimeLuxuryGiftModel.Instance.IsItemIdShow(17, FosterModel.Instance.BuyItemID[1], count, 1, 0);
|
}
|
else if (FosterModel.Instance.StateNow == 3 && FosterModel.Instance.curEquipID == 16)
|
{
|
LimitedTimeLuxuryGiftModel.Instance.IsItemIdShow(18, FosterModel.Instance.BuyItemID[1], count, 1, 0);
|
}
|
else if (FosterModel.Instance.StateNow == 3 && FosterModel.Instance.curEquipID == 17)
|
{
|
LimitedTimeLuxuryGiftModel.Instance.IsItemIdShow(19, FosterModel.Instance.BuyItemID[1], count, 1, 0);
|
}
|
if (remainItemCount < count)
|
{
|
count = (remainItemCount / m_FosterFeed[1].m_unit) * m_FosterFeed[1].m_unit;
|
}
|
|
count = Math.Min(count, 65000);
|
if (FosterModel.Instance.StateNow == 1)
|
{
|
FosterModel.Instance.SendHorseTrain(2, (ushort)count);
|
}
|
else if (FosterModel.Instance.StateNow == 2)
|
{
|
FosterModel.Instance.SendPetTrain(2, (ushort)count);
|
}
|
else
|
{
|
FosterModel.Instance.SendLingQiTrain((byte)EquipID, 2, (ushort)count);
|
}
|
IsChangeBool = true;
|
}
|
void FeedBtn3()
|
{
|
FeedBtnNum = 2;
|
int realLV = 0;
|
int maxLevel = GetMaxLevel(3);
|
if (FosterModel.Instance.CurrentLevel[2] == maxLevel)
|
return;
|
if (FosterModel.Instance.StateNow == 1)
|
{
|
ILHorseTrainConfig TrainConfig = FosterModel.Instance.GeHorseTrainConfig(3, FosterModel.Instance.CurrentLevel[2]);
|
realLV = TrainConfig.NeedRealmLV;
|
}
|
else if (FosterModel.Instance.StateNow == 2)
|
{
|
ILPetTrainConfig TrainConfig = FosterModel.Instance.GePetTrainConfig(3, FosterModel.Instance.CurrentLevel[2]);
|
realLV = TrainConfig.NeedRealmLV;
|
}
|
else
|
{
|
ILLingQiTrainConfig TrainConfig = FosterModel.Instance.GeLingQiTrainConfig(EquipID, 3, FosterModel.Instance.CurrentLevel[2]);
|
realLV = TrainConfig.NeedRealmLV;
|
}
|
|
if (PlayerDatas.Instance.baseData.realmLevel < realLV)
|
{
|
RealmConfig presentCfg = RealmConfig.Get(realLV);
|
SysNotifyMgr.Instance.ShowTip("FosterFeedLVFail", presentCfg.Name);
|
return;
|
}
|
int remainItemCount = packModel.GetItemCountByID(PackType.Item, FosterModel.Instance.BuyItemID[2]);
|
int count = m_FosterFeed[2].m_countMax - m_FosterFeed[2].m_countLeft;
|
if (count < 0)
|
{
|
//上次培养成功但是没有升级的情况,导致溢出
|
count = 1;
|
}
|
if (remainItemCount < m_FosterFeed[2].m_unit)
|
{
|
//SysNotifyMgr.Instance.ShowTip("FosterFeedFail");
|
ItemTipUtility.Show(m_FosterFeed[2].m_ItemID);
|
return;
|
}
|
if (FosterModel.Instance.StateNow == 1)
|
{
|
LimitedTimeLuxuryGiftModel.Instance.IsItemIdShow(24, FosterModel.Instance.BuyItemID[2], count, 1, 0);
|
}
|
else if (FosterModel.Instance.StateNow == 2)
|
{
|
LimitedTimeLuxuryGiftModel.Instance.IsItemIdShow(25, FosterModel.Instance.BuyItemID[2], count, 1, 0);
|
}
|
else if (FosterModel.Instance.StateNow == 3 && FosterModel.Instance.curEquipID == 14)
|
{
|
LimitedTimeLuxuryGiftModel.Instance.IsItemIdShow(16, FosterModel.Instance.BuyItemID[2], count, 1, 0);
|
}
|
else if (FosterModel.Instance.StateNow == 3 && FosterModel.Instance.curEquipID == 13)
|
{
|
LimitedTimeLuxuryGiftModel.Instance.IsItemIdShow(17, FosterModel.Instance.BuyItemID[2], count, 1, 0);
|
}
|
else if (FosterModel.Instance.StateNow == 3 && FosterModel.Instance.curEquipID == 16)
|
{
|
LimitedTimeLuxuryGiftModel.Instance.IsItemIdShow(18, FosterModel.Instance.BuyItemID[2], count, 1, 0);
|
}
|
else if (FosterModel.Instance.StateNow == 3 && FosterModel.Instance.curEquipID == 17)
|
{
|
LimitedTimeLuxuryGiftModel.Instance.IsItemIdShow(19, FosterModel.Instance.BuyItemID[2], count, 1, 0);
|
}
|
if (remainItemCount < count)
|
{
|
count = (remainItemCount / m_FosterFeed[2].m_unit) * m_FosterFeed[2].m_unit;
|
}
|
|
count = Math.Min(count, 65000);
|
if (FosterModel.Instance.StateNow == 1)
|
{
|
FosterModel.Instance.SendHorseTrain(3, (ushort)count);
|
}
|
else if (FosterModel.Instance.StateNow == 2)
|
{
|
FosterModel.Instance.SendPetTrain(3, (ushort)count);
|
}
|
else
|
{
|
FosterModel.Instance.SendLingQiTrain((byte)EquipID, 3, (ushort)count);
|
}
|
IsChangeBool = true;
|
}
|
int GetMaxLevel(int type)
|
{
|
switch (FosterModel.Instance.StateNow)
|
{
|
case 1:
|
return ILHorseTrainConfig.GetConfigCountByType(type);
|
case 2:
|
return ILPetTrainConfig.GetConfigCountByType(type);
|
case 3:
|
return ILLingQiTrainConfig.GetConfigCountByType(EquipID, type);
|
}
|
return 0;
|
}
|
//更新UI
|
void UpdateCountValue()
|
{
|
for(int i = 0;i< m_FosterFeed.Count;i++)
|
{
|
int m_Unit = 0;
|
int m_CountMax = 0;
|
int m_Left = 0;
|
GetConfigValue(i+1,out m_Unit, out m_Left,out m_CountMax);
|
m_FosterFeed[i].m_unit = m_Unit;
|
m_FosterFeed[i].m_countLeft = m_Left;
|
m_FosterFeed[i].m_countMax = m_CountMax;
|
m_FosterFeed[i].progressTxt.text = StringUtility.Contact(m_Left.ToString(), "/", m_CountMax.ToString());
|
m_FosterFeed[i].progressTxt.color = Color.white;
|
m_FosterFeed[i].progress.stage =(int)FosterModel.Instance.CurrentLevel[i];
|
if (IsChangeBool)
|
{
|
m_FosterFeed[i].progress.delay = 0.2f;
|
}
|
else
|
{
|
m_FosterFeed[i].progress.delay = 0f;
|
}
|
|
m_FosterFeed[i].progress.value = (float)m_Left / (float)m_CountMax;
|
m_FosterFeed[i].levelTxt.text = Language.Get("L1091", FosterModel.Instance.CurrentLevel[i]);
|
|
int maxLevel = GetMaxLevel(i + 1);
|
if(FosterModel.Instance.CurrentLevel[i] == maxLevel)
|
{
|
m_FosterFeed[i].progress.SetActive(false);
|
m_FosterFeed[i].progressTxt.text = Language.Get("FosterMaxLV");
|
m_FosterFeed[i].progressTxt.color = m_FosterFeed[i].levelTxt.color;
|
m_FosterFeed[i].levelTxt.text = Language.Get("L1091", FosterModel.Instance.CurrentLevel[i] - 1);
|
}
|
}
|
IsChangeBool = false;
|
}
|
|
//type 1,2,3
|
void GetConfigValue(int type ,out int mUnit,out int mLeft,out int mMax)
|
{
|
if (FosterModel.Instance.StateNow == 1)
|
{
|
ILHorseTrainConfig TrainConfig = FosterModel.Instance.GeHorseTrainConfig(type, FosterModel.Instance.CurrentLevel[type - 1]);
|
mUnit = TrainConfig.EatCntEverytime;
|
mMax = TrainConfig.EatCntTotal;
|
mLeft = (int)FosterModel.Instance.CurrentHave[type - 1];
|
}
|
else if (FosterModel.Instance.StateNow == 2)
|
{
|
ILPetTrainConfig TrainConfig = FosterModel.Instance.GePetTrainConfig(type, FosterModel.Instance.CurrentLevel[type - 1]);
|
mUnit = TrainConfig.EatCntEverytime;
|
mLeft = (int)FosterModel.Instance.CurrentHave[type - 1];
|
mMax = TrainConfig.EatCntTotal;
|
}
|
else
|
{
|
ILLingQiTrainConfig TrainConfig = FosterModel.Instance.GeLingQiTrainConfig(EquipID,type, FosterModel.Instance.CurrentLevel[type - 1]);
|
mUnit = TrainConfig.EatCntEverytime;
|
mLeft = (int)FosterModel.Instance.CurrentHave[type - 1];
|
mMax = TrainConfig.EatCntTotal;
|
}
|
}
|
void ShowBuyWin()
|
{
|
var config = StoreConfig.GetStoreCfgByItemIDEx(FosterModel.Instance.BuyItemID[0], 1);
|
if (UIHelper.GetMoneyCnt(config.MoneyType) >= (ulong)(config.MoneyNumber * m_FosterFeed[0].m_unit))
|
{
|
WindowCenter.Instance.OpenIL<FosterBuyWin>();
|
}
|
else
|
{
|
WindowCenter.Instance.Open<RechargeTipWin>();
|
}
|
}
|
|
//坐骑培养信息
|
void UpdateTrainHorse(HA301_tagTrainHorseData vNetData)
|
{
|
int[] attrID;
|
bool ShowRankWin = false;
|
int att1 = 0;//攻击
|
int att2 = 0;//生命
|
int att3 = 0;//防御
|
int att4 = 0;//坐骑生命
|
int att5 = 0;//坐骑培养属性
|
uint level;
|
|
TrainDict[1].TrainLVList = new List<uint>(vNetData.TrainLVList);
|
TrainDict[1].TrainItemCountList = new List<uint>(vNetData.TrainItemCountList);
|
|
uint a1 = FosterModel.Instance.CurrentLevel[0];
|
uint b1 = TrainDict[1].TrainLVList[0];
|
if ((FosterModel.Instance.CurrentLevel[1] !=0 && FosterModel.Instance.CurrentLevel[1] != TrainDict[1].TrainLVList[1] )|| (FosterModel.Instance.CurrentLevel[2] != 0 && FosterModel.Instance.CurrentLevel[2] != TrainDict[1].TrainLVList[2]))
|
ShowRankWin = true;
|
if (FosterModel.Instance.CurrentLevel[0] != 0 && FosterModel.Instance.CurrentLevel[0] != TrainDict[1].TrainLVList[0])
|
{
|
m_UIeffectLVUp.Stop();
|
m_UIeffectLVUp.Play();
|
}
|
FosterModel.Instance.AllLevel[1] = TrainDict[1].TrainLVList;
|
FosterModel.Instance.CurrentLevel = TrainDict[1].TrainLVList.ToArray();
|
FosterModel.Instance.CurrentHave = TrainDict[1].TrainItemCountList.ToArray();
|
|
UpdateCountValue();
|
//获取累计值
|
for (int i = 1; i <= 3; i++)
|
{
|
if (TrainDict[1].TrainLVList[i - 1] > 1)
|
{
|
level = TrainDict[1].TrainLVList[i - 1];
|
FosterModel.Instance.GetSumHorseValue(i, level, out attrID);
|
att1 += attrID[0];
|
att2 += attrID[1];
|
att3 += attrID[2];
|
if (i == 2)
|
att5 += attrID[3];
|
if (i == 3)
|
att4 += attrID[3];
|
}
|
}
|
//获得当前等级值
|
for (int i = 1;i<=3;i++)
|
{
|
if(TrainDict[1].TrainItemCountList[i-1] > 0)
|
{
|
level = TrainDict[1].TrainLVList[i - 1] ;
|
FosterModel.Instance.GetCurrentHorseValue(i, level, (int)TrainDict[1].TrainItemCountList[i - 1], out attrID);
|
att1 += attrID[0];
|
att2 += attrID[1];
|
att3 += attrID[2];
|
}
|
}
|
|
//攻 击
|
level = TrainDict[1].TrainLVList[0] ;
|
FosterModel.Instance.GeHorseUpItemAttrID(1, level, out attrID);
|
m_FosterInfo[0].m_InfoTittle.text = StringUtility.Contact(PlayerPropertyConfig.Get(attrID[0]).ShowName,":");
|
m_FosterInfo[0].m_InfoValue.text = att1.ToString();
|
|
//生 命
|
m_FosterInfo[1].m_InfoTittle.text = StringUtility.Contact(PlayerPropertyConfig.Get(attrID[1]).ShowName, ":");
|
m_FosterInfo[1].m_InfoValue.text = att2.ToString();
|
|
//防 御
|
m_FosterInfo[2].m_InfoTittle.text = StringUtility.Contact(PlayerPropertyConfig.Get(attrID[2]).ShowName, ":");
|
m_FosterInfo[2].m_InfoValue.text = att3.ToString();
|
|
|
//
|
level = TrainDict[1].TrainLVList[2];
|
FosterModel.Instance.GeHorseLVAttrID(3, level, out attrID);
|
m_FosterInfo[3].m_InfoTittle.text = StringUtility.Contact(PlayerPropertyConfig.Get(attrID[0]).ShowName, ":");
|
m_FosterInfo[3].m_InfoValue.text = PlayerPropertyConfig.GetValueDescription(attrID[0], att4);
|
|
//坐骑培养属性
|
level = TrainDict[1].TrainLVList[1];
|
FosterModel.Instance.GeHorseLVAttrID(2, level, out attrID);
|
m_FosterInfo[4].m_InfoTittle.text = StringUtility.Contact(PlayerPropertyConfig.Get(attrID[0]).ShowName, ":");
|
m_FosterInfo[4].m_InfoValue.text = PlayerPropertyConfig.GetValueDescription(attrID[0], att5);
|
if (att5 > 0)
|
{
|
float x = (float)att5 / 10000;
|
long a = (long)(att1 * x);
|
m_FosterInfo[0].m_InfoValue.text += UIHelper.AppendColor(TextColType.Green,"+"+ a.ToString() + " (" + m_FosterInfo[4].m_InfoValue.text + ")");
|
long b = (long)(att2 * x);
|
m_FosterInfo[1].m_InfoValue.text += UIHelper.AppendColor(TextColType.Green, "+" + b.ToString() + " (" + m_FosterInfo[4].m_InfoValue.text + ")");
|
long c = (long)(att3 * x);
|
m_FosterInfo[2].m_InfoValue.text += UIHelper.AppendColor(TextColType.Green, "+" + c.ToString() + " (" + m_FosterInfo[4].m_InfoValue.text + ")");
|
}
|
if (bFirstOpen)
|
{
|
m_FosterInfo[0].m_OldValue = att1;
|
m_FosterInfo[1].m_OldValue = att2;
|
m_FosterInfo[2].m_OldValue = att3;
|
m_FosterInfo[3].m_OldValue = att4;
|
m_FosterInfo[4].m_OldValue = att5;
|
SetFosterInfoShow(false);
|
}
|
else
|
{
|
int value1 = att1 - m_FosterInfo[0].m_OldValue;
|
int value2 = att2 - m_FosterInfo[1].m_OldValue;
|
int value3 = att3 - m_FosterInfo[2].m_OldValue;
|
int value4 = att4 - m_FosterInfo[3].m_OldValue;
|
int value5 = att5 - m_FosterInfo[4].m_OldValue;
|
|
m_FosterInfo[0].m_AddValue.text = value1.ToString();
|
m_FosterInfo[1].m_AddValue.text = value2.ToString();
|
m_FosterInfo[2].m_AddValue.text = value3.ToString();
|
m_FosterInfo[3].m_AddValue.text = StringUtility.Contact((value4 / 100).ToString(), "%");
|
m_FosterInfo[4].m_AddValue.text = StringUtility.Contact((value5 / 100).ToString(), "%");
|
if (value1 != 0)
|
SetFosterInfoShow(true);
|
if (value4 == 0)
|
m_FosterInfo[3].ShowAddView.SetActiveIL(false);
|
if (value5 == 0)
|
m_FosterInfo[4].ShowAddView.SetActiveIL(false);
|
|
SnxxzGame.Instance.StopAllCoroutines();
|
SnxxzGame.Instance.StartCoroutine(ShowEffectWindow());
|
|
m_FosterInfo[0].m_OldValue = att1;
|
m_FosterInfo[1].m_OldValue = att2;
|
m_FosterInfo[2].m_OldValue = att3;
|
m_FosterInfo[3].m_OldValue = att4;
|
m_FosterInfo[4].m_OldValue = att5;
|
}
|
bFirstOpen = false;
|
if (ShowRankWin)
|
SnxxzGame.Instance.StartCoroutine(ShowWindow());
|
|
if(FeedBtnNum != -1)
|
{
|
mountModel.ForsterHorseRed(FosterModel.Instance.BuyItemID[FeedBtnNum]);
|
}
|
}
|
void SetFosterInfoShow(bool _view)
|
{
|
for(int i = 0; i < m_FosterInfo.Count;i++)
|
{
|
m_FosterInfo[i].ShowAddView.SetActiveIL(_view);
|
}
|
}
|
IEnumerator ShowEffectWindow()
|
{
|
yield return new WaitForSeconds(3f);
|
SetFosterInfoShow(false );
|
}
|
IEnumerator ShowWindow()
|
{
|
yield return new WaitForSeconds(0.2f);
|
WindowCenter.Instance.OpenIL<FosterRankSuccessWin>();
|
}
|
//宠物培养信息
|
void UpdatePetTrain(IL_HA817_tagMCPetTrainInfo vNetData)
|
{
|
int[] attrID;
|
bool ShowRankWin = false;
|
int att1 = 0;//攻击
|
int att2 = 0;//生命
|
int att3 = 0;//防御
|
int att4 = 0;//坐骑生命
|
int att5 = 0;//坐骑培养属性
|
uint level;
|
|
TrainDict[1].TrainLVList = new List<uint>(vNetData.TrainLVList);
|
TrainDict[1].TrainItemCountList = new List<uint>(vNetData.TrainItemCountList);
|
|
if ((FosterModel.Instance.CurrentLevel[1] != 0 && FosterModel.Instance.CurrentLevel[1] != TrainDict[1].TrainLVList[1]) || (FosterModel.Instance.CurrentLevel[2] != 0 && FosterModel.Instance.CurrentLevel[2] != TrainDict[1].TrainLVList[2]))
|
ShowRankWin = true;
|
if (FosterModel.Instance.CurrentLevel[0] != 0 && FosterModel.Instance.CurrentLevel[0] != TrainDict[1].TrainLVList[0])
|
{
|
if (!m_UIeffectLVUp.IsPlaying)
|
{
|
m_UIeffectLVUp.Play();
|
}
|
}
|
FosterModel.Instance.AllLevel[2] = TrainDict[1].TrainLVList;
|
FosterModel.Instance.CurrentLevel = TrainDict[1].TrainLVList.ToArray();
|
FosterModel.Instance.CurrentHave = TrainDict[1].TrainItemCountList.ToArray();
|
|
UpdateCountValue();
|
//获取累计值
|
for (int i = 1; i <= 3; i++)
|
{
|
if (TrainDict[1].TrainLVList[i - 1] > 1)
|
{
|
level = TrainDict[1].TrainLVList[i - 1];
|
FosterModel.Instance.GetSumPetValue(i, level, out attrID);
|
att1 += attrID[0];
|
att2 += attrID[1];
|
att3 += attrID[2];
|
if (i == 2)
|
att5 += attrID[3];
|
if (i == 3)
|
att4 += attrID[3];
|
}
|
}
|
//获得当前等级值
|
for (int i = 1; i <= 3; i++)
|
{
|
if (TrainDict[1].TrainItemCountList[i - 1] > 0)
|
{
|
level = TrainDict[1].TrainLVList[i - 1];
|
FosterModel.Instance.GetCurrentPetValue(i, level, (int)TrainDict[1].TrainItemCountList[i - 1], out attrID);
|
att1 += attrID[0];
|
att2 += attrID[1];
|
att3 += attrID[2];
|
}
|
}
|
|
//攻 击
|
level = TrainDict[1].TrainLVList[0];
|
FosterModel.Instance.GePetUpItemAttrID(1, level, out attrID);
|
m_FosterInfo[0].m_InfoTittle.text = StringUtility.Contact(PlayerPropertyConfig.Get(attrID[0]).ShowName, ":");
|
m_FosterInfo[0].m_InfoValue.text = att1.ToString();
|
|
|
//生 命
|
m_FosterInfo[1].m_InfoTittle.text = StringUtility.Contact(PlayerPropertyConfig.Get(attrID[1]).ShowName, ":");
|
m_FosterInfo[1].m_InfoValue.text = att2.ToString();
|
|
|
//防 御
|
m_FosterInfo[2].m_InfoTittle.text = StringUtility.Contact(PlayerPropertyConfig.Get(attrID[2]).ShowName, ":");
|
m_FosterInfo[2].m_InfoValue.text = att3.ToString();
|
|
//
|
level = TrainDict[1].TrainLVList[2];
|
FosterModel.Instance.GePetLVAttrID(3, level, out attrID);
|
m_FosterInfo[3].m_InfoValue.text = StringUtility.Contact(PlayerPropertyConfig.Get(attrID[0]).ShowName, ":");
|
m_FosterInfo[3].m_InfoValue.text = PlayerPropertyConfig.GetValueDescription(attrID[0], att4);
|
|
//坐骑培养属性
|
level = TrainDict[1].TrainLVList[1];
|
FosterModel.Instance.GePetLVAttrID(2, level, out attrID);
|
m_FosterInfo[4].m_InfoTittle.text = StringUtility.Contact(PlayerPropertyConfig.Get(attrID[0]).ShowName, ":");
|
m_FosterInfo[4].m_InfoValue.text = PlayerPropertyConfig.GetValueDescription(attrID[0], att5);
|
if(att5 > 0)
|
{
|
float x = (float)att5 / 10000;
|
long a = (long)(att1 * x);
|
m_FosterInfo[0].m_InfoValue.text += "+<color=#35E122>" + a.ToString() + " (" + m_FosterInfo[4].m_InfoValue.text + ")</color>";
|
long b = (long)(att2 * x);
|
m_FosterInfo[1].m_InfoValue.text += "+<color=#35E122>" + b.ToString() + " (" + m_FosterInfo[4].m_InfoValue.text + ")</color>";
|
long c = (long)(att3 * x);
|
m_FosterInfo[2].m_InfoValue.text += "+<color=#35E122>" + c.ToString() + " (" + m_FosterInfo[4].m_InfoValue.text + ")</color>";
|
}
|
if (bFirstOpen)
|
{
|
m_FosterInfo[0].m_OldValue = att1;
|
m_FosterInfo[1].m_OldValue = att2;
|
m_FosterInfo[2].m_OldValue = att3;
|
m_FosterInfo[3].m_OldValue = att4;
|
m_FosterInfo[4].m_OldValue = att5;
|
SetFosterInfoShow(false);
|
}
|
else
|
{
|
int value1 = att1 - m_FosterInfo[0].m_OldValue;
|
int value2 = att2 - m_FosterInfo[1].m_OldValue;
|
int value3 = att3 - m_FosterInfo[2].m_OldValue;
|
int value4 = att4 - m_FosterInfo[3].m_OldValue;
|
int value5 = att5 - m_FosterInfo[4].m_OldValue;
|
|
m_FosterInfo[0].m_AddValue.text = value1.ToString();
|
m_FosterInfo[1].m_AddValue.text = value2.ToString();
|
m_FosterInfo[2].m_AddValue.text = value3.ToString();
|
m_FosterInfo[3].m_AddValue.text = StringUtility.Contact((value4 / 100).ToString(), "%");
|
m_FosterInfo[4].m_AddValue.text = StringUtility.Contact((value5 / 100).ToString(), "%");
|
if (value1 != 0)
|
SetFosterInfoShow(true);
|
if (value4 == 0)
|
m_FosterInfo[3].ShowAddView.SetActiveIL(false);
|
if (value5 == 0)
|
m_FosterInfo[4].ShowAddView.SetActiveIL(false);
|
|
SnxxzGame.Instance.StopAllCoroutines();
|
SnxxzGame.Instance.StartCoroutine(ShowEffectWindow());
|
|
m_FosterInfo[0].m_OldValue = att1;
|
m_FosterInfo[1].m_OldValue = att2;
|
m_FosterInfo[2].m_OldValue = att3;
|
m_FosterInfo[3].m_OldValue = att4;
|
m_FosterInfo[4].m_OldValue = att5;
|
}
|
bFirstOpen = false;
|
if (ShowRankWin)
|
SnxxzGame.Instance.StartCoroutine(ShowWindow());
|
|
if(FeedBtnNum != -1)
|
{
|
petmodel.ForsterPetRed(FosterModel.Instance.BuyItemID[FeedBtnNum]);
|
}
|
}
|
//灵器培养信息
|
void UpdateLingQiTrain(IL_HA818_tagMCLingQiTrainInfo vNetData)
|
{
|
int[] attrID;
|
bool ShowRankWin = false;
|
int att1 = 0;//攻击
|
int att2 = 0;//生命
|
int att3 = 0;//防御
|
int att4 = 0;//坐骑生命
|
int att5 = 0;//坐骑培养属性
|
uint level;
|
|
TrainDict[1].TrainLVList = new List<uint>(vNetData.TrainLVList);
|
TrainDict[1].TrainItemCountList = new List<uint>(vNetData.TrainItemCountList);
|
|
if ((FosterModel.Instance.CurrentLevel[1] != 0 && FosterModel.Instance.CurrentLevel[1] != TrainDict[1].TrainLVList[1]) || (FosterModel.Instance.CurrentLevel[2] != 0 && FosterModel.Instance.CurrentLevel[2] != TrainDict[1].TrainLVList[2]))
|
ShowRankWin = true;
|
if (FosterModel.Instance.CurrentLevel[0] != 0 && FosterModel.Instance.CurrentLevel[0] != TrainDict[1].TrainLVList[0])
|
{
|
if (!m_UIeffectLVUp.IsPlaying)
|
{
|
m_UIeffectLVUp.Play();
|
}
|
}
|
FosterModel.Instance.AllLevel[vNetData.EquipPlace] = TrainDict[1].TrainLVList;
|
FosterModel.Instance.CurrentLevel = TrainDict[1].TrainLVList.ToArray();
|
FosterModel.Instance.CurrentHave = TrainDict[1].TrainItemCountList.ToArray();
|
|
UpdateCountValue();
|
|
//获取累计值
|
for (int i = 1; i <= 3; i++)
|
{
|
if (TrainDict[1].TrainLVList[i - 1] > 1)
|
{
|
level = TrainDict[1].TrainLVList[i - 1];
|
FosterModel.Instance.GetSumLingQiValue(EquipID,i, level, out attrID);
|
att1 += attrID[0];
|
att2 += attrID[1];
|
att3 += attrID[2];
|
if (i == 2)
|
att5 += attrID[3];
|
if (i == 3)
|
att4 += attrID[3];
|
}
|
}
|
//获得当前等级值
|
for (int i = 1; i <= 3; i++)
|
{
|
if (TrainDict[1].TrainItemCountList[i - 1] > 0)
|
{
|
level = TrainDict[1].TrainLVList[i - 1];
|
FosterModel.Instance.GetCurrentLingQiValue(EquipID,i, level, (int)TrainDict[1].TrainItemCountList[i - 1], out attrID);
|
att1 += attrID[0];
|
att2 += attrID[1];
|
att3 += attrID[2];
|
}
|
}
|
|
//攻 击
|
level = TrainDict[1].TrainLVList[0];
|
FosterModel.Instance.GeLingQiUpItemAttrID(EquipID,1, level, out attrID);
|
m_FosterInfo[0].m_InfoTittle.text = StringUtility.Contact(PlayerPropertyConfig.Get(attrID[0]).ShowName, ":");
|
m_FosterInfo[0].m_InfoValue.text = att1.ToString();
|
|
|
//生 命
|
m_FosterInfo[1].m_InfoTittle.text = StringUtility.Contact(PlayerPropertyConfig.Get(attrID[1]).ShowName, ":");
|
m_FosterInfo[1].m_InfoValue.text = att2.ToString();
|
|
//防 御
|
m_FosterInfo[2].m_InfoTittle.text = StringUtility.Contact(PlayerPropertyConfig.Get(attrID[2]).ShowName, ":");
|
m_FosterInfo[2].m_InfoValue.text = att3.ToString();
|
|
//
|
level = TrainDict[1].TrainLVList[2];
|
FosterModel.Instance.GeLingQiLVAttrID(EquipID,3, level, out attrID);
|
m_FosterInfo[3].m_InfoTittle.text = StringUtility.Contact(PlayerPropertyConfig.Get(attrID[0]).ShowName, ":");
|
m_FosterInfo[3].m_InfoValue.text = PlayerPropertyConfig.GetValueDescription(attrID[0], att4);
|
|
//坐骑培养属性
|
level = TrainDict[1].TrainLVList[1];
|
FosterModel.Instance.GeLingQiLVAttrID(EquipID,2, level, out attrID);
|
m_FosterInfo[4].m_InfoTittle.text = StringUtility.Contact(PlayerPropertyConfig.Get(attrID[0]).ShowName, ":");
|
m_FosterInfo[4].m_InfoValue.text = PlayerPropertyConfig.GetValueDescription(attrID[0], att5);
|
if (att5 > 0)
|
{
|
float x = (float)att5 / 10000;
|
long a = (long)(att1 * x);
|
m_FosterInfo[0].m_InfoValue.text += "+<color=#35E122>" + a.ToString() + " (" + m_FosterInfo[4].m_InfoValue.text + ")</color>";
|
long b = (long)(att2 * x);
|
m_FosterInfo[1].m_InfoValue.text += "+<color=#35E122>" + b.ToString() + " (" + m_FosterInfo[4].m_InfoValue.text + ")</color>";
|
long c = (long)(att3 * x);
|
m_FosterInfo[2].m_InfoValue.text += "+<color=#35E122>" + c.ToString() + " (" + m_FosterInfo[4].m_InfoValue.text + ")</color>";
|
}
|
|
if (bFirstOpen)
|
{
|
m_FosterInfo[0].m_OldValue = att1;
|
m_FosterInfo[1].m_OldValue = att2;
|
m_FosterInfo[2].m_OldValue = att3;
|
m_FosterInfo[3].m_OldValue = att4;
|
m_FosterInfo[4].m_OldValue = att5;
|
SetFosterInfoShow(false);
|
}
|
else
|
{
|
int value1 = att1 - m_FosterInfo[0].m_OldValue;
|
int value2 = att2 - m_FosterInfo[1].m_OldValue;
|
int value3 = att3 - m_FosterInfo[2].m_OldValue;
|
int value4 = att4 - m_FosterInfo[3].m_OldValue;
|
int value5 = att5 - m_FosterInfo[4].m_OldValue;
|
|
m_FosterInfo[0].m_AddValue.text = value1.ToString();
|
m_FosterInfo[1].m_AddValue.text = value2.ToString();
|
m_FosterInfo[2].m_AddValue.text = value3.ToString();
|
m_FosterInfo[3].m_AddValue.text = StringUtility.Contact((value4 / 100).ToString(),"%");
|
m_FosterInfo[4].m_AddValue.text = StringUtility.Contact((value5 / 100).ToString(), "%");
|
|
if (value1 != 0)
|
SetFosterInfoShow(true);
|
if (value4 == 0)
|
m_FosterInfo[3].ShowAddView.SetActiveIL(false);
|
if (value5 == 0)
|
m_FosterInfo[4].ShowAddView.SetActiveIL(false);
|
|
SnxxzGame.Instance.StopAllCoroutines();
|
SnxxzGame.Instance.StartCoroutine(ShowEffectWindow());
|
|
m_FosterInfo[0].m_OldValue = att1;
|
m_FosterInfo[1].m_OldValue = att2;
|
m_FosterInfo[2].m_OldValue = att3;
|
m_FosterInfo[3].m_OldValue = att4;
|
m_FosterInfo[4].m_OldValue = att5;
|
}
|
bFirstOpen = false;
|
if (ShowRankWin)
|
SnxxzGame.Instance.StartCoroutine(ShowWindow());
|
|
if(FeedBtnNum != -1)
|
SpiritEquipModel.Instance.UpdateRedPoint();
|
}
|
// 幻化模型替换当前阶模型,坐骑3D
|
private void ShowHorse()
|
{
|
int m_ShowHorseLV = mountModel.HorseLV;
|
var horseInfo = HorseLVUpConfig.Get(m_ShowHorseLV);
|
|
if (!RawImage3D.gameObject.activeSelf)
|
{
|
RawImage3D.SetActiveIL(true);
|
}
|
|
int model3D = horseInfo.HorseID;
|
if (mountModel.HorseLV == m_ShowHorseLV && !mountModel.RankHorseIDList.Contains(mountModel.HorseIDNow))
|
{
|
//当前阶有幻化情况下替换幻化模型
|
model3D = mountModel.HorseIDNow;
|
}
|
|
HorseConfig _model = HorseConfig.Get(model3D);
|
UI3DModelExhibition.Instance.ShowHourse(_model.Model, RawImage3D);
|
if (UI3DModelExhibition.Instance.NpcModelHorse != null)
|
{
|
var animator = UI3DModelExhibition.Instance.NpcModelHorse.GetComponent<Animator>();
|
if (animator != null)
|
{
|
animator.Play(GAStaticDefine.State_Dance);
|
}
|
}
|
}
|
//灵宠3D
|
void ShowPet(int PetID)
|
{
|
RawImage3D.SetActiveIL(true);
|
var npcConfig = NPCConfig.Get(PetID);
|
UI3DModelExhibition.Instance.ShowNPC(PetID, npcConfig.UIModeLOffset, npcConfig.UIModelRotation, RawImage3D);
|
if (UI3DModelExhibition.Instance.NpcModelPet != null)
|
{
|
var animator = UI3DModelExhibition.Instance.NpcModelPet.GetComponent<Animator>();
|
if (animator != null)
|
{
|
animator.Play(GAStaticDefine.State_Dance);
|
}
|
}
|
}
|
void ShowLingQi()
|
{
|
EquipID = FosterModel.Instance.curEquipID;
|
var place = new Int2(0, (int)EquipID);
|
var index = EquipSet.ClientPlaceToServerPlace(place);
|
var itemModel = this.packModel.GetItemByIndex(PackType.Equip, index);
|
|
RawImage3D.SetActiveIL(true);
|
var config = SpiritWeaponConfig.Get(itemModel.itemId);
|
var nowId = itemModel.itemId;
|
|
//展示模型
|
if (EquipID ==(int)RoleEquipType.Wing)
|
{
|
UI3DModelExhibition.Instance.ShowWing(config.NPCID, RawImage3D);
|
}
|
else if (EquipID == (int)RoleEquipType.Guard)
|
{
|
UI3DModelExhibition.Instance.ShowNPC(config.NPCID, Vector3.zero, RawImage3D, false, false);
|
}
|
else
|
{
|
UI3DModelExhibition.Instance.ShowEquipment(ItemConfig.Get(nowId).ChangeOrd, config.Rotation, config.scale, RawImage3D);
|
}
|
|
}
|
public class ItemInfo
|
{
|
public Text m_InfoTittle;
|
public Text m_InfoValue;
|
public Transform ShowAddView;
|
public Text m_AddValue;
|
public int m_OldValue;
|
}
|
public class FeedUI
|
{
|
public ItemCell itemCell;
|
public Text levelTxt;
|
public Text nameTxt;
|
public IntensifySmoothSlider progress;
|
public Text progressTxt;
|
public Button feedBtn;
|
public int m_unit;
|
public int m_countMax;
|
public int m_countLeft;
|
public int m_ItemID;
|
}
|
public class TrainLV
|
{
|
public List<uint> TrainLVList;
|
public List<uint> TrainItemCountList;
|
}
|
}
|