//--------------------------------------------------------
|
// [Author]: 第二世界
|
// [ Date ]: Monday, December 10, 2018
|
//--------------------------------------------------------
|
using UnityEngine;
|
using System.Collections;
|
using UnityEngine.UI;
|
|
namespace vnxbqy.UI
|
{
|
|
public class EntryInformationCell : MonoBehaviour
|
{
|
[SerializeField] ItemCell m_ItemCell;
|
[SerializeField] Text m_Text1;
|
[SerializeField] Text m_Text2;
|
[SerializeField] Button m_Btn;
|
[SerializeField] Text m_BtnText;
|
[SerializeField] GameObject m_Miss;//错过
|
[SerializeField] GameObject m_Reach;//未达成
|
[SerializeField] GameObject m_Draw;//已领取
|
LoginRewardModel m_LoginRewardModel;
|
LoginRewardModel loginRewardModel { get { return m_LoginRewardModel ?? (m_LoginRewardModel = ModelCenter.Instance.GetModel<LoginRewardModel>()); } }
|
|
public void GetDisplayInformation(int id)
|
{
|
var config = LoginRewardConfig.Get(id);
|
if (config == null)
|
{
|
DebugEx.LogError("登录奖励表没有此ID" + id);
|
return;
|
}
|
if (!loginRewardModel.LoginAwardDic.ContainsKey(id))
|
{
|
DebugEx.LogError("登录条目字典查无次ID" + id);
|
return;
|
}
|
m_Text1.text = config.Description;
|
var LoginAward = loginRewardModel.LoginAwardDic[id];
|
int rewardNum = loginRewardModel.GetRewardNumber(loginRewardModel.SelectedNow, id);//已领奖次数
|
int carryOutNum = loginRewardModel.GetCarryOutNum(loginRewardModel.SelectedNow, id);//已完成次数
|
int number = LoginAward.TotalTimes / LoginAward.SingleTimes;
|
var RemainingNum = 0;
|
if (LoginAward.TotalTimes - rewardNum > 0)
|
{
|
RemainingNum = (LoginAward.TotalTimes - rewardNum) / LoginAward.SingleTimes;
|
}
|
if (rewardNum != 0 && rewardNum >= number)
|
{
|
m_Text2.text = Language.Get("OSA_4");
|
}
|
else
|
{
|
m_Text2.text = SetText(id);
|
}
|
var weekPartyItemClass = loginRewardModel.GetLoginrewardItemList(loginRewardModel.SelectedNow, LoginAward.ItemJson);
|
if (weekPartyItemClass.Length >= 0)
|
{
|
var Item = weekPartyItemClass[0];
|
ItemCellModel cellModel = new ItemCellModel(Item.ItemID, true, (ulong)Item.ItemCnt);
|
m_ItemCell.Init(cellModel);
|
m_ItemCell.button.SetListener(() =>
|
{
|
ItemTipUtility.Show(Item.ItemID);
|
});
|
}
|
bool IsOpenPreviewTime = OperationTimeHepler.Instance.SatisfyAdvanceCondition(Operation.LoginReward);
|
if (loginRewardModel.SelectedNow != loginRewardModel.DayNow || IsOpenPreviewTime)
|
{
|
if (loginRewardModel.SelectedNow > loginRewardModel.DayNow || IsOpenPreviewTime)//还未到达的天数
|
{
|
m_Btn.SetActive(false);
|
m_Miss.SetActive(false);
|
m_Reach.SetActive(false);
|
m_Draw.SetActive(false);
|
}
|
else//已过的天数
|
{
|
int TaypeNumber = 0;
|
if (carryOutNum - rewardNum > 0)
|
{
|
TaypeNumber = (carryOutNum - rewardNum) / LoginAward.SingleTimes;
|
}
|
if (TaypeNumber > 0)//可领
|
{
|
m_Btn.SetActive(true);
|
UIEffect uieffect = m_Btn.GetComponent<UIEffect>();
|
uieffect.Play();
|
m_BtnText.text = Language.Get("RealmPractice109");//领取
|
m_Miss.SetActive(false);
|
m_Reach.SetActive(false);
|
m_Draw.SetActive(false);
|
m_Btn.SetListener(() =>
|
{
|
bool _bool = loginRewardModel.IsOpenFeatures();
|
if (_bool)
|
{
|
loginRewardModel.SendLoginAwardInfo(loginRewardModel.SelectedNow, id);
|
}
|
else
|
{
|
SysNotifyMgr.Instance.ShowTip("SevenDayOver2");
|
}
|
});
|
}
|
else
|
{
|
if (rewardNum !=0&& rewardNum >= number)//已经领完
|
{
|
m_Btn.SetActive(false);
|
m_Miss.SetActive(false);
|
m_Reach.SetActive(false);
|
m_Draw.SetActive(true);
|
}
|
else//未到达
|
{
|
m_Btn.SetActive(false);
|
m_Miss.SetActive(false);
|
m_Reach.SetActive(true);
|
m_Draw.SetActive(false);
|
}
|
}
|
}
|
}
|
else
|
{
|
int TaypeNumber = 0;
|
if (carryOutNum - rewardNum > 0)
|
{
|
TaypeNumber = (carryOutNum - rewardNum) / LoginAward.SingleTimes;
|
}
|
if (TaypeNumber > 0)//可领
|
{
|
m_Btn.SetActive(true);
|
UIEffect uieffect = m_Btn.GetComponent<UIEffect>();
|
uieffect.Play();
|
m_BtnText.text = Language.Get("RealmPractice109");//领取
|
m_Miss.SetActive(false);
|
m_Reach.SetActive(false);
|
m_Draw.SetActive(false);
|
m_Btn.SetListener(() =>
|
{
|
bool _bool = loginRewardModel.IsOpenFeatures();
|
if (_bool)
|
{
|
loginRewardModel.SendLoginAwardInfo(loginRewardModel.SelectedNow, id);
|
}
|
else
|
{
|
SysNotifyMgr.Instance.ShowTip("SevenDayOver2");
|
}
|
});
|
}
|
else
|
{
|
if (rewardNum >= LoginAward.TotalTimes)//已经领完
|
{
|
m_Btn.SetActive(false);
|
m_Miss.SetActive(false);
|
m_Reach.SetActive(false);
|
m_Draw.SetActive(true);
|
}
|
else//未到达(前往)
|
{
|
m_Btn.SetActive(true);
|
m_BtnText.text = Language.Get("RealmPractice108");//前往
|
UIEffect uieffect = m_Btn.GetComponent<UIEffect>();
|
uieffect.Stop();
|
m_Miss.SetActive(false);
|
m_Reach.SetActive(false);
|
m_Draw.SetActive(false);
|
m_Btn.SetListener(() =>
|
{
|
WindowJumpMgr.Instance.WindowJumpTo((JumpUIType)config.jump);
|
});
|
}
|
}
|
}
|
}
|
string SetText(int ID)
|
{
|
string str = string.Empty;
|
var loginAward = loginRewardModel.LoginAwardDic[ID];
|
int rewardNum = loginRewardModel.GetRewardNumber(loginRewardModel.SelectedNow, ID);//已领奖次数
|
int carryOutNum = loginRewardModel.GetCarryOutNum(loginRewardModel.SelectedNow, ID);//已完成次数
|
var config = LoginRewardConfig.Get(ID);
|
if (config != null && config.SpecialDisplayType == 1)
|
{
|
|
if (carryOutNum > 0)
|
{
|
str = "1/1";
|
}
|
else
|
{
|
str = "0/1";
|
}
|
return str;
|
}
|
int TaypeNumber = 0;
|
if (carryOutNum - rewardNum > 0)
|
{
|
TaypeNumber = (carryOutNum - rewardNum) / loginAward.SingleTimes;
|
}
|
if (TaypeNumber > 0)
|
{
|
str = loginAward.SingleTimes + "/" + loginAward.SingleTimes;
|
return str;
|
}
|
else
|
{
|
int type = carryOutNum % loginAward.SingleTimes;
|
str = type + "/" + loginAward.SingleTimes;
|
}
|
return str;
|
}
|
}
|
|
}
|
|
|
|