From a0ede150686a218c92b901b1f20aef12a9913890 Mon Sep 17 00:00:00 2001
From: client_linchunjie <461730578@qq.com>
Date: 星期五, 14 九月 2018 09:36:59 +0800
Subject: [PATCH] 1930【1.0.15】【主干】功能预告跳转八卦炉激活,功能预告界面未关闭

---
 System/MainInterfacePanel/PlayerBuffDatas.cs |  852 ++++++++++++++++++++++++++++----------------------------
 1 files changed, 426 insertions(+), 426 deletions(-)

diff --git a/System/MainInterfacePanel/PlayerBuffDatas.cs b/System/MainInterfacePanel/PlayerBuffDatas.cs
index 497d7d9..44775d7 100644
--- a/System/MainInterfacePanel/PlayerBuffDatas.cs
+++ b/System/MainInterfacePanel/PlayerBuffDatas.cs
@@ -1,426 +1,426 @@
-锘縰sing System;
-using System.Collections;
-using System.Collections.Generic;
-using TableConfig;
-using UnityEngine;
-using Snxxz.UI;
-//鐢ㄤ簬涓荤晫闈㈢殑BUFF鏁版嵁鎺ユ敹
-public class ObjBuff
-{
-    public int ClearType;
-    public int ObjID;
-    public int BuffType;
-    public int SkillID;
-    public int LastTime;
-    public DateTime _dattTime;
-    public string ImagKey;
-    public string BuffName;
-    public string BuffConent;
-    public int Layer;
-    public int SkillTypeID;
-}
-
-public class PlayerBuffDatas : Model, IBeforePlayerDataInitialize, IPlayerLoginOk
-{
-    public int PkType = 0;//PK瀵硅薄閫夋嫨
-    public delegate void OnObjAddBuff();
-    public static event OnObjAddBuff Even_ObjAddBuf;//鍏充簬Buff鐨勫鍔�
-    public delegate void OnObjDelBuff();
-    public static event OnObjDelBuff Even_ObjDelBuff;//鍏充簬Buff鐨勫噺灏�
-    public Dictionary<int, ObjBuff> _BuffDic = new Dictionary<int, ObjBuff>();//buff瀛楀吀
-    VipModel m_VipModel;
-    VipModel vipModel { get { return m_VipModel ?? (m_VipModel = ModelCenter.Instance.GetModel<VipModel>()); } }
-    public override void Init()
-    {
-        PlayerDatas.Instance.OnSwitchAttackMode += OnSwitchAttackMode;
-        vipModel.OnVipTimeEvent += OnVipTimeEven;
-        PlayerDatas.Instance.PlayerDataRefreshInfoEvent += PlayerDataRefreshInfoEvent;
-        PlayerDatas.Instance.OnRoleAttrRefresh += WorldLVBuff;
-        OperationTimeHepler.Instance.operationStartEvent += operationStartEvent;
-        OperationTimeHepler.Instance.operationEndEvent += operationEndEvent;
-        OperationTimeHepler.Instance.operationTimeUpdateEvent += operationTimeUpdateEvent;
-        FuncOpen.Instance.OnFuncStateChangeEvent += OnFuncStateChangeEvent;
-    }
-    public override void UnInit()
-    {
-        PlayerDatas.Instance.OnSwitchAttackMode -= OnSwitchAttackMode;
-        vipModel.OnVipTimeEvent -= OnVipTimeEven;
-        PlayerDatas.Instance.PlayerDataRefreshInfoEvent -= PlayerDataRefreshInfoEvent;
-        PlayerDatas.Instance.OnRoleAttrRefresh -= WorldLVBuff;
-        OperationTimeHepler.Instance.operationStartEvent -= operationStartEvent;
-        OperationTimeHepler.Instance.operationEndEvent -= operationEndEvent;
-        OperationTimeHepler.Instance.operationTimeUpdateEvent -= operationTimeUpdateEvent;
-        FuncOpen.Instance.OnFuncStateChangeEvent -= OnFuncStateChangeEvent;
-    }
-
-    private void OnFuncStateChangeEvent(int onFuncID)
-    {
-        if (onFuncID == (int)FuncOpenEnum.WorldLv)
-        {
-            WorldLVBuff();
-        }       
-    }
-
-    private void operationTimeUpdateEvent(Operation obj)
-    {
-        if (obj == Operation.MultipleExp)
-        {
-            AddoperationStartEvent();
-            if (Even_ObjAddBuf != null)
-            {
-                Even_ObjAddBuf();
-            }
-        }
-    }
-
-    public void OnPlayerLoginOk()
-    {
-        OnVipTimeEven();
-        WorldLVBuff();
-        AddoperationStartEvent();
-    }
-    private void operationStartEvent(Operation arg1, int arg2)//鍏充簬澶氬�嶇粡楠�
-    {
-        if (arg1 == Operation.MultipleExp && arg2 == 0)
-        {
-            AddoperationStartEvent();
-            if (Even_ObjAddBuf != null)
-            {
-                Even_ObjAddBuf();
-            }
-        }
-    }
-
-    private void AddoperationStartEvent()
-    {
-        bool IsBool = OperationTimeHepler.Instance.SatisfyOpenCondition(Operation.MultipleExp);
-        if (IsBool)
-        {
-            int seconds = OperationTimeHepler.Instance.GetOperationSurplusTime(Operation.MultipleExp);
-            OperationBase operation = null;
-            OperationTimeHepler.Instance.TryGetOperationTime(Operation.MultipleExp, out operation);
-            int multipleF = 0;
-            if (operation != null)
-            {
-                multipleF = (operation as OperationMultiExp).multiple / 10000;
-            }
-            var skillconfig = ConfigManager.Instance.GetTemplate<SkillConfig>(20048);
-            if (_BuffDic.ContainsKey(20048))
-            {
-                _BuffDic[20048].LastTime = seconds;
-                _BuffDic[20048]._dattTime = DateTime.Now;
-                _BuffDic[20048].BuffConent = string.Format(skillconfig.BuffDescription, (multipleF - 1) * 100);
-                if (multipleF == 2)
-                {
-                    _BuffDic[20048].BuffName = Language.Get("ExpActivity_Text2");
-                }
-                else if (multipleF == 3)
-                {
-                    _BuffDic[20048].BuffName = Language.Get("ExpActivity_Text3");
-                }
-                else if (multipleF == 5)
-                {
-                    _BuffDic[20048].BuffName = Language.Get("ExpActivity_Text4");
-                }
-                else
-                {
-                    _BuffDic[20048].BuffName = skillconfig.SkillName;
-                }
-            }
-            else
-            {
-                ObjBuff _ObjBuff = new ObjBuff();
-                _ObjBuff.BuffType = skillconfig.SkillType;
-                _ObjBuff.SkillID = 20048;
-                _ObjBuff.LastTime = seconds;
-                _ObjBuff._dattTime = DateTime.Now;
-                if (multipleF == 2)
-                {
-                    _ObjBuff.BuffName = Language.Get("ExpActivity_Text2");
-                } else if (multipleF == 3)
-                {
-                    _ObjBuff.BuffName = Language.Get("ExpActivity_Text3");
-                } else if (multipleF == 5)
-                {
-                    _ObjBuff.BuffName = Language.Get("ExpActivity_Text4");
-                }
-                else
-                {
-                    _ObjBuff.BuffName = skillconfig.SkillName;
-                }
-                _ObjBuff.ImagKey = skillconfig.IconName;               
-                _ObjBuff.BuffConent = string.Format(skillconfig.BuffDescription, (multipleF-1) * 100);
-                _ObjBuff.SkillTypeID = skillconfig.SkillTypeID;
-                _ObjBuff.Layer = 0;
-                _BuffDic.Add(20048, _ObjBuff);
-            }
-        }
-    }
-    private void operationEndEvent(Operation arg1, int arg2)
-    {
-        if (arg1== Operation.MultipleExp && arg2==0)
-        {
-            if (_BuffDic.ContainsKey(20048))
-            {
-                _BuffDic.Remove(20048);
-                if (Even_ObjDelBuff != null)
-                    Even_ObjDelBuff();
-            }
-
-        }
-    }
-
-    private void PlayerDataRefreshInfoEvent(PlayerDataRefresh _type)
-    {
-        switch (_type)
-        {
-            case PlayerDataRefresh.VIPLv:
-                OnVipTimeEven();
-                break;
-            case PlayerDataRefresh.ExpPoint:
-                WorldLVBuff();
-                break;
-            case PlayerDataRefresh.LV:
-                AddoperationStartEvent();
-                break;
-        }
-
-    }
-   
-    private void OnVipTimeEven()
-    {
-        if (vipModel.GetVipPrivilegeCnt(VipPrivilegeType.KillMonsterExpUp) == 3000)
-        {
-            var skillconfig = ConfigManager.Instance.GetTemplate<SkillConfig>(20044);
-            //var _timeSpan = vipModel.vipOverdue - TimeUtility.ServerNow;
-            if (_BuffDic.ContainsKey(20044))
-            {
-                _BuffDic[20044].LastTime = 0;
-                _BuffDic[20044]._dattTime = DateTime.Now;
-            }
-            else
-            {
-                ObjBuff _ObjBuff = new ObjBuff();
-                _ObjBuff.BuffType = skillconfig.SkillType;
-                _ObjBuff.SkillID = 20044;
-                _ObjBuff.LastTime = 0;
-                _ObjBuff._dattTime = DateTime.Now;
-                _ObjBuff.ImagKey = skillconfig.IconName;
-                _ObjBuff.BuffName = skillconfig.SkillName;
-                _ObjBuff.BuffConent = skillconfig.BuffDescription;
-                _ObjBuff.SkillTypeID = skillconfig.SkillTypeID;
-                _ObjBuff.Layer = 0;
-                _BuffDic.Add(20044, _ObjBuff);
-            }
-            if (Even_ObjAddBuf != null)
-                Even_ObjAddBuf();
-        }
-        else
-        {
-            if (_BuffDic.ContainsKey(20044))
-            {
-                _BuffDic.Remove(20044);
-                if (Even_ObjDelBuff != null)
-                    Even_ObjDelBuff();
-            }
-        }
-    }
-
-    private void OnSwitchAttackMode(E_AttackMode obj)
-    {
-        PkType = (int)obj;
-    }
-
-    public void OnBeforePlayerDataInitialize()
-    {
-        _BuffDic.Clear();
-        PkType = 0;
-    }
-    public void ObjAddBuff(H0605_tagObjAddBuff info)//buff澧炲姞
-    {
-        int _Type = ConfigManager.Instance.GetTemplate<SkillConfig>(info.SkillID).SkillType;
-        if (TypeJudgment(_Type) && info.ObjID == PlayerDatas.Instance.baseData.PlayerID && ConfigManager.Instance.GetTemplate<SkillConfig>(info.SkillID).BuffDisplay == 0)
-        {
-
-            if (_BuffDic.ContainsKey((int)info.SkillID))
-            {
-                var ObjBuff = _BuffDic[(int)info.SkillID];
-                ObjBuff.ClearType = (int)info.BuffType;
-                ObjBuff.ObjID = (int)info.ObjID;
-                ObjBuff.BuffType = _Type;
-                ObjBuff.SkillID = (int)info.SkillID;
-                ObjBuff.LastTime = ((int)info.LastTime / 1000);
-                ObjBuff._dattTime = DateTime.Now;
-                ObjBuff.ImagKey = ConfigManager.Instance.GetTemplate<SkillConfig>(info.SkillID).IconName;
-                ObjBuff.BuffName = ConfigManager.Instance.GetTemplate<SkillConfig>(info.SkillID).SkillName;
-                ObjBuff.BuffConent = ConfigManager.Instance.GetTemplate<SkillConfig>(info.SkillID).BuffDescription;
-                ObjBuff.SkillTypeID = ConfigManager.Instance.GetTemplate<SkillConfig>(info.SkillID).SkillTypeID;
-                ObjBuff.Layer = (int)info.Layer;
-            }
-            else
-            {
-                ObjBuff _ObjBuff = new ObjBuff();
-                _ObjBuff.ClearType = (int)info.BuffType;
-                _ObjBuff.ObjID = (int)info.ObjID;
-                _ObjBuff.BuffType = _Type;
-                _ObjBuff.SkillID = (int)info.SkillID;
-                _ObjBuff.LastTime = ((int)info.LastTime / 1000);
-                _ObjBuff._dattTime = DateTime.Now;
-                _ObjBuff.ImagKey = ConfigManager.Instance.GetTemplate<SkillConfig>(info.SkillID).IconName;
-                _ObjBuff.BuffName = ConfigManager.Instance.GetTemplate<SkillConfig>(info.SkillID).SkillName;
-                _ObjBuff.BuffConent = ConfigManager.Instance.GetTemplate<SkillConfig>(info.SkillID).BuffDescription;
-                _ObjBuff.SkillTypeID = ConfigManager.Instance.GetTemplate<SkillConfig>(info.SkillID).SkillTypeID;
-                _ObjBuff.Layer = (int)info.Layer;
-                _BuffDic.Add((int)info.SkillID, _ObjBuff);
-            }
-            if (Even_ObjAddBuf != null)
-                Even_ObjAddBuf();
-        }
-    }
-
-    public void ObjDelBuff(int _BuffID)//buff鍑忓皯
-    {
-        if (_BuffDic.ContainsKey(_BuffID))
-        {
-            _BuffDic.Remove(_BuffID);
-            if (Even_ObjDelBuff != null)
-                Even_ObjDelBuff();
-        }
-    }
-
-    public void ClearBuff(int BuffType, int playerId)//鎸夌被鍨嬫竻闄uff
-    {
-        if (BuffType == 9)
-        {
-            return;
-        }     
-        if (playerId != PlayerDatas.Instance.baseData.PlayerID)
-        {
-            return;
-        }
-        List<int> _ClearBuffType = new List<int>();
-        foreach (int key in _BuffDic.Keys)
-        {
-            if (_BuffDic[key].ClearType == BuffType)
-            {
-                _ClearBuffType.Add(key);
-            }
-
-        }
-        for (int i = 0; i < _ClearBuffType.Count; i++)
-        {
-            _BuffDic.Remove(_ClearBuffType[i]);
-        }
-        if (Even_ObjDelBuff != null)
-        {
-            Even_ObjDelBuff();
-        }
-           
-    }
-
-    bool TypeJudgment(int _buffType)
-    {
-        string[] _BuffList = ConfigManager.Instance.GetTemplate<FuncConfigConfig>("BuffType").Numerical1.Split('|');
-        for (int i = 0; i < _BuffList.Length; i++)
-        {
-            if (_buffType == int.Parse(_BuffList[i]))
-                return true;
-        }
-        return false;
-    }
-
-    public bool BuffCover(int _itemId)
-    {
-        var configItem = ConfigManager.Instance.GetTemplate<ItemConfig>(_itemId);
-        var skillconfig = ConfigManager.Instance.GetTemplate<SkillConfig>(configItem.AddSkill1);
-        if (skillconfig != null && skillconfig.SkillType == 9)
-        {
-            if (_BuffDic.ContainsKey(configItem.AddSkill1))
-            {
-                return false;
-            }
-            foreach (var key in _BuffDic.Keys)
-            {
-                if (_BuffDic[key].BuffType == 9 && _BuffDic[key].SkillTypeID == skillconfig.SkillTypeID)
-                {
-                    return true;
-                }
-            }
-        }
-        return false;
-    }
-
-    private void WorldLVBuff()//鍏充簬涓栫晫绛夌骇鐨凚uff
-    {
-       // return;
-        int getWorldLV = 0;
-        int worldExpRate = 0;
-        getWorldLV = (int)PlayerDatas.Instance.worldLv;
-        worldExpRate = Mathf.FloorToInt(UIHelper.ReplacePercentage((int)PlayerDatas.Instance.worldExpRate, 2));
-
-        if (!FuncOpen.Instance.IsFuncOpen((int)FuncOpenEnum.WorldLv))
-        {
-            return;
-        }
-        if (getWorldLV != 0 && worldExpRate>0)
-        {
-            var skillconfig = ConfigManager.Instance.GetTemplate<SkillConfig>(20047);
-            if (_BuffDic.ContainsKey(20047))
-            {
-                _BuffDic[20047].LastTime = 0;
-                _BuffDic[20047]._dattTime = DateTime.Now;
-                _BuffDic[20047].BuffConent = string.Format(skillconfig.BuffDescription, worldExpRate);
-            }
-            else
-            {
-                ObjBuff _ObjBuff = new ObjBuff();
-                _ObjBuff.BuffType = skillconfig.SkillType;
-                _ObjBuff.SkillID = 20047;
-                _ObjBuff.LastTime = 0;
-                _ObjBuff._dattTime = DateTime.Now;
-                _ObjBuff.ImagKey = skillconfig.IconName;
-                _ObjBuff.BuffName = skillconfig.SkillName;
-                _ObjBuff.BuffConent = string.Format(skillconfig.BuffDescription, worldExpRate);
-                _ObjBuff.SkillTypeID = skillconfig.SkillTypeID;
-                _ObjBuff.Layer = 0;
-                _BuffDic.Add(20047, _ObjBuff);
-            }
-            if (Even_ObjAddBuf != null)
-                Even_ObjAddBuf();
-        }
-    }
-
-    public bool BastBuff(int Item)//鍒ゆ柇韬笂鏄惁鏈夋洿濂界殑缁忛獙BUff
-    {
-        var configItem = ConfigManager.Instance.GetTemplate<ItemConfig>(Item);
-        var skillconfig = ConfigManager.Instance.GetTemplate<SkillConfig>(configItem.AddSkill1);
-        int SkillTypeID = int.Parse(ConfigManager.Instance.GetTemplate<FuncConfigConfig>("IntroductionItem").Numerical2);
-        DesignDebug.Log("璇峰痉榫欑潄寮�鐪肩潧璇磋瘽.........");
-        if (skillconfig.SkillTypeID == SkillTypeID)
-        {
-            int buffLv = 0;
-            foreach (var key in _BuffDic.Keys)
-            {
-                var skillCon = ConfigManager.Instance.GetTemplate<SkillConfig>(key);
-                if (skillCon.SkillTypeID == SkillTypeID && skillCon.SkillLV> buffLv)
-                {
-                    buffLv = skillCon.SkillLV;
-                }
-            }
-            if (buffLv > skillconfig.SkillLV)
-            {
-                return true;
-            }
-            else
-            {
-                return false;
-            }
-        }
-        else
-        {
-            return false;
-        }
-    }
-
-
-}
+锘縰sing System;
+using System.Collections;
+using System.Collections.Generic;
+using TableConfig;
+using UnityEngine;
+using Snxxz.UI;
+//鐢ㄤ簬涓荤晫闈㈢殑BUFF鏁版嵁鎺ユ敹
+public class ObjBuff
+{
+    public int ClearType;
+    public int ObjID;
+    public int BuffType;
+    public int SkillID;
+    public int LastTime;
+    public DateTime _dattTime;
+    public string ImagKey;
+    public string BuffName;
+    public string BuffConent;
+    public int Layer;
+    public int SkillTypeID;
+}
+
+public class PlayerBuffDatas : Model, IBeforePlayerDataInitialize, IPlayerLoginOk
+{
+    public int PkType = 0;//PK瀵硅薄閫夋嫨
+    public delegate void OnObjAddBuff();
+    public static event OnObjAddBuff Even_ObjAddBuf;//鍏充簬Buff鐨勫鍔�
+    public delegate void OnObjDelBuff();
+    public static event OnObjDelBuff Even_ObjDelBuff;//鍏充簬Buff鐨勫噺灏�
+    public Dictionary<int, ObjBuff> _BuffDic = new Dictionary<int, ObjBuff>();//buff瀛楀吀
+    VipModel m_VipModel;
+    VipModel vipModel { get { return m_VipModel ?? (m_VipModel = ModelCenter.Instance.GetModel<VipModel>()); } }
+    public override void Init()
+    {
+        PlayerDatas.Instance.OnSwitchAttackMode += OnSwitchAttackMode;
+        vipModel.OnVipTimeEvent += OnVipTimeEven;
+        PlayerDatas.Instance.PlayerDataRefreshInfoEvent += PlayerDataRefreshInfoEvent;
+        PlayerDatas.Instance.OnRoleAttrRefresh += WorldLVBuff;
+        OperationTimeHepler.Instance.operationStartEvent += operationStartEvent;
+        OperationTimeHepler.Instance.operationEndEvent += operationEndEvent;
+        OperationTimeHepler.Instance.operationTimeUpdateEvent += operationTimeUpdateEvent;
+        FuncOpen.Instance.OnFuncStateChangeEvent += OnFuncStateChangeEvent;
+    }
+    public override void UnInit()
+    {
+        PlayerDatas.Instance.OnSwitchAttackMode -= OnSwitchAttackMode;
+        vipModel.OnVipTimeEvent -= OnVipTimeEven;
+        PlayerDatas.Instance.PlayerDataRefreshInfoEvent -= PlayerDataRefreshInfoEvent;
+        PlayerDatas.Instance.OnRoleAttrRefresh -= WorldLVBuff;
+        OperationTimeHepler.Instance.operationStartEvent -= operationStartEvent;
+        OperationTimeHepler.Instance.operationEndEvent -= operationEndEvent;
+        OperationTimeHepler.Instance.operationTimeUpdateEvent -= operationTimeUpdateEvent;
+        FuncOpen.Instance.OnFuncStateChangeEvent -= OnFuncStateChangeEvent;
+    }
+
+    private void OnFuncStateChangeEvent(int onFuncID)
+    {
+        if (onFuncID == (int)FuncOpenEnum.WorldLv)
+        {
+            WorldLVBuff();
+        }       
+    }
+
+    private void operationTimeUpdateEvent(Operation obj)
+    {
+        if (obj == Operation.MultipleExp)
+        {
+            AddoperationStartEvent();
+            if (Even_ObjAddBuf != null)
+            {
+                Even_ObjAddBuf();
+            }
+        }
+    }
+
+    public void OnPlayerLoginOk()
+    {
+        OnVipTimeEven();
+        WorldLVBuff();
+        AddoperationStartEvent();
+    }
+    private void operationStartEvent(Operation arg1, int arg2)//鍏充簬澶氬�嶇粡楠�
+    {
+        if (arg1 == Operation.MultipleExp && arg2 == 0)
+        {
+            AddoperationStartEvent();
+            if (Even_ObjAddBuf != null)
+            {
+                Even_ObjAddBuf();
+            }
+        }
+    }
+
+    private void AddoperationStartEvent()
+    {
+        bool IsBool = OperationTimeHepler.Instance.SatisfyOpenCondition(Operation.MultipleExp);
+        if (IsBool)
+        {
+            int seconds = OperationTimeHepler.Instance.GetOperationSurplusTime(Operation.MultipleExp);
+            OperationBase operation = null;
+            OperationTimeHepler.Instance.TryGetOperationTime(Operation.MultipleExp, out operation);
+            int multipleF = 0;
+            if (operation != null)
+            {
+                multipleF = (operation as OperationMultiExp).multiple / 10000;
+            }
+            var skillconfig = Config.Instance.Get<SkillConfig>(20048);
+            if (_BuffDic.ContainsKey(20048))
+            {
+                _BuffDic[20048].LastTime = seconds;
+                _BuffDic[20048]._dattTime = DateTime.Now;
+                _BuffDic[20048].BuffConent = string.Format(skillconfig.BuffDescription, (multipleF - 1) * 100);
+                if (multipleF == 2)
+                {
+                    _BuffDic[20048].BuffName = Language.Get("ExpActivity_Text2");
+                }
+                else if (multipleF == 3)
+                {
+                    _BuffDic[20048].BuffName = Language.Get("ExpActivity_Text3");
+                }
+                else if (multipleF == 5)
+                {
+                    _BuffDic[20048].BuffName = Language.Get("ExpActivity_Text4");
+                }
+                else
+                {
+                    _BuffDic[20048].BuffName = skillconfig.SkillName;
+                }
+            }
+            else
+            {
+                ObjBuff _ObjBuff = new ObjBuff();
+                _ObjBuff.BuffType = skillconfig.SkillType;
+                _ObjBuff.SkillID = 20048;
+                _ObjBuff.LastTime = seconds;
+                _ObjBuff._dattTime = DateTime.Now;
+                if (multipleF == 2)
+                {
+                    _ObjBuff.BuffName = Language.Get("ExpActivity_Text2");
+                } else if (multipleF == 3)
+                {
+                    _ObjBuff.BuffName = Language.Get("ExpActivity_Text3");
+                } else if (multipleF == 5)
+                {
+                    _ObjBuff.BuffName = Language.Get("ExpActivity_Text4");
+                }
+                else
+                {
+                    _ObjBuff.BuffName = skillconfig.SkillName;
+                }
+                _ObjBuff.ImagKey = skillconfig.IconName;               
+                _ObjBuff.BuffConent = string.Format(skillconfig.BuffDescription, (multipleF-1) * 100);
+                _ObjBuff.SkillTypeID = skillconfig.SkillTypeID;
+                _ObjBuff.Layer = 0;
+                _BuffDic.Add(20048, _ObjBuff);
+            }
+        }
+    }
+    private void operationEndEvent(Operation arg1, int arg2)
+    {
+        if (arg1== Operation.MultipleExp && arg2==0)
+        {
+            if (_BuffDic.ContainsKey(20048))
+            {
+                _BuffDic.Remove(20048);
+                if (Even_ObjDelBuff != null)
+                    Even_ObjDelBuff();
+            }
+
+        }
+    }
+
+    private void PlayerDataRefreshInfoEvent(PlayerDataRefresh _type)
+    {
+        switch (_type)
+        {
+            case PlayerDataRefresh.VIPLv:
+                OnVipTimeEven();
+                break;
+            case PlayerDataRefresh.ExpPoint:
+                WorldLVBuff();
+                break;
+            case PlayerDataRefresh.LV:
+                AddoperationStartEvent();
+                break;
+        }
+
+    }
+   
+    private void OnVipTimeEven()
+    {
+        if (vipModel.GetVipPrivilegeCnt(VipPrivilegeType.KillMonsterExpUp) == 3000)
+        {
+            var skillconfig = Config.Instance.Get<SkillConfig>(20044);
+            //var _timeSpan = vipModel.vipOverdue - TimeUtility.ServerNow;
+            if (_BuffDic.ContainsKey(20044))
+            {
+                _BuffDic[20044].LastTime = 0;
+                _BuffDic[20044]._dattTime = DateTime.Now;
+            }
+            else
+            {
+                ObjBuff _ObjBuff = new ObjBuff();
+                _ObjBuff.BuffType = skillconfig.SkillType;
+                _ObjBuff.SkillID = 20044;
+                _ObjBuff.LastTime = 0;
+                _ObjBuff._dattTime = DateTime.Now;
+                _ObjBuff.ImagKey = skillconfig.IconName;
+                _ObjBuff.BuffName = skillconfig.SkillName;
+                _ObjBuff.BuffConent = skillconfig.BuffDescription;
+                _ObjBuff.SkillTypeID = skillconfig.SkillTypeID;
+                _ObjBuff.Layer = 0;
+                _BuffDic.Add(20044, _ObjBuff);
+            }
+            if (Even_ObjAddBuf != null)
+                Even_ObjAddBuf();
+        }
+        else
+        {
+            if (_BuffDic.ContainsKey(20044))
+            {
+                _BuffDic.Remove(20044);
+                if (Even_ObjDelBuff != null)
+                    Even_ObjDelBuff();
+            }
+        }
+    }
+
+    private void OnSwitchAttackMode(E_AttackMode obj)
+    {
+        PkType = (int)obj;
+    }
+
+    public void OnBeforePlayerDataInitialize()
+    {
+        _BuffDic.Clear();
+        PkType = 0;
+    }
+    public void ObjAddBuff(H0605_tagObjAddBuff info)//buff澧炲姞
+    {
+        int _Type = Config.Instance.Get<SkillConfig>(info.SkillID).SkillType;
+        if (TypeJudgment(_Type) && info.ObjID == PlayerDatas.Instance.baseData.PlayerID && Config.Instance.Get<SkillConfig>(info.SkillID).BuffDisplay == 0)
+        {
+
+            if (_BuffDic.ContainsKey((int)info.SkillID))
+            {
+                var ObjBuff = _BuffDic[(int)info.SkillID];
+                ObjBuff.ClearType = (int)info.BuffType;
+                ObjBuff.ObjID = (int)info.ObjID;
+                ObjBuff.BuffType = _Type;
+                ObjBuff.SkillID = (int)info.SkillID;
+                ObjBuff.LastTime = ((int)info.LastTime / 1000);
+                ObjBuff._dattTime = DateTime.Now;
+                ObjBuff.ImagKey = Config.Instance.Get<SkillConfig>(info.SkillID).IconName;
+                ObjBuff.BuffName = Config.Instance.Get<SkillConfig>(info.SkillID).SkillName;
+                ObjBuff.BuffConent = Config.Instance.Get<SkillConfig>(info.SkillID).BuffDescription;
+                ObjBuff.SkillTypeID = Config.Instance.Get<SkillConfig>(info.SkillID).SkillTypeID;
+                ObjBuff.Layer = (int)info.Layer;
+            }
+            else
+            {
+                ObjBuff _ObjBuff = new ObjBuff();
+                _ObjBuff.ClearType = (int)info.BuffType;
+                _ObjBuff.ObjID = (int)info.ObjID;
+                _ObjBuff.BuffType = _Type;
+                _ObjBuff.SkillID = (int)info.SkillID;
+                _ObjBuff.LastTime = ((int)info.LastTime / 1000);
+                _ObjBuff._dattTime = DateTime.Now;
+                _ObjBuff.ImagKey = Config.Instance.Get<SkillConfig>(info.SkillID).IconName;
+                _ObjBuff.BuffName = Config.Instance.Get<SkillConfig>(info.SkillID).SkillName;
+                _ObjBuff.BuffConent = Config.Instance.Get<SkillConfig>(info.SkillID).BuffDescription;
+                _ObjBuff.SkillTypeID = Config.Instance.Get<SkillConfig>(info.SkillID).SkillTypeID;
+                _ObjBuff.Layer = (int)info.Layer;
+                _BuffDic.Add((int)info.SkillID, _ObjBuff);
+            }
+            if (Even_ObjAddBuf != null)
+                Even_ObjAddBuf();
+        }
+    }
+
+    public void ObjDelBuff(int _BuffID)//buff鍑忓皯
+    {
+        if (_BuffDic.ContainsKey(_BuffID))
+        {
+            _BuffDic.Remove(_BuffID);
+            if (Even_ObjDelBuff != null)
+                Even_ObjDelBuff();
+        }
+    }
+
+    public void ClearBuff(int BuffType, int playerId)//鎸夌被鍨嬫竻闄uff
+    {
+        if (BuffType == 9)
+        {
+            return;
+        }     
+        if (playerId != PlayerDatas.Instance.baseData.PlayerID)
+        {
+            return;
+        }
+        List<int> _ClearBuffType = new List<int>();
+        foreach (int key in _BuffDic.Keys)
+        {
+            if (_BuffDic[key].ClearType == BuffType)
+            {
+                _ClearBuffType.Add(key);
+            }
+
+        }
+        for (int i = 0; i < _ClearBuffType.Count; i++)
+        {
+            _BuffDic.Remove(_ClearBuffType[i]);
+        }
+        if (Even_ObjDelBuff != null)
+        {
+            Even_ObjDelBuff();
+        }
+           
+    }
+
+    bool TypeJudgment(int _buffType)
+    {
+        string[] _BuffList = Config.Instance.Get<FuncConfigConfig>("BuffType").Numerical1.Split('|');
+        for (int i = 0; i < _BuffList.Length; i++)
+        {
+            if (_buffType == int.Parse(_BuffList[i]))
+                return true;
+        }
+        return false;
+    }
+
+    public bool BuffCover(int _itemId)
+    {
+        var configItem = Config.Instance.Get<ItemConfig>(_itemId);
+        var skillconfig = Config.Instance.Get<SkillConfig>(configItem.AddSkill1);
+        if (skillconfig != null && skillconfig.SkillType == 9)
+        {
+            if (_BuffDic.ContainsKey(configItem.AddSkill1))
+            {
+                return false;
+            }
+            foreach (var key in _BuffDic.Keys)
+            {
+                if (_BuffDic[key].BuffType == 9 && _BuffDic[key].SkillTypeID == skillconfig.SkillTypeID)
+                {
+                    return true;
+                }
+            }
+        }
+        return false;
+    }
+
+    private void WorldLVBuff()//鍏充簬涓栫晫绛夌骇鐨凚uff
+    {
+       // return;
+        int getWorldLV = 0;
+        int worldExpRate = 0;
+        getWorldLV = (int)PlayerDatas.Instance.worldLv;
+        worldExpRate = Mathf.FloorToInt(UIHelper.ReplacePercentage((int)PlayerDatas.Instance.worldExpRate, 2));
+
+        if (!FuncOpen.Instance.IsFuncOpen((int)FuncOpenEnum.WorldLv))
+        {
+            return;
+        }
+        if (getWorldLV != 0 && worldExpRate>0)
+        {
+            var skillconfig = Config.Instance.Get<SkillConfig>(20047);
+            if (_BuffDic.ContainsKey(20047))
+            {
+                _BuffDic[20047].LastTime = 0;
+                _BuffDic[20047]._dattTime = DateTime.Now;
+                _BuffDic[20047].BuffConent = string.Format(skillconfig.BuffDescription, worldExpRate);
+            }
+            else
+            {
+                ObjBuff _ObjBuff = new ObjBuff();
+                _ObjBuff.BuffType = skillconfig.SkillType;
+                _ObjBuff.SkillID = 20047;
+                _ObjBuff.LastTime = 0;
+                _ObjBuff._dattTime = DateTime.Now;
+                _ObjBuff.ImagKey = skillconfig.IconName;
+                _ObjBuff.BuffName = skillconfig.SkillName;
+                _ObjBuff.BuffConent = string.Format(skillconfig.BuffDescription, worldExpRate);
+                _ObjBuff.SkillTypeID = skillconfig.SkillTypeID;
+                _ObjBuff.Layer = 0;
+                _BuffDic.Add(20047, _ObjBuff);
+            }
+            if (Even_ObjAddBuf != null)
+                Even_ObjAddBuf();
+        }
+    }
+
+    public bool BastBuff(int Item)//鍒ゆ柇韬笂鏄惁鏈夋洿濂界殑缁忛獙BUff
+    {
+        var configItem = Config.Instance.Get<ItemConfig>(Item);
+        var skillconfig = Config.Instance.Get<SkillConfig>(configItem.AddSkill1);
+        int SkillTypeID = int.Parse(Config.Instance.Get<FuncConfigConfig>("IntroductionItem").Numerical2);
+        DebugEx.Log("璇峰痉榫欑潄寮�鐪肩潧璇磋瘽.........");
+        if (skillconfig.SkillTypeID == SkillTypeID)
+        {
+            int buffLv = 0;
+            foreach (var key in _BuffDic.Keys)
+            {
+                var skillCon = Config.Instance.Get<SkillConfig>(key);
+                if (skillCon.SkillTypeID == SkillTypeID && skillCon.SkillLV> buffLv)
+                {
+                    buffLv = skillCon.SkillLV;
+                }
+            }
+            if (buffLv > skillconfig.SkillLV)
+            {
+                return true;
+            }
+            else
+            {
+                return false;
+            }
+        }
+        else
+        {
+            return false;
+        }
+    }
+
+
+}

--
Gitblit v1.8.0