From 68f95c4e3db1f79b3ef5705443d792e3f1cfd8ff Mon Sep 17 00:00:00 2001
From: client_Hale <339726288@qq.com>
Date: 星期六, 24 十一月 2018 16:28:03 +0800
Subject: [PATCH] Merge branch 'master' of http://192.168.0.87:10010/r/snxxz_scripts

---
 System/Dungeon/IceCrystalVeinModel.cs         |    4 +
 System/Realm/RealmUpWin.cs                    |   82 +++++++------------
 System/Welcome/WelcomeWin.cs                  |   21 ++++-
 System/Role/MagicianWin.cs                    |   16 +--
 Fight/GameActor/GA_Hero.cs                    |    2 
 System/Compose/New/ComposeEquipWin.cs         |   16 +++
 System/Dungeon/DungeonFightWin.cs             |   16 +++
 System/MainInterfacePanel/MainInterfaceWin.cs |   13 +++
 System/Dungeon/DungeonVictoryWin.cs           |   13 +++
 System/Dungeon/DungeonDefeatedWin.cs          |   12 +++
 System/Role/GodWeaponSkillBehaviour.cs        |   11 ++
 System/Role/MagicianModel.cs                  |   20 +++++
 12 files changed, 155 insertions(+), 71 deletions(-)

diff --git a/Fight/GameActor/GA_Hero.cs b/Fight/GameActor/GA_Hero.cs
index b970bd2..dfe38d4 100644
--- a/Fight/GameActor/GA_Hero.cs
+++ b/Fight/GameActor/GA_Hero.cs
@@ -888,7 +888,7 @@
     private IEnumerator Wait()
     {
         yield return WaitingForSecondConst.WaitMS1500;
-        if (WindowCenter.Instance.Open<VipExperienceWin>())
+        if (WindowCenter.Instance.IsOpen("VipExperienceWin"))
         {
             yield break;
         }
diff --git a/System/Compose/New/ComposeEquipWin.cs b/System/Compose/New/ComposeEquipWin.cs
index f079ce2..156525b 100644
--- a/System/Compose/New/ComposeEquipWin.cs
+++ b/System/Compose/New/ComposeEquipWin.cs
@@ -53,7 +53,8 @@
         [SerializeField]
         GameObject chooseComposeEquip;
         [SerializeField] GameObject container_ComposeEquip;
-        [SerializeField] UIEffect composeEffect;
+        [SerializeField] UIEffect composeEffect_Three;
+        [SerializeField] UIEffect composeEffect_Five;
         [SerializeField] UIEffect successEffect;
         [SerializeField] UIEffect failEffect;
 
@@ -657,7 +658,18 @@
                     return;
                 }
             }
-            composeWinModel.SendComposeRequest(compoundModel,fixedItemIndexDict,composeEffect,1,10000,isIncreaseRate);
+            composeWinModel.SendComposeRequest(compoundModel,fixedItemIndexDict, GetPlayUIEffct(), 1,10000,isIncreaseRate);
+        }
+
+        private UIEffect GetPlayUIEffct()
+        {
+            if (compoundModel == null) return null;
+
+             if(compoundModel.unfixedItemCount <= 3)
+            {
+                return composeEffect_Three;
+            }
+            return composeEffect_Five;
         }
 
         private void OnComposeAnswer(HA814_tagMCMakeItemAnswer answer)
diff --git a/System/Dungeon/DungeonDefeatedWin.cs b/System/Dungeon/DungeonDefeatedWin.cs
index 85a70b0..47fc9dc 100644
--- a/System/Dungeon/DungeonDefeatedWin.cs
+++ b/System/Dungeon/DungeonDefeatedWin.cs
@@ -41,14 +41,26 @@
 
         protected override void OnAfterOpen()
         {
+            if (PlayerDatas.Instance.baseData.MapID == IceCrystalVeinModel.ICECRYSTALVEIN_MAPID)
+            {
+                var iceCrystalVeinModel = ModelCenter.Instance.GetModel<IceCrystalVeinModel>();
+                iceCrystalVeinModel.IsIceCrystalVein_Copy = true;
+            }
         }
 
         protected override void OnPreClose()
         {
+           
         }
 
         protected override void OnAfterClose()
         {
+            var iceCrystalVeinModel = ModelCenter.Instance.GetModel<IceCrystalVeinModel>();       
+            if (iceCrystalVeinModel.IsIceCrystalVein_Copy)
+            {
+                iceCrystalVeinModel.IsIceCrystalVein_Copy = false;
+                iceCrystalVeinModel.IsIceCrystalVeinCopy = true;
+            }
         }
 
         protected override void OnActived()
