少年修仙传客户端代码仓库
client_Zxw
2018-09-27 f5982d322b115c588890901315e7ae159e82fdb5
Merge branch 'master' of http://192.168.0.87:10010/r/snxxz_scripts
15个文件已修改
276 ■■■■ 已修改文件
Core/GameEngine/Model/TelPartialConfig/BossInfoConfig.cs 11 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Fight/BossFakeLineUtility.cs 25 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/Dogz/DogzActiveWin.cs 16 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/Dogz/DogzModel.cs 34 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/Dogz/DogzWin.cs 5 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/DogzDungeon/DogzDungeonModel.cs 21 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/DogzDungeon/DogzEliteMonsterBehaviour.cs 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/FindPrecious/DemonJarModel.cs 28 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/FindPrecious/FindPreciousModel.cs 48 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/FriendSystem/New/FriendsModel.cs 24 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/KnapSack/Logic/PackSendQuestMgr.cs 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/MainInterfacePanel/MainRedDot.cs 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/Role/RoleModel.cs 11 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/Role/RoleRenameWin.cs 43 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/Strengthening/GodBeastModel.cs 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
Core/GameEngine/Model/TelPartialConfig/BossInfoConfig.cs
@@ -13,12 +13,18 @@
    public partial class BossInfoConfig : ConfigBase, IConfigPostProcess
    {
        private static Dictionary<int, BossInfoConfig> bossInfoDict = new Dictionary<int, BossInfoConfig>();
        private static List<int> stoneIds = new List<int>();
        public void OnConfigParseCompleted()
        {
            if (!bossInfoDict.ContainsKey(StoneNPCID))
            {
                bossInfoDict.Add(StoneNPCID, this);
            }
            if (!stoneIds.Contains(StoneNPCID))
            {
                stoneIds.Add(StoneNPCID);
            }
        }
@@ -31,6 +37,11 @@
            return null;
        }
        public static bool IsStone(int npcId)
        {
            return stoneIds.Contains(npcId);
        }
    }
}
Fight/BossFakeLineUtility.cs
@@ -68,6 +68,31 @@
        }
    }
    public bool HasSawLineStoneRecently(int bossId, int lineId)
    {
        var config = Config.Instance.Get<BossInfoConfig>(bossId);
        if (config == null)
        {
            return false;
        }
        var stoneId = config.StoneNPCID;
        //补充具体逻辑
        return false;
    }
    public bool HasSawLineBossRecently(int bossId, int lineId)
    {
        var isMistakeBoss = lastBossNpcID == bossId && Time.realtimeSinceStartup < inMistakeForBossAliveOverTime;
        //补充具体逻辑
        return false;
    }
    FindPreciousModel findPreciousModel { get { return ModelCenter.Instance.GetModel<FindPreciousModel>(); } }
    Dictionary<int, DateTime> bossKillTimes = new Dictionary<int, DateTime>();
