Пример #1
0
    /// <summary>
    /// 获取相应Vip等级和购买次数所需的元宝
    /// </summary>
    int GetDiamoNum(int _buyNum, CopyGroupRef _data)
    {
        if (_data == null)
        {
            return(0);
        }
        VIPRef    refData = ConfigMng.Instance.GetVIPRef(GameCenter.vipMng.VipData.vLev);
        CopyTimes times   = null;

        if (refData != null)
        {
            for (int i = 0; i < refData.copyPurchasetimes.Count; i++)
            {
                times = refData.copyPurchasetimes[i];
                if (times.copyID == _data.id && times.copyTimes > 0)
                {
                    break;
                }
            }
        }
        //Debug.Log("该VIP一共有多少购买次数 :" + times.copyTimes + " 还剩几次购买 : " + _buyNum + "  当前是第几次购买 : " + (times.copyTimes - _buyNum + 1));
        //times.copyTimes(该VIP一共有多少次购买次数,配表读取)
        //_buyNum(还剩多少次购买次数,服务端记录)
        //setpId(本次是第几次购买)
        int setpId = times.copyTimes - _buyNum + 1;
        StepConsumptionRef stepConsumptionRef = ConfigMng.Instance.GetStepConsumptionRef(setpId);

        return(stepConsumptionRef != null ? stepConsumptionRef.copyNumber[0].count : 5);
    }
Пример #2
0
    string Consume()
    {
        VIPDataInfo info     = GameCenter.vipMng.VipData;
        int         maxTimes = info != null ? info.HangUpMaxBuyTimes : 0;
        int         curTimes = maxTimes - GameCenter.activityMng.HangUpRemainBuyTimes;

        if (curTimes <= 0)
        {
            curTimes = maxTimes;
            Debug.LogError("当前VIP最大次数小于剩余次数,数据异常!");
        }
        Dictionary <int, ItemValue> itemDic            = new Dictionary <int, ItemValue>();
        StepConsumptionRef          stepConsumptionRef = ConfigMng.Instance.GetStepConsumptionRef(curTimes + 1);

        if (stepConsumptionRef != null && stepConsumptionRef.hangUpCoppyTimesCost.Count > 0)
        {
            for (int j = 0, lengthJ = stepConsumptionRef.hangUpCoppyTimesCost.Count; j < lengthJ; j++)
            {
                ItemValue item = stepConsumptionRef.hangUpCoppyTimesCost[j];
                AddOne(itemDic, item);
            }
        }
        System.Text.StringBuilder builder = new System.Text.StringBuilder();
        using (var item = itemDic.GetEnumerator())
        {
            while (item.MoveNext())
            {
                builder.Append(GameHelper.GetStringWithBagNumber(item.Current.Value, out enough, out lackEquip)).Append(" ");
            }
        }
        return(builder.ToString());
    }
Пример #3
0
    int GetDiamo()
    {
        VIPRef    refData = ConfigMng.Instance.GetVIPRef(GameCenter.vipMng.VipData.vLev);
        CopyTimes times   = null;
        int       diamo   = 0;

        if (refData != null)
        {
            for (int i = 0; i < refData.copyPurchasetimes.Count; i++)
            {
                times = refData.copyPurchasetimes[i];
                if (times.copyID == curdata.id && times.copyTimes > 0)
                {
                    break;
                }
            }
        }
        if (times == null)
        {
            Debug.LogError("VIP表中的副本最大购买次数有问题,没有找到副本ID=" + curdata.id + "的附加购买次数,找左文祥");
            return(diamo);
        }
        int count = CurNum + times.copyTimes - totalNum;
        StepConsumptionRef stepConsumptionRef = null;

        for (int i = times.copyTimes - totalNum + 1; i <= count; i++)
        {
            stepConsumptionRef = ConfigMng.Instance.GetStepConsumptionRef(i);
            diamo += stepConsumptionRef.copyNumber[0].count;
        }
        return(diamo);
    }