diff --git a/System/Dungeon/DungeonFightWin.cs b/System/Dungeon/DungeonFightWin.cs
index d5e0696..8b3044b 100644
--- a/System/Dungeon/DungeonFightWin.cs
+++ b/System/Dungeon/DungeonFightWin.cs
@@ -128,6 +128,11 @@
                     }
                     break;
             }
+            if (PlayerDatas.Instance.baseData.MapID == IceCrystalVeinModel.ICECRYSTALVEIN_MAPID)
+            {
+                var iceCrystalVeinModel = ModelCenter.Instance.GetModel<IceCrystalVeinModel>();
+                iceCrystalVeinModel.IsIceCrystalVein_Copy = true;
+            }
         }
 
         protected override void OnPreClose()
@@ -147,8 +152,15 @@
         }
 
         protected override void OnAfterClose()
-        {
+        {           
             m_DungenWHYJ.Unit();
+            var iceCrystalVeinModel = ModelCenter.Instance.GetModel<IceCrystalVeinModel>();
+            if (iceCrystalVeinModel.IsIceCrystalVein_Copy)
+            {
+                iceCrystalVeinModel.IsIceCrystalVein_Copy = false;
+                iceCrystalVeinModel.IsIceCrystalVeinCopy = true;
+            }
+            
         }
 
         protected override void LateUpdate()
@@ -221,7 +233,7 @@
                 (bool _ok) =>
                 {
                     if (_ok)
-                    {
+                    {                     
                         model.ExitCurrentDungeon();
                     }
                 }
diff --git a/System/Dungeon/DungeonVictoryWin.cs b/System/Dungeon/DungeonVictoryWin.cs
index 673255e..7981ff6 100644
--- a/System/Dungeon/DungeonVictoryWin.cs
+++ b/System/Dungeon/DungeonVictoryWin.cs
@@ -97,14 +97,27 @@
 
         protected override void OnAfterOpen()
         {
+            if (PlayerDatas.Instance.baseData.MapID == IceCrystalVeinModel.ICECRYSTALVEIN_MAPID)
+            {
+                var iceCrystalVeinModel = ModelCenter.Instance.GetModel<IceCrystalVeinModel>();
+                iceCrystalVeinModel.IsIceCrystalVein_Copy = true;
+            }
         }
 
         protected override void OnPreClose()
         {
+           
         }
 
         protected override void OnAfterClose()
         {
+            var iceCrystalVeinModel = ModelCenter.Instance.GetModel<IceCrystalVeinModel>();
+           
+            if (iceCrystalVeinModel.IsIceCrystalVein_Copy)
+            {
+                iceCrystalVeinModel.IsIceCrystalVein_Copy = false;
+                iceCrystalVeinModel.IsIceCrystalVeinCopy = true;
+            }
         }
 
         protected override void OnActived()
diff --git a/System/Dungeon/IceCrystalVeinModel.cs b/System/Dungeon/IceCrystalVeinModel.cs
index 388b5de..8d5ab81 100644
--- a/System/Dungeon/IceCrystalVeinModel.cs
+++ b/System/Dungeon/IceCrystalVeinModel.cs
@@ -34,6 +34,8 @@
     public int Cost = 0;//缁戠帀杩涘叆鑺辫垂
     public int NeedVipLv = 0;//鎵�闇�VIP绛夌骇
     public int SweepingNeedMoney = 0;//鎵崱鎵�闇�浠锋牸
+    public bool IsIceCrystalVein_Copy = false;
+    public bool IsIceCrystalVeinCopy = false;//鏄惁鍐嶅啺鏅剁熆鑴夊壇鏈�
     public event Action UpdateIceLodeInf;
     DungeonModel m_Model;
     DungeonModel model { get { return m_Model ?? (m_Model = ModelCenter.Instance.GetModel<DungeonModel>()); } }
@@ -52,6 +54,8 @@
     }
     public void OnBeforePlayerDataInitialize()
     {
+        IsIceCrystalVein_Copy = false;
+        IsIceCrystalVeinCopy = false;
         model.dungeonRecordChangeEvent -= dungeonRecordChangeEvent;
     }
 
diff --git a/System/MainInterfacePanel/MainInterfaceWin.cs b/System/MainInterfacePanel/MainInterfaceWin.cs
index 24b7029..5806697 100644
--- a/System/MainInterfacePanel/MainInterfaceWin.cs
+++ b/System/MainInterfacePanel/MainInterfaceWin.cs
@@ -144,6 +144,8 @@
         FeatureNoticeModel featureNoticeModel { get { return ModelCenter.Instance.GetModel<FeatureNoticeModel>(); } }
         WishingPoolModel wishModel { get { return ModelCenter.Instance.GetModel<WishingPoolModel>(); } }
         MysticalPurchaseModel purchaseModel { get { return ModelCenter.Instance.GetModel<MysticalPurchaseModel>(); } }
+        IceCrystalVeinModel m_IceCrystalVeinModel;
+        IceCrystalVeinModel iceCrystalVeinModel { get { return m_IceCrystalVeinModel ?? (m_IceCrystalVeinModel = ModelCenter.Instance.GetModel<IceCrystalVeinModel>()); } }
         #region Built-in
         protected override void BindController()
         {
@@ -612,6 +614,17 @@
                     }
                 }
             }
