少年修仙传客户端代码仓库
client_linchunjie
2018-09-28 c591cb6e215ea5e762560afdae059f1d4fd7f4ec
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();
@@ -695,13 +717,26 @@
        {
            var configs = Config.Instance.GetAllValues<DogzConfig>();
            presentSelectDogz = configs[0].ID;
            foreach (var key in m_DogzEquipLimit.Keys)
            if(dogzFuncRedpoint.state == RedPointState.Simple)
            {
                Redpoint redpoint = GetSingleDogzRedpointById(key);
                if (redpoint.state == RedPointState.Simple)
                foreach (var key in m_DogzEquipLimit.Keys)
                {
                    presentSelectDogz = key;
                    break;
                    Redpoint redpoint = GetSingleDogzRedpointById(key);
                    if (redpoint.state == RedPointState.Simple)
                    {
                        presentSelectDogz = key;
                        break;
                    }
                }
            }
            else
            {
                foreach(var key in dogzAssistStateDict.Keys)
                {
                    if(TryGetAssistDogzState(key))
                    {
                        presentSelectDogz = presentSelectDogz > key ? presentSelectDogz : key;
                    }
                }
            }
        }
@@ -775,19 +810,19 @@
            {
                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)
            {
                if (TryGetAssistDogzState(dogzId)
                    && ((minAlreadyAssistId > dogzId && minAlreadyAssistId != 0) || minAlreadyAssistId == 0))
                {
                    minAlreadyAssistId = dogzId;
                }
            }
            if (!isMaxAssistNum)
            {
                int minAlreadyAssistId = 0;
                foreach (var dogzId in m_DogzEquipLimit.Keys)
                {
                    if (TryGetAssistDogzState(dogzId)
                        && ((minAlreadyAssistId < dogzId && minAlreadyAssistId != 0) || minAlreadyAssistId == 0))
                    {
                        minAlreadyAssistId = dogzId;
                    }
                }
                int maxDogzId = 0;
                foreach(var dogzId in m_DogzEquipLimit.Keys)
                {
@@ -815,7 +850,8 @@
                {
                    var equips = GetDogzEquips(dogzId);
                    int equipNum = equips == null ? 0 : equips.Count;
                    if(!TryGetAssistDogzState(dogzId) && equipNum == 5)
                    if(!TryGetAssistDogzState(dogzId) && equipNum == 5
                         && ((minAlreadyAssistId != 0 && dogzId > minAlreadyAssistId) || minAlreadyAssistId == 0))
                    {
                        Redpoint assistRedpoint = GetDogzAssistRedpointById(dogzId);
                        if (assistRedpoint.state == RedPointState.None)
@@ -845,7 +881,7 @@
                    return;
                }
            }
            bool isMaxAssistNum = GetAssistDogzCount() >= DogzAssistDefaultCnt ? true : false;
            bool isMaxAssistNum = GetAssistDogzCount() >= curSumAssistNum ? true : false;
            if (!isMaxAssistNum)
            {
                int maxEquipNum = 0;
@@ -903,7 +939,7 @@
                foreach (var dogzId in m_DogzEquipLimit.Keys)
                {
                    if(TryGetAssistDogzState(dogzId)
                        && ((minAlreadyAssistId < dogzId && minAlreadyAssistId != 0) || minAlreadyAssistId == 0))
                        && ((minAlreadyAssistId > dogzId && minAlreadyAssistId != 0) || minAlreadyAssistId == 0))
                    {
                        minAlreadyAssistId = dogzId;
                    }
@@ -960,7 +996,7 @@
        public void UpdateAssistNumRed()
        {
          if(CheckIsAddAssistNum())
          if(CheckIsAddAssistNum() && !IsAddMaxAssist())
           {
                if(addAssistDogzRedpoint.state == RedPointState.None)
                {