Пример #4
0
    int GetCost()
    {
        int diamo = 0;
        StepConsumptionRef stepConsumptionRef = null;

        for (int i = 1; i <= CurNum; i++)//最多100%
        {
            stepConsumptionRef = ConfigMng.Instance.GetStepConsumptionRef(i + curTimes);
            if (stepConsumptionRef != null && stepConsumptionRef.bossAttrCost.Count > 0)
            {
                diamo += stepConsumptionRef.bossAttrCost[0].count;
            }
        }
        return(diamo);
    }
Пример #5
0
 public void SetData(task_surround_info _info)
 {
     restTime = (int)_info.surplus_refresh_num;
     if (lockObj != null)
     {
         lockObj.SetActive(GameCenter.mainPlayerMng.MainPlayerInfo.CurLevel < lev);
     }
     if (data != null)
     {
         data.SetActive(GameCenter.mainPlayerMng.MainPlayerInfo.CurLevel >= lev && _info.finish_num < 10);
     }
     if (finishied != null)
     {
         finishied.SetActive(GameCenter.mainPlayerMng.MainPlayerInfo.CurLevel >= lev && _info.finish_num == 10);
     }
     if (prograss != null && data != null && data.activeSelf)
     {
         prograss.text = _info.finish_num + "/10";
     }
     if (finishied != null && finishied.activeSelf)
     {
         int    allRefreshTime = 0;
         VIPRef vip            = ConfigMng.Instance.GetVIPRef(GameCenter.vipMng.VipData != null ? GameCenter.vipMng.VipData.vLev : 0);
         if (vip != null)
         {
             allRefreshTime = vip.ringRefreshNum;
         }
         StepConsumptionRef consume = ConfigMng.Instance.GetStepConsumptionRef(allRefreshTime - restTime + 1);
         if (consume != null && consume.ringTaskCost.Count > 0)
         {
             costRefresh = consume.ringTaskCost[0].count;
         }
         if (num != null)
         {
             num.text = _info.surplus_refresh_num.ToString() + "/" + allRefreshTime;
         }
     }
 }
Пример #6
0
    protected int GetRefreshCost()
    {
        int    restTime       = GameCenter.taskMng.TrialTaskRestRewardTimes;
        int    allRefreshTime = 0;
        VIPRef vip            = ConfigMng.Instance.GetVIPRef(GameCenter.vipMng.VipData != null ? GameCenter.vipMng.VipData.vLev : 0);

        if (vip != null)
        {
            allRefreshTime = vip.trailRefreshNum;
        }
        StepConsumptionRef consume = ConfigMng.Instance.GetStepConsumptionRef(allRefreshTime - restTime + 1);

        if (consume != null && consume.trailTaskCost.Count > 0)
        {
            costNum = consume.trailTaskCost[0].count;
            return(consume.trailTaskCost[0].count);
        }
        else
        {
            Debug.Log("阶梯消费表找不到id :  " + (allRefreshTime - restTime + 1) + " 的数据,试练任务的剩余次数 :" + restTime + " , 当前vip等级获得的总次数 :" + allRefreshTime);
        }
        return(20);
    }
Пример #7
0
    protected int GetResetCost()
    {
        int    restTime       = GameCenter.endLessTrialsMng.RestRefreshTime;
        int    allRefreshTime = 0;
        VIPRef vip            = ConfigMng.Instance.GetVIPRef(GameCenter.vipMng.VipData != null ? GameCenter.vipMng.VipData.vLev : 0);

        if (vip != null)
        {
            allRefreshTime = vip.endlessNum;
        }
        StepConsumptionRef consume = ConfigMng.Instance.GetStepConsumptionRef(allRefreshTime - restTime + 1);

        if (consume != null && consume.endlessResetCost.Count > 0)
        {
            restCostNum = consume.endlessResetCost[0].count;
            return(consume.endlessResetCost[0].count);
        }
        else
        {
            Debug.Log("阶梯消费表找不到id :  " + (allRefreshTime - restTime + 1) + " 的数据,无尽重置的剩余次数 :" + restTime + " , 当前vip等级获得的总次数 :" + allRefreshTime);
        }
        return(20);
    }