+            if (iceCrystalVeinModel.IsIceCrystalVeinCopy && !IsDungeon())//鏄惁鍐嶆鎵撳紑鍐版櫠鐭胯剦闈㈡澘
+            {
+                if (!WindowCenter.Instance.IsOpen("NewBieWin") && !WindowCenter.Instance.IsOpen("TreasureNewGotWin"))
+                {
+                    if (!WindowCenter.Instance.IsOpen("IceCrystalVeinWin"))
+                    {
+                        WindowCenter.Instance.Open<IceCrystalVeinWin>();
+                    }
+                    iceCrystalVeinModel.IsIceCrystalVeinCopy = false;
+                }          
+            }
 
         }
 
diff --git a/System/Realm/RealmUpWin.cs b/System/Realm/RealmUpWin.cs
index 901dfd5..7175dc7 100644
--- a/System/Realm/RealmUpWin.cs
+++ b/System/Realm/RealmUpWin.cs
@@ -41,14 +41,9 @@
 
         [SerializeField] UIEffect m_RealmDungeonSfx;
 
-        [SerializeField] RectTransform m_ContainerGroup;
-        [SerializeField] Button m_Group;
-        [SerializeField] Button m_AutoGroup;
-        [SerializeField] Button m_GroupDungeon;
         [SerializeField] Button m_SingleDungeon;
         [SerializeField] Button m_FuncButton;
         [SerializeField] Text m_RealmStageTip;
-        [SerializeField] RedpointBehaviour m_SingleRedpoint;
 
         [SerializeField] RectTransform m_ContainerFightPower;
         [SerializeField] Text m_FightPower;
@@ -81,9 +76,6 @@
             m_SingleDungeon.onClick.AddListener(SingleDungeon);
             m_FuncButton.onClick.AddListener(OnFunctionClick);
             m_RealmPreview.onClick.AddListener(OnRealmPreview);
-            m_Group.onClick.AddListener(OpenGroup);
-            m_AutoGroup.onClick.AddListener(AutoGroup);
-            m_GroupDungeon.onClick.AddListener(GroupDungeon);
         }
 
         protected override void OnPreOpen()