System/Dogz/DogzActiveWin.cs
@@ -281,7 +281,7 @@
        private void UpdateDogzAssistCnt()
        {
            m_Controller.m_Scorller.RefreshActiveCellViews();
            m_DogzAssistCnt.text = Language.Get("TreasurePrivilege_Dogz_1", StringUtility.Contact(model.GetAssistDogzCount(), "/", model.DogzAssistDefaultCnt));
            m_DogzAssistCnt.text = Language.Get("TreasurePrivilege_Dogz_1", StringUtility.Contact(model.GetAssistDogzCount(), "/", model.curSumAssistNum));
            UpdateDogzBtn();
            UpdateDogzProperty();
            UpdateDogzEquip();
@@ -296,11 +296,21 @@
        private void AddAssist()
        {
            if(model.IsAddMaxAssist())
            {
                SysNotifyMgr.Instance.ShowTip("DogzNumLimit");
                return;
            }
            var _itemConfig = Config.Instance.Get<ItemConfig>(model.AddAssistItem);
            ConfirmCancel.ShowItemConfirm(Language.Get("DogzFunc102", _itemConfig.ItemName, model.GetAssistItemCnt()),
                model.AddAssistItem, model.GetAssistItemCnt(), () =>
             model.AddAssistItem, model.GetAssistItemCnt(), () =>
            {
                model.SendBuyAssistCnt();
                if (model.curSumAssistNum + 1 >= model.DogzAssistMaxCnt)
                {
                    SysNotifyMgr.Instance.ShowTip("DogzNumLimit");
                }
            });
        }
        private void TakeOffEquip()
@@ -319,7 +329,7 @@
            {
                if(!model.TryGetAssistDogzState(model.presentSelectDogz))
                {
                    if(model.GetAssistDogzCount() < model.DogzAssistDefaultCnt)
                    if(model.GetAssistDogzCount() < model.curSumAssistNum)
                    {
                        assistEffect.Play();
                        assistTextEffect.Play();
System/Dogz/DogzModel.cs
@@ -19,6 +19,7 @@
        public void OnBeforePlayerDataInitialize()
        {
            curSumAssistNum = DogzAssistDefaultCnt;
            addAssistCnt = 0;
            SelectDogzItemQuality = 0;
            SelectDogzItemStart = 0;
@@ -51,7 +52,7 @@
        #region 配置
        private Dictionary<int, Dictionary<int, int>> m_DogzEquipLimit = new Dictionary<int, Dictionary<int, int>>(); //装备位 品质限制
        public int DogzAssistDefaultCnt { get; private set; }  //助战神兽总数
        public int DogzAssistDefaultCnt { get; private set; }  //助战神兽默认数量
        public int DogzAssistMaxCnt { get; private set; }//助战神兽最大数
        public int AddAssistItem { get; private set; } //增加助战神兽总数的物品Id
        public int DogzPackGridCnt { get; private set; } //神兽物品背包格子数
@@ -217,7 +218,27 @@
        public int GetAssistItemCnt()
        {
            return AddAssistItemCnt[addAssistCnt];
            if(!IsAddMaxAssist())
            {
                return AddAssistItemCnt[addAssistCnt];
            }
            else
            {
                return AddAssistItemCnt[AddAssistItemCnt.Length - 1];
            }
        }
        public bool IsAddMaxAssist()
        {
            if (curSumAssistNum < DogzAssistMaxCnt)
            {
                return false;
            }
            else
            {
                return true;
            }
        }
        public int presentSelectDogz { get; set; } //当前选中的神兽id
@@ -253,10 +274,11 @@
        #region 协议
        public int addAssistCnt { get; private set; } //额外购买的助战数
        public int curSumAssistNum { get; private set; } //当前可以助战的神兽数量
        public void SetServerAddAssistDogzCnt(HA3C0_tagMCDogzInfo info)
        {
            addAssistCnt = info.BuyHelpbattleCount;
            DogzAssistDefaultCnt += addAssistCnt;
            curSumAssistNum = DogzAssistDefaultCnt + addAssistCnt;
            if (UpdateAssistDogzEvent != null)
            {
                UpdateAssistDogzEvent();
@@ -788,7 +810,7 @@
            {
                value.state = RedPointState.None;
            }
            bool isMaxAssistNum = GetAssistDogzCount() >= DogzAssistDefaultCnt ? true : false;
            bool isMaxAssistNum = GetAssistDogzCount() >= curSumAssistNum ? true : false;
            int minAlreadyAssistId = 0;
            foreach (var dogzId in m_DogzEquipLimit.Keys)
            {
@@ -859,7 +881,7 @@
                    return;
                }
            }
            bool isMaxAssistNum = GetAssistDogzCount() >= DogzAssistDefaultCnt ? true : false;
            bool isMaxAssistNum = GetAssistDogzCount() >= curSumAssistNum ? true : false;
            if (!isMaxAssistNum)
            {
                int maxEquipNum = 0;
@@ -974,7 +996,7 @@
        public void UpdateAssistNumRed()
        {
          if(CheckIsAddAssistNum())
          if(CheckIsAddAssistNum() && !IsAddMaxAssist())
           {
                if(addAssistDogzRedpoint.state == RedPointState.None)
                {
System/Dogz/DogzWin.cs
@@ -42,7 +42,10 @@
        protected override void OnPreOpen()
        {
            dogzModel.OpenFuncEvent += OnOpenFuncEvent;
            dogzModel.SetDefaultSelectDogz();
            if(!WindowJumpMgr.Instance.IsJumpState)
            {
                dogzModel.SetDefaultSelectDogz();
            }
        }
        protected override void OnActived()
System/DogzDungeon/DogzDungeonModel.cs
@@ -87,10 +87,12 @@
        public override void Init()
        {
            ParseConfig();
            FuncOpen.Instance.OnFuncStateChangeEvent += OnFunctionStateChange;
        }
        public override void UnInit()
        {
            FuncOpen.Instance.OnFuncStateChangeEvent -= OnFunctionStateChange;
        }
        public bool TryGetBossData(int _bossId, out DogzDungeonBossData _data)
@@ -312,10 +314,25 @@
            UpdateRedpoint();
        }
        private void OnFunctionStateChange(int id)
        {
            if (id == 138)
            {
                UpdateRedpoint();
            }
        }
        private void UpdateRedpoint()
        {
            var wearyValueLimit = GeneralConfig.Instance.bossWearyValues[2];
            redpoint.count = wearyValueLimit - wearyValue;
            if (FuncOpen.Instance.IsFuncOpen(138))
            {
                redpoint.count = 0;
            }
            else
            {
                var wearyValueLimit = GeneralConfig.Instance.bossWearyValues[2];
                redpoint.count = wearyValueLimit - wearyValue;
            }
            redpoint.state = redpoint.count > 0 ? RedPointState.Quantity : RedPointState.None;
        }
System/DogzDungeon/DogzEliteMonsterBehaviour.cs
@@ -23,12 +23,12 @@
            var config = Config.Instance.Get<NPCConfig>(model.eliteMonsters[0]);
            UI3DModelExhibition.Instance.ShowNPC(model.eliteMonsters[0], config.UIModeLOffset, config.UIModelRotation, m_RawImage);
            DisplayGuardSurplusInfo();
            model.boxSurplusChangeEvent += OnGuardInfoUpdate;
            model.eliteSurplusChangeEvent += OnGuardInfoUpdate;
        }
        public void Dispose()
        {
            model.boxSurplusChangeEvent -= OnGuardInfoUpdate;
            model.eliteSurplusChangeEvent -= OnGuardInfoUpdate;
            UI3DModelExhibition.Instance.StopShow();
        }
System/FindPrecious/DemonJarModel.cs
@@ -268,12 +268,25 @@
                    if (PlayerDatas.Instance.baseData.LV == GeneralConfig.Instance.demonJarRedPoint)
                    {
                        var count = dungeonModel.GetTotalTimes(DEMONJAR_MAPID) - dungeonModel.GetEnterTimes(DEMONJAR_MAPID);
                        redpoint.state = count > 0 ? RedPointState.Quantity : RedPointState.None;
                        redpoint.count = count;
                        UpdateRedpoint();
                    }
                    break;
            }
        }
        private void UpdateRedpoint()
        {
            if (FuncOpen.Instance.IsFuncOpen(76))
            {
                var count = dungeonModel.GetTotalTimes(DEMONJAR_MAPID) - dungeonModel.GetEnterTimes(DEMONJAR_MAPID);
                redpoint.count = count;
            }
            else
            {
                redpoint.count = 0;
            }
            redpoint.state = redpoint.count > 0 ? RedPointState.Quantity : RedPointState.None;
        }
        private void OnMapLineUpdateEvent(int _mapId)
@@ -330,9 +343,7 @@
        {
            if (DEMONJAR_MAPID == _dataMapId && PlayerDatas.Instance.baseData.LV >= GeneralConfig.Instance.demonJarRedPoint)
            {
                var count = dungeonModel.GetTotalTimes(_dataMapId) - dungeonModel.GetEnterTimes(_dataMapId);
                redpoint.state = count > 0 ? RedPointState.Quantity : RedPointState.None;
                redpoint.count = count;
                UpdateRedpoint();
            }
        }
@@ -340,11 +351,8 @@
        {
            if (PlayerDatas.Instance.baseData.LV >= GeneralConfig.Instance.demonJarRedPoint)
            {
                var count = dungeonModel.GetTotalTimes(DEMONJAR_MAPID) - dungeonModel.GetEnterTimes(DEMONJAR_MAPID);
                redpoint.state = count > 0 ? RedPointState.Quantity : RedPointState.None;
                redpoint.count = count;
                UpdateRedpoint();
            }
        }
        private void AutoSubscribeLastUnLockBoss(int _bossId)
System/FindPrecious/FindPreciousModel.cs
@@ -44,9 +44,9 @@
        Dictionary<int, BossSubscribe> bossSubscribes = new Dictionary<int, BossSubscribe>();
        bool serverInited = false;
        public event Action<int> bossInfoUpdateEvent;
        public event Action<int> bossSubscribeChangeEvent;
        public event Action preciousDropRecordUpdateEvent;
        public event Action<int> bossInfoUpdateEvent;
        public event Action bossRebornNotifyChangeEvent;
        DungeonModel dungeonModel { get { return ModelCenter.Instance.GetModel<DungeonModel>(); } }
@@ -541,40 +541,37 @@
                    {
                        return false;
                    }
                    else if (BossFakeLineUtility.Instance.HasSawLineBossRecently(bossId, PlayerDatas.Instance.baseData.FBID))
                    {
                        return true;
                    }
                    else if (BossFakeLineUtility.Instance.HasSawLineStoneRecently(bossId, PlayerDatas.Instance.baseData.FBID))
                    {
                        return false;
                    }
                    else
                    {
                        var isMistakeBoss = BossFakeLineUtility.Instance.lastBossNpcID == bossId
                            && Time.realtimeSinceStartup < BossFakeLineUtility.Instance.inMistakeForBossAliveOverTime;
                        var isLineBossAlive = IsLineBossAlive(PlayerDatas.Instance.baseData.FBID);
                        if (isMistakeBoss && isLineBossAlive)
                        var currentNeutralMap = false;
                        if (Config.Instance.ContainKey<WorldBossConfig>(bossId))
                        {
                            return true;
                            var worldBossConfig = Config.Instance.Get<WorldBossConfig>(bossId);
                            currentNeutralMap = worldBossConfig.MapID == PlayerDatas.Instance.baseData.MapID;
                            currentNeutralMap = currentNeutralMap && GeneralConfig.Instance.neutralMaps.Contains(worldBossConfig.MapID);
                        }
                        if (currentNeutralMap)
                        {
                            return IsLineBossAlive(PlayerDatas.Instance.baseData.FBID);
                        }
                        else
                        {
                            var currentNeutralMap = false;
                            if (Config.Instance.ContainKey<WorldBossConfig>(bossId))
                            if (BossFakeLineUtility.Instance.IsBossKilledRecently(bossId))
                            {
                                var worldBossConfig = Config.Instance.Get<WorldBossConfig>(bossId);
                                currentNeutralMap = worldBossConfig.MapID == PlayerDatas.Instance.baseData.MapID;
                                currentNeutralMap = currentNeutralMap && GeneralConfig.Instance.neutralMaps.Contains(worldBossConfig.MapID);
                            }
                            if (currentNeutralMap)
                            {
                                return isLineBossAlive;
                                return !IsAnyLineBossDead();
                            }
                            else
                            {
                                if (BossFakeLineUtility.Instance.IsBossKilledRecently(bossId))
                                {
                                    return !IsAnyLineBossDead();
                                }
                                else
                                {
                                    return IsAnyLineBossAlive();
                                }
                                return IsAnyLineBossAlive();
                            }
                        }
                    }
@@ -710,7 +707,6 @@
                    }
                }
            }
            public static int Compare2(DropRecord _lhs, DropRecord _rhs)
            {
System/FriendSystem/New/FriendsModel.cs
@@ -128,13 +128,9 @@
    private void RefreshKillOtherPlayer(uint id, string name)
    {
        if (id == PlayerDatas.Instance.baseData.PlayerID || IsDungeon()) return;
        ChatCtrl.Inst.PteChatID = (int)id;
        ChatCtrl.Inst.PteChatName = name;
        LanguageVerify.toPlayerLevel = 0;
        MapConfig mapConfig = Config.Instance.Get<MapConfig>(PlayerDatas.Instance.baseData.MapID);
        string msg = StringUtility.Contact(Language.Get("KillOthersDes", mapConfig.Name,StringUtility.Contact("<color=#FF0101FF>", UIHelper.ServerStringTrim(PlayerDatas.Instance.baseData.PlayerName), "</color>")),ChatCtrl.KILL_IDENTIFY);
        ChatCtrl.Inst.SendChatInfo(ChatInfoType.Friend,msg);
        SendChatInfoToPlayer((int)id,name,0,msg);
    }
    private bool IsDungeon()
@@ -144,6 +140,24 @@
        return mapConfig != null && mapConfig.MapFBType != 0;
    }
    public void SendChatInfoByGroup(GroupType groupType,string info)
    {
        if(_groupDict.ContainsKey((byte)groupType))
        {
            foreach(var value in _groupDict[(byte)groupType].Values)
            {
                SendChatInfoToPlayer((int)value.PlayerID,UIHelper.ServerStringTrim(value.PlayerName),value.LV,info);
            }
        }
    }
    public void SendChatInfoToPlayer(int id,string name,int lv,string info)
    {
        ChatCtrl.Inst.PteChatID = id;
        ChatCtrl.Inst.PteChatName = name;
        LanguageVerify.toPlayerLevel = lv;
        ChatCtrl.Inst.SendChatInfo(ChatInfoType.Friend,info);
    }
    //刷新好友列表信息
    public void ReFreshFriendlist(HB304_tagGCSocialPlayers friendInfo)
System/KnapSack/Logic/PackSendQuestMgr.cs
@@ -865,6 +865,9 @@
                                SendMakeUseQuest(itemModel.itemInfo.ItemPlace);
                            }
                            break;
                        case 953:
                            WindowCenter.Instance.Open<RoleRenameWin>();
                            break;
                        default:
                            ItemCDCool cool = KnapsackTimeCDMgr.Instance.GetItemCoolById(itemModel.itemInfo.ItemGUID);
                            if (cool == null || cool.GetRemainTime() <= 0)
System/MainInterfacePanel/MainRedDot.cs
@@ -26,6 +26,7 @@
        #region 角色红点
        public Redpoint roleRedpoint = new Redpoint(RedPoint_key, 101);
        public Redpoint roleTagRedpoint = new Redpoint(101, 10101);
        #endregion
        #region 邮件红点
System/Role/RoleModel.cs
@@ -8,6 +8,8 @@
{
    public class RoleModel : Model,IBeforePlayerDataInitialize,IAfterPlayerDataInitialize,IPlayerLoginOk
    {
        FriendsModel friendsModel { get { return ModelCenter.Instance.GetModel<FriendsModel>(); } }
        public override void Init()
        {
        }
@@ -31,6 +33,11 @@
        {
        }
        public string playerRename { get; private set; }
        public void SetRename(string rename)
        {
            playerRename = rename;
        }
        #region 协议
        public void ServerRenameResult(HA921_tagUpdatePlayerNameResult renameResult)
        {
@@ -50,7 +57,9 @@
                case RoleRenameResult.RenameFailErr:
                    break;
                case RoleRenameResult.RenameSuccess:
                    SysNotifyMgr.Instance.ShowTip("RepeatName");
                    string info = StringUtility.Contact("我是",UIHelper.ServerStringTrim(PlayerDatas.Instance.baseData.PlayerName),"现在改名为",playerRename);
                    friendsModel.SendChatInfoByGroup(GroupType.Friend,info);
                    GameNetSystem.Instance.Reconnect();
                    break;
            }
        }
System/Role/RoleRenameWin.cs
@@ -15,6 +15,7 @@
        [SerializeField] ItemCell itemCell;
        PlayerPackModel playerPack { get { return ModelCenter.Instance.GetModel<PlayerPackModel>(); } }
        ItemTipsModel tipsModel { get { return ModelCenter.Instance.GetModel<ItemTipsModel>(); } }
        RoleModel roleModel { get { return ModelCenter.Instance.GetModel<RoleModel>(); } }
        protected override void BindController()
        {
@@ -27,7 +28,7 @@
        }
        protected override void OnPreOpen()
        {
            OnDisplay();
        }
        protected override void OnAfterOpen()
        {
@@ -64,14 +65,14 @@
        private int GetRenameToolIndex()
        {
            SinglePackModel singlePack = playerPack.GetSinglePackModel(PackType.rptItem);
            if (singlePack == null) return -1;
            if (singlePack == null) return 0;
            List<int> indexlist = singlePack.ItemIndexlist(953,1);
            if(indexlist.Count > 0)
            {
                return indexlist[0];
                return indexlist[0] + 1;
            }
            return -1;
            return 0;
        }
        private void ClickRenameBtn()
@@ -104,21 +105,29 @@
                return;
            }
              LanguageVerify.Instance.VerifyPlayerName(renameInput.text, 0,
               UIHelper.ServerStringTrim(PlayerDatas.Instance.baseData.PlayerName),PlayerDatas.Instance.baseData.LV,
                PlayerDatas.Instance.baseData.VIPLv, (bool ok, string name) =>
               {
                  if(ok)
            ConfirmCancel.ShowPopConfirm(Language.Get("Mail101"), StringUtility.Contact("确定改名为", renameInput.text), (bool isOk) =>
              {
                  if (isOk)
                  {
                       CA122_tagUpdatePlayerName renamePlayerName = new CA122_tagUpdatePlayerName();
                       renamePlayerName.NewNameLen = (byte)name.Length;
                       renamePlayerName.NewName = name;
                       renamePlayerName.ItemIndex = (byte)GetRenameToolIndex();
                       renamePlayerName.ServerID = (uint)ServerListCenter.Instance.currentServer.region_flag;
                       GameNetSystem.Instance.SendInfo(renamePlayerName);
                  }
                      LanguageVerify.Instance.VerifyPlayerName(renameInput.text, 0,
                        UIHelper.ServerStringTrim(PlayerDatas.Instance.baseData.PlayerName), PlayerDatas.Instance.baseData.LV,
                         PlayerDatas.Instance.baseData.VIPLv, (bool ok, string name) =>
                         {
                             if (ok)
                             {
                                 roleModel.SetRename(name);
                                 CA122_tagUpdatePlayerName renamePlayerName = new CA122_tagUpdatePlayerName();
                                 renamePlayerName.NewNameLen = (byte)name.Length;
                                 renamePlayerName.NewName = name;
                                 renamePlayerName.ItemIndex = (byte)GetRenameToolIndex();
                                 renamePlayerName.ServerID = (uint)ServerListCenter.Instance.currentServer.region_flag;
                                 GameNetSystem.Instance.SendInfo(renamePlayerName);
                             }
               });
                         });
                  }
              });
        }
        private bool CheckNameLengthLimit(string _value)
System/Strengthening/GodBeastModel.cs
@@ -282,7 +282,7 @@
                            _ItemColor = itemModelBack.chinItemModel.ItemColor;
                        }
                    }
                    if (Type >= dogz_model.DogzAssistDefaultCnt && ItemColor> _ItemColor)//出战神兽已满,且神兽背包有品质低于已助战神兽品质颜色时
                    if (Type >= dogz_model.curSumAssistNum && ItemColor> _ItemColor)//出战神兽已满,且神兽背包有品质低于已助战神兽品质颜色时
                    {
                        redPointStre1.state = RedPointState.Simple;
                        return;