From 4c93d9fbb22a381355f6dbd1aaf64e995eec6cd2 Mon Sep 17 00:00:00 2001
From: client_Hale <339726288@qq.com>
Date: 星期四, 16 八月 2018 11:16:09 +0800
Subject: [PATCH] fixed #1581 新手前期战斗断线重连切换账号。主界面和角色视野异常
---
Fight/PreFightMission.cs | 102 +++++++++++++++++++++++++++++++++++++++++++++++++-
System/NewBieGuidance/NewBieCenter.cs | 16 +++++--
2 files changed, 110 insertions(+), 8 deletions(-)
diff --git a/Fight/PreFightMission.cs b/Fight/PreFightMission.cs
index 71ba783..2335f6a 100644
--- a/Fight/PreFightMission.cs
+++ b/Fight/PreFightMission.cs
@@ -122,6 +122,14 @@
{
if ((h0827.MissionID > 999 && h0827.MissionID < 1003) || h0827.MissionID == 1)
{
+ if (h0827.MissionID == 1001 && h0827.MissionState == 1)
+ {
+ if (s_MissionDict.ContainsKey(1002))
+ {
+ s_MissionDict.Remove(1002);
+ }
+ }
+
if (s_MissionDict.ContainsKey(h0827.MissionID))
{
s_MissionDict[h0827.MissionID].status = h0827.MissionState;
@@ -179,8 +187,7 @@
_model.arrowScale = 1;
IsHeroCanCastSkill = false;
- Transform _temp = null;
- _temp = WindowCenter.Instance.uiRoot.baseCanvas.Find("MainInterfaceWin/CopyOfThePanel/TopRightTip");
+ var _temp = WindowCenter.Instance.uiRoot.baseCanvas.Find("MainInterfaceWin/CopyOfThePanel/TopRightTip");
_temp.gameObject.SetActive(false);
_temp = WindowCenter.Instance.uiRoot.baseCanvas.Find("MainInterfaceWin/CopyOfThePanel/HighSettingTip/HighSettingShow");
_temp.gameObject.SetActive(false);
@@ -1378,7 +1385,7 @@
}
// 鍓嶆湡鎴樻枟娴佺▼缁撴潫
- private void Step_4_TransferFinished()
+ public void Step_4_TransferFinished()
{
m_SpecialGuideId = -1;
m_IsServerNewPlayerMissionFinished = true;
@@ -1532,6 +1539,95 @@
}
mDestroy = true;
+
+ m_SpecialGuideId = -1;
+ m_IsServerNewPlayerMissionFinished = true;
+
+ if (m_FuncNpc != null)
+ {
+ GAMgr.Instance.ServerDie(m_FuncNpc.ServerInstID);
+ GAMgr.Instance.Release(m_FuncNpc);
+ m_FuncNpc = null;
+ }
+
+ missionNpcDict.Clear();
+ s_MissionDict.Clear();
+ s_MissionImpasseDict.Clear();
+ refreshNpcHandlerList.Clear();
+
+ if (m_SimpleTransfer)
+ {
+ Object.Destroy(m_SimpleTransfer.gameObject);
+ m_SimpleTransfer = null;
+ }
+
+ if (m_ObstacleEffect)
+ {
+ Object.Destroy(m_ObstacleEffect.gameObject);
+ m_ObstacleEffect = null;
+ }
+
+ if (m_HuaShouEffect)
+ {
+ Object.Destroy(m_HuaShouEffect.gameObject);
+ m_HuaShouEffect = null;
+ }
+
+ if (m_FabaoEffect)
+ {
+ SFXPlayUtility.Instance.Release(m_FabaoEffect);
+ m_FabaoEffect = null;
+ }
+
+ var _temp = WindowCenter.Instance.Get<MainInterfaceWin>().transform.Find("CopyOfThePanel/TopRightTip");
+ _temp.gameObject.SetActive(true);
+ _temp = WindowCenter.Instance.Get<MainInterfaceWin>().transform.Find("CopyOfThePanel/HighSettingTip/HighSettingShow");
+ _temp.gameObject.SetActive(true);
+ _temp = WindowCenter.Instance.Get<MainInterfaceWin>().transform.Find("CopyOfThePanel/HighSettingTip/BoxContainer");
+ _temp.gameObject.SetActive(true);
+
+ _temp = WindowCenter.Instance.Get<MainInterfaceWin>().transform.Find("CopyOfThePanel/HighSettingTip/Container_Treasure");
+ _temp.gameObject.SetActive(true);
+
+ _temp = WindowCenter.Instance.Get<MainInterfaceWin>().transform.Find("SkillButtonTip/Pivot/CastSkillTip/SwitchPan_a");
+ _temp.localScale = Vector3.one;
+ _temp = WindowCenter.Instance.Get<MainInterfaceWin>().transform.Find("SkillButtonTip/Pivot/CastSkillTip/Btn_SkillXp");
+ _temp.localScale = Vector3.one;
+ _temp = WindowCenter.Instance.Get<MainInterfaceWin>().transform.Find("ChatTip");
+ _temp.localScale = Vector3.one;
+ _temp = WindowCenter.Instance.Get<MainInterfaceWin>().transform.Find("LowSettingTip");
+ _temp.localScale = Vector3.one;
+ _temp = WindowCenter.Instance.Get<MainInterfaceWin>().transform.Find("SwitchShowBtn");
+ _temp.localScale = Vector3.one;
+ _temp = WindowCenter.Instance.Get<MainInterfaceWin>().transform.Find("HeadPortraitTip");
+ _temp.localScale = Vector3.one;
+ _temp = WindowCenter.Instance.Get<MainInterfaceWin>().transform.Find("HeadPortraitTip/PatternBtn");
+ _temp.localScale = Vector3.one;
+ _temp = WindowCenter.Instance.Get<MainInterfaceWin>().transform.Find("HeadPortraitTip/VIPBtn");
+ _temp.GetComponent<Animator>().enabled = true;
+ _temp.localScale = Vector3.one;
+ _temp = WindowCenter.Instance.Get<MainInterfaceWin>().transform.Find("FunctionForecastTip");
+ _temp.localScale = Vector3.one;
+ _temp = WindowCenter.Instance.Get<MainInterfaceWin>().transform.Find("TaskAndTeamTip/TaskListTip");
+ _temp.gameObject.SetActive(true);
+ _temp = WindowCenter.Instance.Get<MainInterfaceWin>().transform.Find("TaskSwithButton");
+ _temp.localScale = Vector3.one;
+
+ ButtonEx _button = WindowCenter.Instance.Get<MainInterfaceWin>().transform.Find("HeadPortraitTip/Head").GetComponent<ButtonEx>();
+ _button.enabled = true;
+
+ skillContainer.skill1.transform.localScale = Vector3.one;
+ skillContainer.skill2.transform.localScale = Vector3.one;
+ skillContainer.skill3.transform.localScale = Vector3.one;
+ skillContainer.skill4.transform.localScale = Vector3.one;
+ skillContainer.blinkSkill.transform.localScale = Vector3.one;
+ skillContainer.switchButton.gameObject.SetActive(true);
+ skillContainer.skillTurnplate.drag = true;
+ skillContainer.transform.localScale = Vector3.one;
+
+ WindowCenter.Instance.Close<NewGuideWin>();
+ NewBieCenter.Instance.StartNewBieGuide(1);
+
if (m_FuncNpc != null)
{
GAMgr.Instance.ServerDie(m_FuncNpc.ServerInstID);
diff --git a/System/NewBieGuidance/NewBieCenter.cs b/System/NewBieGuidance/NewBieCenter.cs
index f27830f..ae9338a 100644
--- a/System/NewBieGuidance/NewBieCenter.cs
+++ b/System/NewBieGuidance/NewBieCenter.cs
@@ -16,18 +16,21 @@
{
int m_CurrentGuide = 0;
- public int currentGuide {
+ public int currentGuide
+ {
get { return m_CurrentGuide; }
set { m_CurrentGuide = value; }
}
int m_GuideStep = 0;
- public int guideStep {
+ public int guideStep
+ {
get { return m_GuideStep; }
private set { m_GuideStep = value; }
}
- public bool inGuiding {
+ public bool inGuiding
+ {
get { return currentGuide != 0; }
}
@@ -147,9 +150,12 @@
FunctionalGuideCenter.Instance.RemoveAllUnderWayGuide();
currentGuide = _id;
- PlayerDatas.Instance.hero.Behaviour.StopHandupAI();
MapTransferUtility.Instance.Clear();
- PlayerDatas.Instance.hero.StopPathFind();
+ if (PlayerDatas.Instance.hero != null)
+ {
+ PlayerDatas.Instance.hero.Behaviour.StopHandupAI();
+ PlayerDatas.Instance.hero.StopPathFind();
+ }
var config = ConfigManager.Instance.GetTemplate<GuideConfig>(currentGuide);
guideStep = config.Steps.Length > 0 ? config.Steps[0] : 0;
--
Gitblit v1.8.0