@@ -93,7 +85,6 @@
             cacheRealmPoint = PlayerDatas.Instance.extersion.realmPoint;
             m_RawBoss.gameObject.SetActive(false);
             m_RawPlayer.gameObject.SetActive(false);
-            m_ContainerGroup.gameObject.SetActive(false);
             overdueTime = DateTime.Now;
             Display();
         }
@@ -335,10 +326,8 @@
             var _realmPoint = PlayerDatas.Instance.extersion.realmPoint;
             var config = Config.Instance.Get<RealmConfig>(PlayerDatas.Instance.baseData.realmLevel);
             bool satisfyChallenge = _realmPoint >= config.NeedPoint;
-            m_Group.gameObject.SetActive(!realmModel.IsRealmHighest && config.IsBigRealm == 1 && satisfyChallenge);
             m_SingleDungeon.gameObject.SetActive(!realmModel.IsRealmHighest && satisfyChallenge);
             m_FuncButton.gameObject.SetActive(!realmModel.IsRealmHighest && !satisfyChallenge);
-            m_SingleRedpoint.gameObject.SetActive(!m_Group.gameObject.activeSelf);
         }
 
         private void OnFunctionClick()
@@ -346,47 +335,38 @@
             WindowJumpMgr.Instance.WindowJumpTo(JumpUIType.DailyQuestFunc1);
         }
 
-        private void GroupDungeon()
-        {
-            if (DateTime.Now < overdueTime)
-            {
-                return;
-            }
-            if (PlayerDatas.Instance.baseData.MapID == RealmModel.REALM_DUNGEON_ID)
-            {
-                return;
-            }
-            var teamModel = ModelCenter.Instance.GetModel<TeamModel>();
-            if (teamModel.myTeam.inTeam && teamModel.myTeam.iamCaptainer)
-            {
-                ModelCenter.Instance.GetModel<DungeonModel>().GroupChallenge(RealmModel.REALM_DUNGEON_ID, 1);
-            }
-            else
-            {
-                teamModel.missionBuf = teamModel.currentMission = new TeamMission(31110, 1);
-                WindowCenter.Instance.Open<TeamFrameWin>(false, teamModel.myTeam.inTeam ? 1 : 0);
-            }
-        }
+        //private void GroupDungeon()
+        //{
+        //    if (DateTime.Now < overdueTime)
+        //    {
+        //        return;
+        //    }
+        //    if (PlayerDatas.Instance.baseData.MapID == RealmModel.REALM_DUNGEON_ID)
+        //    {
+        //        return;
+        //    }
+        //    var teamModel = ModelCenter.Instance.GetModel<TeamModel>();
+        //    if (teamModel.myTeam.inTeam && teamModel.myTeam.iamCaptainer)
+        //    {
+        //        ModelCenter.Instance.GetModel<DungeonModel>().GroupChallenge(RealmModel.REALM_DUNGEON_ID, 1);
+        //    }
+        //    else
+        //    {
+        //        teamModel.missionBuf = teamModel.currentMission = new TeamMission(31110, 1);
+        //        WindowCenter.Instance.Open<TeamFrameWin>(false, teamModel.myTeam.inTeam ? 1 : 0);
+        //    }
+        //}
 
