From eed44c4e855611e2ca9bcb94c040b4eaa6266939 Mon Sep 17 00:00:00 2001
From: client_Zxw <826696702@qq.com>
Date: 星期二, 04 九月 2018 17:32:46 +0800
Subject: [PATCH] 3240 前端 主界面任务显示和自动选中逻辑修改
---
System/MainInterfacePanel/MainInterfaceWin.cs | 77 ++++++++++++++++++++++++++++++--------
1 files changed, 61 insertions(+), 16 deletions(-)
diff --git a/System/MainInterfacePanel/MainInterfaceWin.cs b/System/MainInterfacePanel/MainInterfaceWin.cs
index 75bb072..58a0678 100644
--- a/System/MainInterfacePanel/MainInterfaceWin.cs
+++ b/System/MainInterfacePanel/MainInterfaceWin.cs
@@ -97,6 +97,8 @@
[SerializeField] ClickScreenOtherSpace _MarkRay;//渚挎嵎鍒囨崲鎸夐挳
[SerializeField] TeamInvitationEntrance m_TeamInvitationEntrance;
+
+ [SerializeField] FairyCallMemberBehaviour m_FairyCallBehaviour;
#region
private int mapId = 0;
public delegate void OnChatCallback();//鑱婂ぉ鍥炶皟
@@ -133,6 +135,7 @@
TreasureModel treasureModel { get { return ModelCenter.Instance.GetModel<TreasureModel>(); } }
DemonJarModel demonJarModel { get { return ModelCenter.Instance.GetModel<DemonJarModel>(); } }
DungeonModel dungeonModel { get { return ModelCenter.Instance.GetModel<DungeonModel>(); } }
+ FairyGrabBossModel fairyGrabBossModel { get { return ModelCenter.Instance.GetModel<FairyGrabBossModel>(); } }
#region Built-in
protected override void BindController()
@@ -192,6 +195,7 @@
m_SkillButtonEffects.Init();
m_AnimationFadeOut.Init();
m_TeamInvitationEntrance.Init();
+ m_FairyCallBehaviour.Init();
m_BossBriefInfos.gameObject.SetActive(false);
ArticleExperience();//鍏充簬缁忛獙鏉�
@@ -217,7 +221,7 @@
PlayerTaskDatas.CompletionOfTaskEvent += CompletionOfTaskEvent;
RedpointCenter.Instance.redpointValueChangeEvent += RedpointValueChangeEvent;
NewBieCenter.Instance.guideBeginEvent += GuideBeginEvent;
-
+ fairyGrabBossModel.bossGrabHintEvent += bossGrabHintEvent;
}
private void CompletionOfTaskEvent(int obj)
@@ -229,6 +233,7 @@
protected override void OnActived()
{
m_HighSettingTip.OnActived();
+ IsShowTaskPanel();//鏄惁鏄剧ず浠诲姟闈㈡澘
}
IEnumerator Co_Load()
@@ -238,7 +243,7 @@
}
protected override void OnAfterOpen()
- {
+ {
bool IsBossBool = PlayerDatas.Instance.hero != null && MapArea.IsInMapArea(PlayerDatas.Instance.hero.CurMapArea, MapArea.E_Type.Boss);//鏄惁鍦˙oss鍖哄煙
if (onMainModel.IsDead || (onMainModel.IsBossAreaTask && !IsBossBool))
{
@@ -257,13 +262,11 @@
var inDungeon = IsDungeon();
if (inDungeon)
{
- m_TaskAndTeamTip.SetActive(!inDungeon);
m_FunctionForecastTip.gameObject.SetActive(false);
if (WindowCenter.Instance.CheckOpen<FunctionForecastWin>())
{
WindowCenter.Instance.Close<FunctionForecastWin>();
}
- m_TaskSwithButton.gameObject.SetActive(false);
if (mapId != PlayerDatas.Instance.baseData.MapID)
{
CopyOfThePanel.localPosition = CopyOfThePosition2.localPosition;
@@ -286,13 +289,22 @@
}
}
else
- {
+ {
var isNeutralMap = GeneralConfig.Instance.neutralMaps.Contains(PlayerDatas.Instance.baseData.MapID);
if (isNeutralMap)
{
m_BossBriefInfos.gameObject.SetActive(true);
- m_BossBriefInfos.Display(ModelCenter.Instance.GetModel<WorldBossModel>().GetWorldBosses(PlayerDatas.Instance.baseData.MapID));
+ if (PlayerDatas.Instance.baseData.MapID==DogzDungeonModel.DATA_MAPID)
+ {
+ var bosses = ModelCenter.Instance.GetModel<DogzDungeonModel>().GetBosses();
+ m_BossBriefInfos.Display(bosses);
+ }
+ else
+ {
+ var bosses = ModelCenter.Instance.GetModel<WorldBossModel>().GetWorldBosses(PlayerDatas.Instance.baseData.MapID);
+ m_BossBriefInfos.Display(bosses);
+ }
}
else
{
@@ -324,15 +336,13 @@
{
Event_Duplicates(true, CopyOfThePanelSpeed);
}
-
- m_TaskAndTeamTip.SetActive(true);
m_FunctionForecastTip.gameObject.SetActive(true);
- m_TaskSwithButton.gameObject.SetActive(true);
}
mapId = PlayerDatas.Instance.baseData.MapID;
m_HighSettingTip.AfterOpen();
m_ChatTip.OnAfterOpen();
HandleAchievement();
+
}
protected override void OnPreClose()
@@ -350,6 +360,7 @@
m_FunctionForecastTip.Unit();
m_AnimationFadeOut.Unit();
m_TeamInvitationEntrance.UnInit();
+ m_FairyCallBehaviour.UnInit();
horseRidBool = false;
PlayerDatas.Instance.PlayerDataRefreshInfoEvent -= Updatefighting;
FunctionUnlockFlyObject.functionUnLockShowBeginEvent -= UnFlodFunctionArea;
@@ -372,6 +383,7 @@
m_CollectBtn.RemoveAllListeners();
GA_NpcCollect.OnArrive -= OnArriveCollectNPC;
GA_NpcCollect.OnLeave -= OnLeaveCollectNpc;
+ fairyGrabBossModel.bossGrabHintEvent -= bossGrabHintEvent;
m_CollectBtn.gameObject.SetActive(false);
}
@@ -448,7 +460,7 @@
private void OnEnterOrExitArea(MapArea.E_Type _areaType, bool _enter)
{
- // DesignDebug.LogError(_areaType + ".." + _enter);
+ // DesignDebug.LogError(_areaType + ".." + _enter);
if (PlayerDatas.Instance.baseData.MapID == 10040 && _areaType != MapArea.E_Type.Boss && _enter)
{
if (Buffmodel.PkType != onMainModel.AreaState)
@@ -457,12 +469,16 @@
}
}
- if (_areaType == MapArea.E_Type.Neutral && _enter)
+ if ((_areaType == MapArea.E_Type.Neutral || _areaType == MapArea.E_Type.Boss) && _enter)
{
WindowCenter.Instance.Open<NeutralMarkWin>();
int mapID = PlayerDatas.Instance.baseData.MapID;
var config = Config.Instance.Get<MapConfig>(mapID);
int[] atkInt = pKModel.GetArea(config.AtkType).ToArray();
+ if (onMainModel.ShieldedArea.Contains(PlayerDatas.Instance.baseData.MapID) || fairyGrabBossModel.grabBossHintOpen)
+ {
+ return;
+ }
if (atkInt.Length > 1 && Buffmodel.PkType != 5)
{
onMainModel.AreaState = Buffmodel.PkType;
@@ -479,7 +495,7 @@
}
}
- if ((_areaType == MapArea.E_Type.Boss && _enter) || (_areaType == MapArea.E_Type.Dazuo && _enter))
+ if (_areaType == MapArea.E_Type.Boss && _enter)
{
if (Vector3.Distance(m_TaskAndTeamPanel.localPosition, TaskListTipAnchor1.localPosition) < 2 && ListBossMapId.Contains(PlayerDatas.Instance.baseData.MapID))
{
@@ -507,7 +523,7 @@
var inDungeon = IsDungeon();
var isNeutralMap = GeneralConfig.Instance.neutralMaps.Contains(PlayerDatas.Instance.baseData.MapID);
- if ((_areaType == MapArea.E_Type.Boss && !_enter) || (_areaType == MapArea.E_Type.Dazuo && !_enter))
+ if (_areaType == MapArea.E_Type.Boss && !_enter)
{
if (Vector3.Distance(CopyOfThePanel.position, CopyOfThePosition1.position) > 2 && !inDungeon && !isNeutralMap)
{
@@ -653,7 +669,7 @@
if (!recordPositionBool)
{
if (inDungeon || IsBossBool || isNeutralMap)
- {
+ {
if (IsCopyOfThePanel != null)
{
IsCopyOfThePanel(false);
@@ -664,12 +680,12 @@
}
CopyOfThePanel.DOLocalMoveY(CopyOfThePosition2.localPosition.y, CopyOfThePanelSpeed);
m_ContainerBossList.DOLocalMoveY(CopyOfThePosition1.localPosition.y, CopyOfThePanelSpeed);
- m_BossBriefInfos.Unfold(false);
+ m_BossBriefInfos.Unfold(false);
}
if (!IsBossBool)
{
if (Vector3.Distance(CopyOfThePanel.position, CopyOfThePosition1.position) > 2 && !inDungeon)
- {
+ {
if (IsCopyOfThePanel != null)
{
IsCopyOfThePanel(true);
@@ -812,6 +828,17 @@
_MarkRay.gameObject.SetActive(false);
}
recordPositionBool = !recordPositionBool;
+ }
+
+ // 鍓嶆湡鎴樻枟鐢ㄥ己鍒惰缃换鍔′綅缃�昏緫
+ public void ForceShowTaskPanel()
+ {
+ if (onMainModel.IsBossAreaTask)
+ {
+ onMainModel.IsBossAreaTask = false;
+ }
+ m_TaskAndTeamPanel.localPosition = TaskListTipAnchor1.localPosition;
+ TaskSwithBool = !TaskSwithBool;
}
void ArticleExperience()//鍏充簬缁忛獙鏉�
@@ -1021,6 +1048,24 @@
_MarkRay.gameObject.SetActive(false);
}
+ private void IsShowTaskPanel()//鏄惁鏄剧ず浠诲姟闈㈡澘
+ {
+ var inDungeon = IsDungeon();
+ if (inDungeon || fairyGrabBossModel.grabBossHintOpen)
+ {
+ m_TaskAndTeamTip.SetActive(false);
+ m_TaskSwithButton.gameObject.SetActive(false);
+ }
+ else
+ {
+ m_TaskAndTeamTip.SetActive(true);
+ m_TaskSwithButton.gameObject.SetActive(true);
+ }
+ }
+ private void bossGrabHintEvent()
+ {
+ IsShowTaskPanel();
+ }
}
}
--
Gitblit v1.8.0