From 3a4eb38542bf8cc2cdf7f835a559ade8a8457ea3 Mon Sep 17 00:00:00 2001
From: client_Hale <339726288@qq.com>
Date: 星期六, 29 九月 2018 03:02:47 +0800
Subject: [PATCH] Merge branch 'master' of http://192.168.0.87:10010/r/snxxz_scripts
---
System/Message/BattleHint.cs | 115 +++++++++++++++++++++++++++++++++++++++++++++++++++------
1 files changed, 103 insertions(+), 12 deletions(-)
diff --git a/System/Message/BattleHint.cs b/System/Message/BattleHint.cs
index f61b04d..a2c1ac4 100644
--- a/System/Message/BattleHint.cs
+++ b/System/Message/BattleHint.cs
@@ -6,50 +6,140 @@
{
public class BattleHint : Singleton<BattleHint>
{
+ DungeonModel dungeonModel { get { return ModelCenter.Instance.GetModel<DungeonModel>(); } }
+
public BattleHint()
{
- StageManager.Instance.onStageLoadFinish += OnStageLoadFinish;
+ SysNotifyMgr.Instance.OnSystemNotifyEvent += OnSystemNotifyEvent;
}
- private void OnStageLoadFinish()
+ public void OnStageLoadFinish()
{
Clear();
+ //var mapId = PlayerDatas.Instance.baseData.MapID;
+ //if (cacheMapId != 0 && cacheMapId != 31160
+ // && mapId == 31160)
+ //{
+ // SnxxzGame.Instance.StartCoroutine(Co_LoadFinish());
+ //}
+ //var help = dungeonModel.mission;
+ //ancientKing = mapId != 31160 ? 0 : help.topPlayerID;
+ //cacheMapId = PlayerDatas.Instance.baseData.MapID;
}
public event Action battleHintUpdate;
+ public event Action evenKillUpdate;
- Queue<string> battleHints = new Queue<string>();
+ Queue<int> battleHints = new Queue<int>();
+ Queue<string> evenKills = new Queue<string>();
- public void Receive(string msg)
+ int ancientKing = 0;
+ int cacheMapId = 0;
+
+ IEnumerator Co_LoadFinish()
{
- if (!(StageManager.Instance.CurrentStage is DungeonStage))
+ yield return WaitingForSecondConst.WaitMS300;
+ var mapId = PlayerDatas.Instance.baseData.MapID;
+ if (mapId == 31160)
+ {
+ Receive(3);
+ }
+ }
+
+ public void UpdateDungeonHelp()
+ {
+ var help = dungeonModel.mission;
+ if (DTC0403_tagPlayerLoginLoadOK.finishedLogin)
+ {
+ if (PlayerDatas.Instance.baseData.MapID == 31160
+ && help.topPlayerID == PlayerDatas.Instance.baseData.PlayerID
+ && ancientKing != help.topPlayerID)
+ {
+ ancientKing = help.topPlayerID;
+ //Receive(1);
+ }
+ }
+ ancientKing = help.topPlayerID;
+ }
+
+ private void OnSystemNotifyEvent(string msg)
+ {
+ if (!(StageManager.Instance.CurrentStage is DungeonStage)
+ || StageManager.Instance.isLoading)
{
return;
}
- battleHints.Enqueue(msg);
- if (StageManager.Instance.isLoading)
+ if (msg.Equals("AncientBattlefield_8"))
+ {
+ //Receive(2);
+ }
+ }
+
+ public void Receive(int ancientType)
+ {
+ //battleHints.Enqueue(ancientType);
+ //if (!WindowCenter.Instance.IsOpen<BattleHintWin>())
+ //{
+ // WindowCenter.Instance.Open<BattleHintWin>();
+ //}
+ //else
+ //{
+ // if (battleHintUpdate != null)
+ // {
+ // battleHintUpdate();
+ // }
+ //}
+ }
+
+ public void ReceiveEvenKill(string message, ArrayList list)
+ {
+ if (PlayerDatas.Instance.baseData.MapID != 31160
+ || !(StageManager.Instance.CurrentStage is DungeonStage)
+ || StageManager.Instance.isLoading)
{
return;
}
+ var evenKillCount = 0;
+ if (list != null && list.Count > 0)
+ {
+ int.TryParse(list[0].ToString(), out evenKillCount);
+ }
+ if (evenKillCount == 0)
+ {
+ return;
+ }
+ message = message.Replace("%s0", evenKillCount.ToString());
+ evenKills.Enqueue(message);
if (!WindowCenter.Instance.IsOpen<BattleHintWin>())
{
WindowCenter.Instance.Open<BattleHintWin>();
}
else
{
- if (battleHintUpdate != null)
+ if (evenKillUpdate != null)
{
- battleHintUpdate();
+ evenKillUpdate();
}
}
}
- public bool TryGetBattleHint(out string msg)
+ public bool TryGetBattleHint(out int ancientType)
{
- msg = string.Empty;
+ ancientType = 0;
if (battleHints.Count > 0)
{
- msg = battleHints.Dequeue();
+ ancientType = battleHints.Dequeue();
+ return true;
+ }
+ return false;
+ }
+
+ public bool TryGetEvenKill(out string message)
+ {
+ message = string.Empty;
+ if (evenKills.Count > 0)
+ {
+ message = evenKills.Dequeue();
return true;
}
return false;
@@ -58,6 +148,7 @@
public void Clear()
{
battleHints.Clear();
+ evenKills.Clear();
}
}
}
--
Gitblit v1.8.0