Пример #8
0
    void ShowTaskInfo()
    {
        if (btnRefreshNum != null)
        {
            btnRefreshNum.gameObject.SetActive(false);
        }
        if (btnAddTask != null)
        {
            btnAddTask.gameObject.SetActive(false);
        }
        if (autoToggle != null)
        {
            autoToggle.gameObject.SetActive(false);
        }
        if (alreadyDidTask != null)
        {
            alreadyDidTask.gameObject.SetActive(false);
        }
        if (btnFinishTask != null)
        {
            btnFinishTask.gameObject.SetActive(false);
        }
        if (btnDiamondFinish != null)
        {
            btnDiamondFinish.gameObject.SetActive(false);
        }
        if (btnToPatrolled != null)
        {
            btnToPatrolled.gameObject.SetActive(false);
        }

        int curTaskType = GameCenter.taskMng.curRingTaskType;

        TaskRingRewardRef taskRingRewardRef = ConfigMng.Instance.GetTaskRingRewardRef(curTaskType);

        if (taskRingRewardRef != null)
        {
            if (ringTaskDes != null)
            {
                ringTaskDes.text = taskRingRewardRef.des.Replace("\\n", "\n");
            }
            if (ringTaskNameLab != null)
            {
                ringTaskNameLab.text = taskRingRewardRef.typeName;
            }
            if (headIcon != null)
            {
                headIcon.spriteName = taskRingRewardRef.icon;
            }
            if (extraRewardItem != null)
            {
                extraRewardItem.RefreshItems(taskRingRewardRef.reward, 3, taskRingRewardRef.reward.Count);
            }
        }
        bool isFinish = false;

        if (GameCenter.taskMng.ringTypeIsFinish.ContainsKey(curTaskType))
        {
            isFinish = GameCenter.taskMng.ringTypeIsFinish[curTaskType];
        }

        if (expNum != null)
        {
            expNum.gameObject.SetActive(!isFinish);
        }
        if (noReward != null)
        {
            noReward.gameObject.SetActive(isFinish);
        }
        if (btnOneKeyFinish != null)
        {
            //bool enable = (GameCenter.vipMng.VipData != null && GameCenter.vipMng.VipData.vLev >= 4 && !isFinish);
            btnOneKeyFinish.isEnabled = !isFinish;
            if (oneKeyFinishIcon != null)
            {
                oneKeyFinishIcon.IsGray = isFinish ? UISpriteEx.ColorGray.Gray : UISpriteEx.ColorGray.normal;
            }
        }
        if (isFinish)//该类环任务已经完成
        {
            restTime = 0;
            int allRefreshTime = 0;
            for (int i = 0, max = GameCenter.taskMng.ringTaskProgress.Count; i < max; i++)
            {
                if (GameCenter.taskMng.ringTaskProgress[i].task_sort == curTaskType)
                {
                    restTime = (int)GameCenter.taskMng.ringTaskProgress[i].surplus_refresh_num;
                    break;
                }
            }
            VIPRef vip = ConfigMng.Instance.GetVIPRef(GameCenter.vipMng.VipData != null ? GameCenter.vipMng.VipData.vLev : 0);
            if (vip != null)
            {
                allRefreshTime = vip.ringRefreshNum;
            }
            StepConsumptionRef consume = ConfigMng.Instance.GetStepConsumptionRef(allRefreshTime - restTime + 1);
            if (consume != null && consume.ringTaskCost.Count > 0)
            {
                refreshCostNum = consume.ringTaskCost[0].count;
            }
            if (refreshCost != null)
            {
                refreshCost.text = refreshCostNum.ToString();
            }
            if (restRefreshNum != null)
            {
                restRefreshNum.text = restTime.ToString();
            }

            ShowFinishTask();

            if (GameCenter.taskMng.GetRingAutoFinish(curTaskType))
            {
                if (autoFilish != null)
                {
                    autoFilish.SetActive(false);
                    autoToggle.value = false;
                }
            }
            return;
        }

        info = GameCenter.taskMng.GetCurRingTask;
        if (info == null)
        {
            Debug.Log("当前没有难度为 " + curTaskType + "  的任务找后台");
            return;
        }
        if (ringNum != null)
        {
            ringNum.text = (info.taskLoop + 1).ToString();
        }
        if (taskTarget != null)
        {
            taskTarget.gameObject.SetActive(true);
            taskTarget.text = info.TaskDes;
        }
        TaskSurroundRewardRef taskReward = ConfigMng.Instance.GetTaskSurroundRewardRefLv(GameCenter.mainPlayerMng.MainPlayerInfo.CurLevel);
        int coin = 0;
        int exp  = 0;

        if (taskReward != null)
        {
            switch (info.taskStar)
            {
            case 1:
                coin = (int)(taskReward.gold * 0.2f);
                exp  = (int)(taskReward.exp * 0.2f);
                break;

            case 2:
                coin = (int)(taskReward.gold * 0.4f);
                exp  = (int)(taskReward.exp * 0.4f);
                break;

            case 3:
                coin = (int)(taskReward.gold * 0.6f);
                exp  = (int)(taskReward.exp * 0.6f);
                break;

            case 4:
                coin = (int)(taskReward.gold * 0.8f);
                exp  = (int)(taskReward.exp * 0.8f);
                break;

            case 5:
                coin = (int)(taskReward.gold);
                exp  = (int)(taskReward.exp);
                break;
            }
        }
        if (expNum != null)
        {
            expNum.text = exp.ToString();
        }
        //if(copperNum != null)copperNum.text = coin.ToString();
        //if(refreshStarCost != null)refreshStarCost.text = RefreshStarCost.ToString();
        //if(oneKeyFinishCost != null)oneKeyFinishCost.text = ((MaxRingTaskLoop-info.taskLoop)*10).ToString();//一键完成剩余环任务(10元宝一个)
        if (labFinishRingNum != null)
        {
            labFinishRingNum.text = info.taskLoop + "/" + MaxRingTaskLoop;
        }
        if (rewardStar != null)
        {
            rewardStar.value = (float)info.taskStar / 5f;
        }
        //当前几倍经验
        if (expDes != null)
        {
            expDes.text = info.taskStar.ToString();
        }
        //当前奖励倍数
        if (num != null)
        {
            num.text = info.taskStar.ToString();
        }
        switch (info.TaskState)
        {
        case TaskStateType.UnTake:
            if (btnAddTask != null)
            {
                btnAddTask.gameObject.SetActive(true);
            }
            if (autoToggle != null)
            {
                autoToggle.gameObject.SetActive(true);
            }
            break;

        case TaskStateType.Finished:
            if (btnFinishTask != null)
            {
                btnFinishTask.gameObject.SetActive(true);
            }
            if (btnDiamondFinish != null)
            {
                btnDiamondFinish.gameObject.SetActive(true);
            }
            //if (alreadyDidTask != null) alreadyDidTask.gameObject.SetActive(true);
            break;

        case TaskStateType.Process:
            if (btnToPatrolled != null)
            {
                btnToPatrolled.gameObject.SetActive(true);
            }
            if (autoToggle != null)
            {
                autoToggle.gameObject.SetActive(true);
            }
            break;
        }

        //if (btnRefreshStar != null)
        //{
        //    if (!GameCenter.taskMng.HaveFiveFold)
        //        btnRefreshStar.gameObject.SetActive(!btnDiamondFinish.gameObject.activeSelf);
        //}
        //if(fiveDes2!=null)
        //{
        //    if(GameCenter.taskMng.HaveFiveFold)
        //    fiveDes2.gameObject.SetActive(!btnDiamondFinish.gameObject.activeSelf);
        //}
        if (effect != null)
        {
            effect.SetActive(info.TaskState == TaskStateType.UnTake && info.taskStar < 5);
        }
        if (refreshStarEffect != null)
        {
            refreshStarEffect.ReShowFx();
        }
        if (GameCenter.taskMng.GetRingAutoFinish(curTaskType))
        {
            //CountDown();
            switch (info.TaskState)
            {
            case TaskStateType.UnTake:    //倒计时3秒接任务
            case TaskStateType.Finished:  //倒计时3秒完成任务
                CountDown();
                break;

            case TaskStateType.Process:    //接了任务关闭界面
                GameCenter.taskMng.GoTraceTask(info);
                if (GameCenter.uIMng.CurOpenType == GUIType.RINGTASK)
                {
                    GameCenter.uIMng.SwitchToUI(GUIType.NONE);
                }
                break;
            }
        }
    }