-        private void AutoGroup()
-        {
-            if (DateTime.Now < overdueTime)
-            {
-                return;
-            }
-            var teamModel = ModelCenter.Instance.GetModel<TeamModel>();
-            teamModel.RequestAutoMatchTeam(new TeamMission(RealmModel.REALM_DUNGEON_ID, 1));
-            WindowCenter.Instance.Open<TeamFrameWin>(false, 1);
-        }
-
-        private void OpenGroup()
-        {
-            var opened = m_ContainerGroup.gameObject.activeSelf;
-            if (!opened)
-            {
-                m_ContainerGroup.gameObject.SetActive(true);
-            }
-        }
+        //private void AutoGroup()
+        //{
+        //    if (DateTime.Now < overdueTime)
+        //    {
+        //        return;
+        //    }
+        //    var teamModel = ModelCenter.Instance.GetModel<TeamModel>();
+        //    teamModel.RequestAutoMatchTeam(new TeamMission(RealmModel.REALM_DUNGEON_ID, 1));
+        //    WindowCenter.Instance.Open<TeamFrameWin>(false, 1);
+        //}
 
         private void SingleDungeon()
         {
diff --git a/System/Role/GodWeaponSkillBehaviour.cs b/System/Role/GodWeaponSkillBehaviour.cs
index 081656b..7c74d47 100644
--- a/System/Role/GodWeaponSkillBehaviour.cs
+++ b/System/Role/GodWeaponSkillBehaviour.cs
@@ -13,8 +13,11 @@
         [SerializeField] Transform m_ContainerLock;
         [SerializeField] Text m_SkillCondition;
         [SerializeField] Button m_Func;
+        [SerializeField] UIEffect m_Effect;
 
         GodWeaponConfig config = null;
+
+        MagicianModel model { get { return ModelCenter.Instance.GetModel<MagicianModel>(); } }
 
         private void Awake()
         {
@@ -25,6 +28,7 @@
         {
             this.config = config;
             var skillConfig = Config.Instance.Get<SkillConfig>(config.SkillID);
+            m_Effect.StopImediatly();
             if (config != null && skillConfig != null)
             {
                 m_SkillIcon.SetSprite(skillConfig.IconName);
@@ -38,6 +42,13 @@
                 {
                     m_SkillCondition.text = Language.Get("L1091", config.Lv);
                 }
+
+                var effectId = 0;
+                if (model.TryGetGodWeaponSkillEffect(config.SkillID, out effectId))
+                {
+                    m_Effect.effect = effectId;
+                    m_Effect.Play();
+                }
             }
         }
 
diff --git a/System/Role/MagicianModel.cs b/System/Role/MagicianModel.cs
index c988d80..12f4729 100644
--- a/System/Role/MagicianModel.cs
+++ b/System/Role/MagicianModel.cs
@@ -74,6 +74,7 @@
         Dictionary<int, AutoHammerCost> autoHammerCostDict = new Dictionary<int, AutoHammerCost>();
         Dictionary<int, List<int>> godWeaponStageDict = new Dictionary<int, List<int>>();
         Dictionary<int, int> exteriorPowerDict = new Dictionary<int, int>();
+        Dictionary<int, int> godWeaponSkillEffect = new Dictionary<int, int>();
         int[] autoHammerExpArea { get; set; }
         int[] autoHammerCount { get; set; }
 
@@ -216,6 +217,20 @@
                 var type = int.Parse(key);
                 var power = int.Parse(json[key].ToString());
                 exteriorPowerDict.Add(type, power);
+            }
+
+            funcConfig = Config.Instance.Get<FuncConfigConfig>("GodWeaponSkillEffect");
+            if (funcConfig != null)
+            {
+                json = LitJson.JsonMapper.ToObject(funcConfig.Numerical1);
+                foreach (var key in json.Keys)
+                {
+                    var skillId = int.Parse(key);
+                    if (!godWeaponSkillEffect.ContainsKey(skillId))
+                    {
+                        godWeaponSkillEffect.Add(skillId, int.Parse(json[key].ToString()));
+                    }
+                }
             }
         }
 
@@ -550,6 +565,11 @@
             return exteriorPowerDict.TryGetValue(type, out power);
         }
 
+        public bool TryGetGodWeaponSkillEffect(int skillId, out int effect)
+        {
+            return godWeaponSkillEffect.TryGetValue(skillId, out effect);
+        }
+
     }
 
     public class GodWeaponInfo
diff --git a/System/Role/MagicianWin.cs b/System/Role/MagicianWin.cs
index 6f0a2a1..50e2824 100644
--- a/System/Role/MagicianWin.cs
+++ b/System/Role/MagicianWin.cs
@@ -42,7 +42,6 @@
         [SerializeField] Image m_Select;
         [SerializeField] RawImage m_GodWeaponModel;
         [SerializeField] UIEffect m_GodWeaponEffect;
