//--------------------------------------------------------
|
// [Author]: 第二世界
|
// [ Date ]: Thursday, September 07, 2017
|
//--------------------------------------------------------
|
using UnityEngine;
|
using System.Collections;
|
using UnityEngine.UI;
|
using System;
|
//底层按钮面板控制
|
namespace vnxbqy.UI
|
{
|
|
public class LowSettingTip : MonoBehaviour
|
{
|
[SerializeField] Button _Role1Btn;//角色按钮
|
[SerializeField] Button _SkillBtn;//技能按钮
|
[SerializeField] Button _Pet1Btn;//宠物按钮
|
[SerializeField] Button _Synthesis1Btn;//合成按钮
|
|
[SerializeField] Button _Rune1Btn;//符印按钮
|
[SerializeField] Button _SetUp1Btn;//设置按钮
|
[SerializeField] Button _Jingjie1Btn;//境界按钮
|
[SerializeField] UIEffect realmUIEffect;//境界特效
|
|
[SerializeField] Button _RankingListBtn;//排行榜按钮
|
[SerializeField] Button _Strengthen1Btn;//强化按钮
|
[SerializeField] Button _Asuram1Btn;//仙盟按钮
|
[SerializeField] Button m_BagualuBtn;//八卦炉
|
|
[SerializeField] Button m_TreasureSoulBtn;//觉醒按钮
|
[SerializeField] Button m_GodBeastBtn;//神兽按钮
|
[SerializeField] Button m_JadeDynastyBtn;//情缘
|
[SerializeField] Button m_SpiritEquBtn;//灵器按钮
|
[SerializeField] Button m_FaQiBtn;//法器按钮
|
[SerializeField] Button m_Achievement;//成就按钮
|
[SerializeField] UIEffect m_AchievementEffect;
|
[SerializeField] Button m_GatherSoul;//聚魂按钮
|
[SerializeField] Button m_FD;//福地按钮
|
|
TreasureModel treasureModel { get { return ModelCenter.Instance.GetModel<TreasureModel>(); } }
|
ComposeWinModel composeModel { get { return ModelCenter.Instance.GetModel<ComposeWinModel>(); } }
|
RealmModel realmModel { get { return ModelCenter.Instance.GetModel<RealmModel>(); } }
|
|
public void Init()
|
{
|
_Role1Btn.onClick.AddListener(Role1Button);
|
_SkillBtn.onClick.AddListener(SkillButton);
|
_Strengthen1Btn.onClick.AddListener(Strengthen1Button);
|
_Asuram1Btn.onClick.AddListener(Asuram1Button);
|
_Synthesis1Btn.onClick.AddListener(Synthesis1Button);
|
_Rune1Btn.onClick.AddListener(Rune1Button);
|
_Pet1Btn.onClick.AddListener(Pet1Button);
|
_SetUp1Btn.onClick.AddListener(SetUp1Btn);
|
_RankingListBtn.onClick.AddListener(RankingListButton);
|
m_BagualuBtn.AddListener(OnClickBagualuBtn);
|
m_TreasureSoulBtn.AddListener(OpenTreasure);
|
m_GodBeastBtn.AddListener(GodBeastBtn);
|
m_JadeDynastyBtn.AddListener(OpenEquip);
|
m_SpiritEquBtn.AddListener(OnSpiritEquBtnDown);
|
_Jingjie1Btn.onClick.AddListener(Jingjie1Button);
|
m_FaQiBtn.AddListener(OpenFaqi);
|
m_Achievement.AddListener(OpenAchievement);
|
m_GatherSoul.AddListener(OpenGatherSoul);
|
m_FD.AddListener(OpenFD);
|
RedpointCenter.Instance.redpointValueChangeEvent += RedpointValueChangeEvent;
|
RedpointValueChangeEvent(11401);
|
RedpointValueChangeEvent(11403);
|
RedpointValueChangeEvent(MainRedPoint.achievementRedpoint);
|
}
|
|
public void UnInit()
|
{
|
_Role1Btn.onClick.RemoveAllListeners();
|
_SkillBtn.onClick.RemoveAllListeners();
|
_Strengthen1Btn.onClick.RemoveAllListeners();
|
_Asuram1Btn.onClick.RemoveAllListeners();
|
_Synthesis1Btn.onClick.RemoveAllListeners();
|
_Rune1Btn.onClick.RemoveAllListeners();
|
_Pet1Btn.onClick.RemoveAllListeners();
|
_SetUp1Btn.onClick.RemoveAllListeners();
|
_RankingListBtn.onClick.RemoveAllListeners();
|
m_BagualuBtn.RemoveAllListeners();
|
m_GodBeastBtn.RemoveAllListeners();
|
m_JadeDynastyBtn.RemoveAllListeners();
|
_Jingjie1Btn.onClick.RemoveAllListeners();
|
RedpointCenter.Instance.redpointValueChangeEvent -= RedpointValueChangeEvent;
|
}
|
|
|
private void RedpointValueChangeEvent(int id)
|
{
|
if (id == 11401 || id == 11403)
|
{
|
if (RedpointCenter.Instance.GetRedpointState(11401) != RedPointState.None ||
|
(RedpointCenter.Instance.GetRedpointState(11403) != RedPointState.None && realmModel.CheckAllMissionCanFinish()))
|
{
|
realmUIEffect.Play();
|
}
|
else
|
{
|
realmUIEffect.Stop();
|
}
|
}
|
else if (id == MainRedPoint.achievementRedpoint)
|
{
|
if (RedpointCenter.Instance.GetRedpointState(MainRedPoint.achievementRedpoint) != RedPointState.None)
|
{
|
m_AchievementEffect.Play();
|
}
|
else
|
{
|
m_AchievementEffect.Stop();
|
}
|
}
|
}
|
|
void OnSpiritEquBtnDown()
|
{
|
MainPositionTween.SetRecoverToSkillTimer();
|
WindowCenter.Instance.Open("SpiritEquipWin");
|
}
|
|
|
void Role1Button()
|
{
|
MainPositionTween.SetRecoverToSkillTimer();
|
ModelCenter.Instance.GetModel<RoleModel>().OpenRolePanel();
|
}
|
|
void OnClickBagualuBtn()
|
{
|
MainPositionTween.SetRecoverToSkillTimer();
|
WindowCenter.Instance.Open<AlchemyBaseWin>();
|
}
|
|
void SkillButton()
|
{
|
MainPositionTween.SetRecoverToSkillTimer();
|
|
var skillModel = ModelCenter.Instance.GetModel<SkillModel>();
|
var treasureSkillModel = ModelCenter.Instance.GetModel<TreasureSkillModel>();
|
var talentModel = ModelCenter.Instance.GetModel<TalentModel>();
|
|
if (treasureSkillModel.redpoint.state == RedPointState.Simple)
|
{
|
WindowCenter.Instance.Open<SkillWin>();
|
}
|
else if (skillModel.redpoint.state == RedPointState.Simple)
|
{
|
WindowCenter.Instance.Open<SkillWin>(false, 1);
|
}
|
//else if (skillModel.passSkillRedpoint.state == RedPointState.Simple)
|
//{
|
// WindowCenter.Instance.Open<SkillWin>(false, 2);
|
//}
|
else if (talentModel.talentRedpoint.state == RedPointState.Simple)
|
{
|
WindowCenter.Instance.Open<SkillWin>(false, 3);
|
}
|
else
|
{
|
var funcInfos = WindowConfig.GetWindowFunctionInfos("SkillWin");
|
for (int i = 0; i < funcInfos.Count; i++)
|
{
|
if (funcInfos[i].functionId == 0
|
|| FuncOpen.Instance.IsFuncOpen(funcInfos[i].functionId))
|
{
|
WindowCenter.Instance.Open<SkillWin>(false, funcInfos[i].order);
|
return;
|
}
|
}
|
}
|
|
}
|
|
void OpenTreasure()
|
{
|
MainPositionTween.SetRecoverToSkillTimer();
|
|
if (!treasureModel.SatisfyEntranceOpen())
|
{
|
treasureModel.DisplayEntranceLimitHint();
|
return;
|
}
|
|
if (treasureModel.IsRequireUnlockAnim(TreasureCategory.Human) != 0)
|
{
|
treasureModel.currentCategory = TreasureCategory.Human;
|
}
|
//else if (treasureModel.IsRequireUnlockAnim(TreasureCategory.Demon) != 0)
|
//{
|
// treasureModel.currentCategory = TreasureCategory.Demon;
|
//}
|
else if (RedpointCenter.Instance.GetRedpointState(TreasureModel.CATEGORY_REDPOINTIDS[(int)TreasureCategory.Human - 1])
|
== RedPointState.Simple)
|
{
|
treasureModel.currentCategory = TreasureCategory.Human;
|
}
|
//else if (RedpointCenter.Instance.GetRedpointState(TreasureModel.CATEGORY_REDPOINTIDS[(int)TreasureCategory.Demon - 1])
|
// == RedPointState.Simple)
|
//{
|
// treasureModel.currentCategory = TreasureCategory.Demon;
|
//}
|
WindowCenter.Instance.Close<MainInterfaceWin>();
|
WindowCenter.Instance.Open<TreasureSelectWin>(true);
|
}
|
|
private void GodBeastBtn()
|
{
|
MainPositionTween.SetRecoverToSkillTimer();
|
WindowCenter.Instance.Open<DogzWin>();
|
}
|
|
void Strengthen1Button()
|
{
|
MainPositionTween.SetRecoverToSkillTimer();
|
WindowCenter.Instance.Open<EquipFrameWin>(false, EquipFrameWin.GetRedpointFunction());
|
}
|
|
|
void OpenEquip()
|
{
|
MainPositionTween.SetRecoverToSkillTimer();
|
WindowCenter.Instance.Open("WeddingWin");
|
}
|
|
void Asuram1Button()
|
{
|
MainPositionTween.SetRecoverToSkillTimer();
|
ModelCenter.Instance.GetModel<FairyModel>().GotoFairyWin();
|
}
|
|
void Synthesis1Button()
|
{
|
MainPositionTween.SetRecoverToSkillTimer();
|
var windows = WindowConfig.GetWindowFunctionInfos("ComposeWin");
|
foreach (var windowInfo in windows)
|
{
|
if (RedpointCenter.Instance.GetRedpointState(windowInfo.redPointId) == RedPointState.Simple
|
&& (windowInfo.functionId == 0 || FuncOpen.Instance.IsFuncOpen(windowInfo.functionId)))
|
{
|
WindowCenter.Instance.Open<ComposeWin>(false, windowInfo.order);
|
break;
|
}
|
}
|
WindowCenter.Instance.Open<ComposeWin>(false, (int)ComposeFuncType.Item);
|
}
|
|
void Rune1Button()
|
{
|
MainPositionTween.SetRecoverToSkillTimer();
|
WindowCenter.Instance.Open<RunePanel>();
|
}
|
|
void Jingjie1Button()
|
{
|
WindowCenter.Instance.Open<RealmWin>();
|
}
|
|
void Pet1Button()
|
{
|
MainPositionTween.SetRecoverToSkillTimer();
|
WindowCenter.Instance.Open<PetWin>();
|
}
|
|
void SetUp1Btn()
|
{
|
MainPositionTween.SetRecoverToSkillTimer();
|
WindowCenter.Instance.Open<SettingUpWin>();
|
}
|
|
void RankingListButton()//排行榜
|
{
|
MainPositionTween.SetRecoverToSkillTimer();
|
WindowCenter.Instance.Open<RankFrameWin>();
|
}
|
|
void OpenFaqi()
|
{
|
MainPositionTween.SetRecoverToSkillTimer();
|
WindowCenter.Instance.Open("FaQiWin");
|
}
|
|
void OpenAchievement()
|
{
|
MainPositionTween.SetRecoverToSkillTimer();
|
WindowCenter.Instance.Open("NewAchievementActivityWin");
|
}
|
|
void OpenGatherSoul()
|
{
|
MainPositionTween.SetRecoverToSkillTimer();
|
WindowCenter.Instance.Open<GatherSoulBaseWin>();
|
}
|
void OpenFD()
|
{
|
MainPositionTween.SetRecoverToSkillTimer();
|
WindowCenter.Instance.Open<BlessedLandWin>();
|
}
|
}
|
|
}
|
|
|
|