Пример #9
0
    public void SetArenaPlayer(OtherPlayerInfo other)
    {
        if (icon != null)
        {
            icon.spriteName = other.IconHalf;
            icon.MakePixelPerfect();
        }
        if (fight != null)
        {
            fight.text = other.FightValue.ToString();
        }
        if (name != null)
        {
            name.text = other.Name;
        }
        if (rank != null)
        {
            rank.text = ConfigMng.Instance.GetUItext(20, new string[1] {
                GameCenter.arenaMng.ArenaServerDataInfo.GetPlayerRank(other.ServerInstanceID)
            });
        }
        if (btnParent != null)
        {
            btnParent.SetActive(false);
        }

        UIEventListener.Get(killBtn).onClick = delegate {
            if (GameCenter.arenaMng.ArenaServerDataInfo.surplus_time > 0)
            {
                MessageST mst = new MessageST();
                mst.messID = 236;
                GameCenter.messageMng.AddClientMsg(mst);
            }
            else if (GameCenter.arenaMng.ArenaServerDataInfo.challenge_num <= 0)
            {
                //MessageST mst = new MessageST();
                //mst.messID = 168;
                //GameCenter.messageMng.AddClientMsg(mst);

                StepConsumptionRef stepData = ConfigMng.Instance.GetStepConsumptionRef(GameCenter.arenaMng.ArenaServerDataInfo.buyChallengeTimes + 1);
                int goldNum = 0;
                if (stepData.areaTime.Count > 0)
                {
                    goldNum = stepData.areaTime[0].count;
                }
                else
                {
                    Debug.Log("StepConsumptionRef配置出错");
                    return;
                }
                if (!GameCenter.arenaMng.ShowAreaTimeTip)
                {
                    if (GameCenter.mainPlayerMng.MainPlayerInfo.TotalDiamondCount < (ulong)goldNum)
                    {
                        GoToRecharge();
                    }
                    else
                    {
                        GameCenter.arenaMng.C2S_ReqBuyChallengeTimes();
                        GameCenter.arenaMng.C2S_RepArenaKill(other.ServerInstanceID);
                    }
                }
                else
                {
                    MessageST mst = new MessageST();
                    object[]  pa  = { 1 };
                    mst.pars    = pa;
                    mst.delPars = delegate(object[] ob)
                    {
                        if (ob.Length > 0)
                        {
                            bool b = (bool)ob[0];
                            if (b)
                            {
                                GameCenter.arenaMng.ShowAreaTimeTip = false;
                            }
                        }
                    };
                    mst.messID = 488;
                    mst.words  = new string[1] {
                        goldNum.ToString()
                    };
                    mst.delYes = delegate
                    {
                        if (GameCenter.mainPlayerMng.MainPlayerInfo.TotalDiamondCount < (ulong)goldNum)
                        {
                            GoToRecharge();
                        }
                        else
                        {
                            GameCenter.arenaMng.C2S_ReqBuyChallengeTimes();
                            GameCenter.arenaMng.C2S_RepArenaKill(other.ServerInstanceID);
                        }
                    };
                    GameCenter.messageMng.AddClientMsg(mst);
                }
            }
            else
            {
                GameCenter.arenaMng.C2S_RepArenaKill(other.ServerInstanceID);
            }
        };
        UIEventListener.Get(checkBtn).onClick = delegate {
            GameCenter.previewManager.C2S_AskOPCPreview(other.ServerInstanceID);
        };
        UIEventListener.Get(firendBtn).onClick = delegate {
            GameCenter.friendsMng.C2S_AddFriend(other.ServerInstanceID);
        };
        UIEventListener.Get(emailBtn).onClick = delegate {
            GameCenter.mailBoxMng.mailWriteData = new MailWriteData(other.Name);
            GameCenter.uIMng.SwitchToSubUI(SubGUIType.BMail);
        };
        UIEventListener.Get(chatBtn).onClick = delegate {
            GameCenter.chatMng.OpenPrivateWnd(other.Name);
        };
        UIEventListener.Get(btnParent).onClick = delegate {
            btnParent.SetActive(false);
        };
    }