From 9f02bfd6a3c4c14df0a0d63fb51b4d3e6d7e8a3e Mon Sep 17 00:00:00 2001
From: client_linchunjie <461730578@qq.com>
Date: 星期二, 12 三月 2019 11:48:07 +0800
Subject: [PATCH] 6292 【前端】【2.0】限时仙盟boss(鼓舞修改)
---
System/FairyAu/AllianceBossModel.cs | 15 +++
System/FairyAu/AllianceBossInspireWin.cs.meta | 12 +++
System/FairyAu/AllianceBossInspireWin.cs | 158 +++++++++++++++++++++++++++++++++++++++
System/Dungeon/DungeonInspireBehaviour.cs | 16 +++
System/FairyAu/AllianceBossHintWin.cs | 4
System/Dungeon/DungeonData.cs | 1
System/FairyAu/AllianceBossEntranceWin.cs | 8 --
System/DailyQuest/DailyQuestModel.cs | 4
8 files changed, 207 insertions(+), 11 deletions(-)
diff --git a/System/DailyQuest/DailyQuestModel.cs b/System/DailyQuest/DailyQuestModel.cs
index fc30a5e..d9e3954 100644
--- a/System/DailyQuest/DailyQuestModel.cs
+++ b/System/DailyQuest/DailyQuestModel.cs
@@ -611,6 +611,8 @@
}
break;
case DailyQuestType.FairyGrabBoss:
+ case DailyQuestType.AllianceBoss1:
+ case DailyQuestType.AllianceBoss2:
if (dailyQuestState == DailyQuestState.Normal)
{
dailyQuest.redpoint.state = completedTimes >= totalTimes ? RedPointState.None : RedPointState.Simple;
@@ -845,7 +847,7 @@
{
return DailyQuestState.Completed;
}
- break;
+ return DailyQuestState.Normal;
}
var completedTimes = GetDailyQuestCompletedTimes(_dailyQuestId);
diff --git a/System/Dungeon/DungeonData.cs b/System/Dungeon/DungeonData.cs
index 611d680..7d1644b 100644
--- a/System/Dungeon/DungeonData.cs
+++ b/System/Dungeon/DungeonData.cs
@@ -126,6 +126,7 @@
public int prepareTime; //璺ㄦ湇1Vs1 鍥炲悎缁撴潫鍊掕鏃�
public int isStart; //璺ㄦ湇1Vs1鍥炲悎寮�濮�
public int PlayerEnterMap; //鍒ゆ柇鐜╁ID涓嶆槸鑷繁鍒欐竻闄ょ瓑寰呮椂闂存樉绀�
+ public int IsEncourage;//鏄惁榧撹垶
public long totalExp
{
get
diff --git a/System/Dungeon/DungeonInspireBehaviour.cs b/System/Dungeon/DungeonInspireBehaviour.cs
index 3644a91..48af997 100644
--- a/System/Dungeon/DungeonInspireBehaviour.cs
+++ b/System/Dungeon/DungeonInspireBehaviour.cs
@@ -126,7 +126,21 @@
SysNotifyMgr.Instance.ShowTip("Xjmj_InspireMaxLevel");
return;
}
- WindowCenter.Instance.Open<DungeonInspireWin>();
+ var dataMapId = model.GetDataMapIdByMapId(PlayerDatas.Instance.baseData.MapID);
+ switch (dataMapId)
+ {
+ case AllianceBossModel.DATAMAPID:
+ if (model.mission.IsEncourage == 1)
+ {
+ SysNotifyMgr.Instance.ShowTip("Xjmj_InspireMaxLevel");
+ return;
+ }
+ WindowCenter.Instance.Open<AllianceBossInspireWin>();
+ break;
+ default:
+ WindowCenter.Instance.Open<DungeonInspireWin>();
+ break;
+ }
}
private void OnDisable()
diff --git a/System/FairyAu/AllianceBossEntranceWin.cs b/System/FairyAu/AllianceBossEntranceWin.cs
index 6e00062..278a7f3 100644
--- a/System/FairyAu/AllianceBossEntranceWin.cs
+++ b/System/FairyAu/AllianceBossEntranceWin.cs
@@ -183,14 +183,6 @@
}
}
- var completedTimes = dailyQuestModel.GetDailyQuestCompletedTimes(dailyQuestId);
- var totalTimes = dailyQuestModel.GetDailyQuestTotalTimes(dailyQuestId);
- if (completedTimes >= totalTimes)
- {
- error = 2;
- return false;
- }
-
if (CrossServerUtility.IsCrossServerBoss())
{
error = 3;
diff --git a/System/FairyAu/AllianceBossHintWin.cs b/System/FairyAu/AllianceBossHintWin.cs
index 8f02cf8..093c146 100644
--- a/System/FairyAu/AllianceBossHintWin.cs
+++ b/System/FairyAu/AllianceBossHintWin.cs
@@ -100,7 +100,9 @@
private void UpdateMissionEvent()
{
- Display();
+ DisplayProgress();
+ DisplayHurtRank();
+ DisplayAlliance();
}
[Serializable]
diff --git a/System/FairyAu/AllianceBossInspireWin.cs b/System/FairyAu/AllianceBossInspireWin.cs
new file mode 100644
index 0000000..d2e63da
--- /dev/null
+++ b/System/FairyAu/AllianceBossInspireWin.cs
@@ -0,0 +1,158 @@
+锘�//--------------------------------------------------------
+// [Author]: 绗簩涓栫晫
+// [ Date ]: Tuesday, March 12, 2019
+//--------------------------------------------------------
+
+using System;
+using System.Collections;
+using System.Collections.Generic;
+using UnityEngine;
+using UnityEngine.UI;
+
+namespace Snxxz.UI
+{
+
+ public class AllianceBossInspireWin : Window
+ {
+ [SerializeField] Text m_Remind;
+ [SerializeField] Text m_InspireHurt;
+ [SerializeField] ItemBehaviour[] m_Items;
+ [SerializeField] Text m_InspireLevel;
+ [SerializeField] Button m_Inspire;
+ [SerializeField] Button m_Close;
+
+ DungeonInspireConfig inspireConfig = null;
+
+ DungeonModel model { get { return ModelCenter.Instance.GetModel<DungeonModel>(); } }
+ AllianceBossModel allianceBossModel { get { return ModelCenter.Instance.GetModel<AllianceBossModel>(); } }
+
+ protected override void BindController()
+ {
+
+ }
+
+ protected override void AddListeners()
+ {
+ m_Inspire.AddListener(Inspire);
+ m_Close.AddListener(CloseClick);
+ }
+
+ protected override void OnPreOpen()
+ {
+ model.dungeonInspireLvEvent += DungeonInspireLvEvent;
+ model.updateMissionEvent += UpdateMissionEvent;
+ var inspireConfigs = model.GetDungeonInspire(AllianceBossModel.DATAMAPID);
+ inspireConfig = inspireConfigs[0];
+
+ Display();
+ }
+
+ protected override void OnAfterOpen()
+ {
+ }
+
+ protected override void OnPreClose()
+ {
+ model.dungeonInspireLvEvent -= DungeonInspireLvEvent;
+ model.updateMissionEvent -= UpdateMissionEvent;
+ }
+
+ protected override void OnAfterClose()
+ {
+ }
+
+ void Display()
+ {
+ DisplayRemind();
+ DisplayInspireHurt();
+ DisplayRewards();
+ DisplayInspireLevel();
+ }
+
+ void DisplayRemind()
+ {
+ var singleHurt = model.GetDungeonInspireUpper(AllianceBossModel.DATAMAPID);
+ var maxCount = model.GetInspireMaxCount(AllianceBossModel.DATAMAPID);
+ m_Remind.text = Language.Get("AllianceBossInspireRemind", singleHurt, maxCount * singleHurt);
+ }
+
+ void DisplayInspireHurt()
+ {
+ var currentLevel = model.GetDungeonInspireLevel();
+ var singleHurt = model.GetDungeonInspireUpper(AllianceBossModel.DATAMAPID);
+ m_InspireHurt.text = Language.Get("AllianceBossInspireHurt", currentLevel * singleHurt);
+ }
+
+ void DisplayRewards()
+ {
+ for (int i = 0; i < m_Items.Length; i++)
+ {
+ if (i < allianceBossModel.inspireRewards.Count)
+ {
+ m_Items[i].gameObject.SetActive(true);
+ m_Items[i].SetItem(allianceBossModel.inspireRewards[i]);
+ }
+ else
+ {
+ m_Items[i].gameObject.SetActive(false);
+ }
+ }
+ }
+
+ void DisplayInspireLevel()
+ {
+ m_InspireLevel.text = Language.Get("AllianceBossInspireLevel", model.mission.IsEncourage == 1 ? 1 : 0);
+ }
+
+ private void DungeonInspireLvEvent()
+ {
+ DisplayInspireHurt();
+ }
+
+ private void UpdateMissionEvent()
+ {
+ DisplayInspireLevel();
+ }
+
+ private void Inspire()
+ {
+ var cost = model.GetDungeonInspireCost(inspireConfig);
+
+ if (model.mission.IsEncourage == 1)
+ {
+ SysNotifyMgr.Instance.ShowTip("Xjmj_InspireMaxLevel");
+ return;
+ }
+
+ var inspireLevel = model.GetDungeonInspireLevel();
+ var maxLevel = model.GetInspireMaxCount(AllianceBossModel.DATAMAPID);
+ if (inspireLevel >= maxLevel)
+ {
+ SysNotifyMgr.Instance.ShowTip("Xjmj_InspireMaxLevel");
+ return;
+ }
+
+ ConfirmCancel.ShowPopConfirm(Language.Get("Mail101"),
+ Language.Get("AllianceBossInspireConfirm", cost),
+ (bool isOk) =>
+ {
+ if (isOk)
+ {
+ if (cost > PlayerDatas.Instance.baseData.diamond)
+ {
+ WindowCenter.Instance.Open<RechargeTipWin>();
+ return;
+ }
+ CA508_tagCMDoFBAction pak = new CA508_tagCMDoFBAction();
+ pak.ActionType = 0;
+ pak.ActionInfo = (uint)inspireConfig.InspireType;
+ GameNetSystem.Instance.SendInfo(pak);
+ }
+ });
+ }
+ }
+}
+
+
+
+
diff --git a/System/FairyAu/AllianceBossInspireWin.cs.meta b/System/FairyAu/AllianceBossInspireWin.cs.meta
new file mode 100644
index 0000000..499d6a4
--- /dev/null
+++ b/System/FairyAu/AllianceBossInspireWin.cs.meta
@@ -0,0 +1,12 @@
+fileFormatVersion: 2
+guid: f2dae6865c031234fb3200b10f6b22de
+timeCreated: 1552356351
+licenseType: Pro
+MonoImporter:
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/System/FairyAu/AllianceBossModel.cs b/System/FairyAu/AllianceBossModel.cs
index 715d763..72b6b09 100644
--- a/System/FairyAu/AllianceBossModel.cs
+++ b/System/FairyAu/AllianceBossModel.cs
@@ -10,6 +10,8 @@
public bool isActivityOver { get; private set; }
public int participateLimit { get; private set; }
+ public List<Item> inspireRewards { get; private set; }
+
public event Action allianceBossStateRefresh;
public override void Init()
@@ -34,6 +36,19 @@
{
var config = FuncConfigConfig.Get("LeagueBOSSNumber1");
participateLimit = int.Parse(config.Numerical1);
+
+ inspireRewards = new List<Item>();
+ config = FuncConfigConfig.Get("LeagueBOSSReward1");
+ var itemArray = LitJson.JsonMapper.ToObject<int[][]>(config.Numerical1);
+ for (int i = 0; i < itemArray.Length; i++)
+ {
+ var item = itemArray[i];
+ inspireRewards.Add(new Item()
+ {
+ id = item[0],
+ count = item[1],
+ });
+ }
}
public void ReceivePackage(HA40C_tagGCAllFamilyBossInfo package)
--
Gitblit v1.8.0