少年修仙传客户端代码仓库
client_Wu Xijin
2018-09-20 81e7393f4d557da31b5063d9d1a6879a742bf012
Merge branch 'master' of http://192.168.0.87:10010/r/snxxz_scripts
6个文件已修改
171 ■■■■■ 已修改文件
System/HappyXB/BestXBWin.cs 22 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/HappyXB/HappyXBModel.cs 22 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/HappyXB/RuneXBWin.cs 19 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/HappyXB/XBItemCell.cs 50 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/MainInterfacePanel/SideMission.cs 19 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/MainInterfacePanel/TaskAllocation.cs 39 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/HappyXB/BestXBWin.cs
@@ -54,7 +54,10 @@
        [SerializeField] float maxTimeInter = 0.6f;
        [Header("最小时间间隔")]
        [SerializeField] float minTimeInter = 0.005f;
        [Header("闪烁次数")]
        [SerializeField] public int flashingTimes = 10;
        [Header("单次闪烁时间")]
        [SerializeField] public  float flashingTime = 0.2f;
        [Header("得到物品停留时间")]
        [SerializeField] float stopTime = 2f;
        [Header("寻宝得到物品动画时间")]
@@ -434,6 +437,14 @@
                {
                    if (cycle > cycleTimes)
                    {
                        for (int i = 0; i < xbItemlist.Count; i++)
                        {
                            xbItemlist[i].CheckToFlashing(1,curSelectIndex);
                        }
                        for (int i = 0; i < xbItemlist.Count; i++)
                        {
                            xbItemlist[i].RefreshSelectIcon(curSelectIndex);
                        }
                        if (isXBMany)
                        {
                            if (targetIndex >= targetIndexs.Count - 1)
@@ -495,7 +506,16 @@
        IEnumerator PlaySelectItemAni(bool isEndXB,int targetIndex = 0,int curSelectIndex = 0)
        {
            XBGetItemConfig getItemConfig = XBModel.GetXBItemConfigByType(1);
            if(getItemConfig != null && getItemConfig.LuckyGridNum == curSelectIndex)
            {
                yield return new WaitForSeconds(flashingTime*flashingTimes);
            }
            else
            {
            yield return new WaitForSeconds(stopTime);
            }
            if(isEndXB)
            {
                if(targetIndexs.Count > 1)
System/HappyXB/HappyXBModel.cs
@@ -314,6 +314,28 @@
            return dict;
        }
        public XBGetItemConfig GetXBItemConfigByType(int type)
        {
            int lv = 0;
            List<XBGetItemConfig> configlist = null;
            xbTypeItemDict.TryGetValue(type, out configlist);
            if (configlist != null)
            {
                for (int i = configlist.Count - 1; i > -1; i--)
                {
                    if (PlayerDatas.Instance.baseData.LV >= configlist[i].MinLV)
                    {
                        lv = configlist[i].MinLV;
                        break;
                    }
                }
            }
            XBGetItemConfig xbItemConfig = null;
            string key = StringUtility.Contact(type, lv);
            xbGetItemDict.TryGetValue(key,out xbItemConfig);
            return xbItemConfig;
        }
        #region 处理服务端数据
        public event Action RefreshXBTypeInfoAct;
        public event Action RefreshXBResultAct;
System/HappyXB/RuneXBWin.cs
@@ -55,6 +55,11 @@
        [SerializeField] float maxTimeInter = 0.6f;
        [Header("最小时间间隔")]
        [SerializeField] float minTimeInter = 0.005f;
        [Header("闪烁次数")]
        [SerializeField] public int flashingTimes = 10;
        [Header("单次闪烁时间")]
        [SerializeField] public float flashingTime = 0.2f;
        [Header("得到物品停留时间")]
        [SerializeField] float stopTime = 0.5f;
        [Header("寻宝得到物品动画时间")]
@@ -444,6 +449,11 @@
                {
                    if (cycle > cycleTimes)
                    {
                        for (int i = 0; i < xbItemlist.Count; i++)
                        {
                            xbItemlist[i].CheckToFlashing(2, curSelectIndex);
                        }
                        if (isXBMany)
                        {
                            if (targetIndex >= targetIndexs.Count - 1)
@@ -503,7 +513,16 @@
        IEnumerator PlaySelectItemAni(bool isEndXB, int targetIndex = 0, int curSelectIndex = 0)
        {
            XBGetItemConfig getItemConfig = XBModel.GetXBItemConfigByType(2);
            if (getItemConfig != null && getItemConfig.LuckyGridNum == curSelectIndex)
            {
                yield return new WaitForSeconds(flashingTime * flashingTimes);
            }
            else
            {
            yield return new WaitForSeconds(stopTime);
            }
            if (isEndXB)
            {
                if (targetIndexs.Count > 1)
System/HappyXB/XBItemCell.cs
@@ -2,6 +2,7 @@
using UnityEngine.UI;
using TableConfig;
using System.Collections.Generic;
using System.Collections;
namespace Snxxz.UI
{
@@ -12,6 +13,7 @@
        [SerializeField] Text nameText;
        ItemTipsModel itemTips { get { return ModelCenter.Instance.GetModel<ItemTipsModel>(); } }
        HappyXBModel XBModel { get { return ModelCenter.Instance.GetModel<HappyXBModel>(); } }
        int xbIndex = 0;
        public void SetModel(int itemId,int count,int index)
@@ -45,5 +47,53 @@
                selectIcon.SetActive(false);
            }
        }
        public void CheckToFlashing(int xbType, int curSelect)
        {
            if (curSelect != xbIndex) return;
            XBGetItemConfig xbItemConfig = XBModel.GetXBItemConfigByType(xbType);
            if (xbItemConfig == null || xbItemConfig.LuckyGridNum != xbIndex) return;
            StartCoroutine(BestItemFlashing(xbType));
        }
        IEnumerator BestItemFlashing(int xbType)
        {
            int num = 0;
            BestXBWin bestXB = null;
            RuneXBWin runeXB = null;
            switch (xbType)
            {
                case 1:
                    bestXB = WindowCenter.Instance.Get<BestXBWin>();
                    break;
                case 2:
                    runeXB = WindowCenter.Instance.Get<RuneXBWin>();
                    break;
            }
            int flashingTimes = 0;
            float flashingTime = 0;
            if(bestXB != null)
            {
                flashingTimes = bestXB.flashingTimes;
                flashingTime = bestXB.flashingTime;
            }
            else if(runeXB != null)
            {
                flashingTimes = runeXB.flashingTimes;
                flashingTime = runeXB.flashingTime;
            }
            while (true)
            {
                selectIcon.SetActive(!selectIcon.activeInHierarchy);
                num += 1;
                if (num >= flashingTimes)
                {
                    break;
                }
                yield return new WaitForSeconds(flashingTime);
            }
        }
    }
}
System/MainInterfacePanel/SideMission.cs
@@ -23,6 +23,7 @@
        [SerializeField] Button _Btn_Forward;//支线前往按钮
        [SerializeField] Text _Text_Forward;//按钮文字
        [SerializeField] Button m_FinishAtOnce;//立即完成
        PlayerTaskDatas m_TaskModel;
        PlayerTaskDatas taskmodel { get { return m_TaskModel ?? (m_TaskModel = ModelCenter.Instance.GetModel<PlayerTaskDatas>()); } }
        ItemTipsModel _itemTipsModel;
@@ -40,6 +41,7 @@
        private void Start()
        {
            _Btn_Forward.onClick.AddListener(ForwardButton);
            m_FinishAtOnce.AddListener(OnClickSkillTask);
        }
        private void OnEnable()
        {
@@ -60,6 +62,11 @@
        }
        private void OnClickSkillTask()
        {
            TaskAllocation.Instance.SkillTask(TaskIdNow);
        }
        private void ForwardButton()
        {
            if ((int)taskmodel.GetTaskStatus(TaskIdNow) == 3)
@@ -144,7 +151,7 @@
            str = WordAnalysis.Color_Start_Regex.Replace(str, string.Empty);
            str = WordAnalysis.Color_End_Regex.Replace(str, string.Empty);
            _Text_TaskTarget.text = str;//任务目标
            SkillTask(taskID);
            if ((int)taskmodel.GetTaskStatus(TaskIdNow) == 3)//能够进行立即完成的支线任务
            {
                _Text_Forward.text = string.Format(Language.Get("FinishAtOnce_Z"));
@@ -234,6 +241,16 @@
            }
            return string.Empty;
        }
        private void SkillTask(int TsakID)
        {
            if (!taskmodel.allMissionDict.ContainsKey(TsakID) || !mainModel.TaskId_Skill.Contains(TsakID))
            {
                m_FinishAtOnce.gameObject.SetActive(false);
                return;
            }
            m_FinishAtOnce.gameObject.SetActive(true);
        }
    }
}
System/MainInterfacePanel/TaskAllocation.cs
@@ -9,9 +9,11 @@
using System.Text.RegularExpressions;
using System.Collections.Generic;
//用于任务分配
namespace Snxxz.UI {
namespace Snxxz.UI
{
    public class TaskAllocation:Singleton<TaskAllocation> {
    public class TaskAllocation : Singleton<TaskAllocation>
    {
        private static StringBuilder textBuilder = new StringBuilder();
        private const string Info_Pattern = "{([a-zA-Z0-9_]+)}";
@@ -114,7 +116,38 @@
            }
            return 0;
        }
        PlayerMainDate m_MainModel;
        PlayerMainDate mainModel { get { return m_MainModel ?? (m_MainModel = ModelCenter.Instance.GetModel<PlayerMainDate>()); } }
        public void SkillTask(int TaskID)//用于解锁被动技能任务
        {
            int Gold = (int)UIHelper.GetMoneyCnt(1);//仙玉
            if (mainModel.TaskId_Skill.Contains(TaskID))
            {
                int Index = mainModel.TaskId_Skill.IndexOf(TaskID);
                int NeedMoney = mainModel.NeedFairyJade[Index];
                string strNull = string.Format(Language.Get("PassiveSkillTask3"), NeedMoney);
                ConfirmCancel.ShowPopConfirm(Language.Get("Mail101"), strNull, (bool isOk) =>
                {
                    if (isOk)
                    {
                        if (Gold >= NeedMoney)
                        {
                            taskmodel.CompletionOfTask(TaskID);
                            WindowJumpMgr.Instance.WindowJumpTo(JumpUIType.SkillFunc2);
                        }
                        else
                        {
                            if (VersionConfig.Get().isBanShu)
                            {
                                SysNotifyMgr.Instance.ShowTip("GoldErr");
                                return;
                            }
                            WindowCenter.Instance.Open<RechargeTipWin>();
                        }
                    }
                });
            }
        }
    }
}