-        [SerializeField] UIEffect m_MoneyHammerEffect;
 
         [SerializeField, Header("婊戝姩鏉℃椂闂�")] float m_SliderDelay = 0.1f;
 
@@ -126,13 +125,13 @@
             lockGodWeaponUpdate = false;
             lockItemUpdate = false;
 
-            DisplayGodWeaponTypes();
-
             if (!HandleAchievement())
             {
                 model.selectType = GetDefaultSelect();
             }
             model.gotoType = 0;
+
+            DisplayGodWeaponTypes();
 
             DisplayGodWeaponInfo(true);
             DisplaySkills();
@@ -562,6 +561,7 @@
                 }
                 else
                 {
+                    var value = (float)godWeaponInfo.exp / config.NeedExp;
                     if (immediatly)
                     {
                         m_ExpSlider.delay = 0;
@@ -572,13 +572,7 @@
                         m_ExpSlider.delay = m_SliderDelay;
                     }
                     m_Exp.text = StringUtility.Contact(godWeaponInfo.exp, "/", config.NeedExp);
-                    m_ExpSlider.value = (float)godWeaponInfo.exp / config.NeedExp;
-
-                    if (moneyHammer && autoHammerState != AutoHammerState.None
-                        && DTC0403_tagPlayerLoginLoadOK.finishedLogin)
-                    {
-                        m_MoneyHammerEffect.Play();
-                    }
+                    m_ExpSlider.value = value;
                 }
             }
         }
@@ -818,7 +812,7 @@
                 if (model.selectItemIndex < items.Length)
                 {
                     var count = packModel.GetItemCountByID(PackType.rptItem, items[model.selectItemIndex]);
-                    if (count > 0)
+                    if (count > 0 && godWeaponInfo.level >= 1)
                     {
                         EffectMgr.Instance.PlayUIEffect(HammerEffectId(model.selectItemIndex), 2500, m_Items[model.selectItemIndex].transform, false);
                     }
diff --git a/System/Welcome/WelcomeWin.cs b/System/Welcome/WelcomeWin.cs
index a131e05..9da9b33 100644
--- a/System/Welcome/WelcomeWin.cs
+++ b/System/Welcome/WelcomeWin.cs
@@ -14,8 +14,8 @@
 
     public class WelcomeWin : Window
     {
-
-        [SerializeField] UIAlphaTween m_AlphaTween;
+        [SerializeField] UIAlphaTween m_FadeInTween;
+        [SerializeField] UIAlphaTween m_FadeOutTween;
         [SerializeField] Button m_Close;
         [SerializeField] float m_ForbidTime = 5f;
         [SerializeField] float m_OutTime = 10f;
@@ -36,8 +36,10 @@
 
         protected override void OnPreOpen()
         {
+            m_Close.gameObject.SetActive(false);
+            superOutTime = m_OutTime + 5f;
             ensured = false;
-            m_AlphaTween.SetStartState();
+            m_FadeOutTween.SetStartState();
         }
 
         protected override void OnAfterOpen()
@@ -52,11 +54,22 @@
         {
         }
 
+        protected override void OnActived()
+        {
+            base.OnActived();
+            m_FadeInTween.Play();
+        }
+
         protected override void LateUpdate()
         {
             base.LateUpdate();
 
             timer += Time.deltaTime;
+            if (timer > m_ForbidTime && !m_Close.gameObject.activeInHierarchy)
+            {
+                m_Close.gameObject.SetActive(true);
+            }
+
             if (timer > m_OutTime)
             {
                 if (!ensured)
@@ -90,7 +103,7 @@
 
         private void FadeOut()
         {
-            m_AlphaTween.Play(OnFadeOutComplete);
+            m_FadeOutTween.Play(OnFadeOutComplete);
         }
 
         private void OnFadeOutComplete()

--
Gitblit v1.8.0