예제 #1
0
 public void TaskCompleteRes(sg.GS2C_Task_Complete_Res res)
 {
     mGameSuccessReward.ShowSuccessReward(res);
 }
예제 #2
0
    public void ShowSuccessReward(sg.GS2C_Task_Complete_Res res)
    {
        this.gameObject.SetActive(true);

        foreach (sg.GS2C_Task_Complete_Res.TaskReward reward in res.rewards)
        {
            if (reward.rewardType == (int)TaskRewardTypeEnum.GET_ARTTST)
            {
                RewardObj.SetActive(false);
                FansRewardObj.SetActive(true);
                WarshipConfig config = Globals.Instance.MDataTableManager.GetConfig <WarshipConfig>();
                WarshipConfig.WarshipObject warshipElement = null;
                config.GetWarshipElement(reward.itemId, out warshipElement);
                if (warshipElement == null)
                {
                    return;
                }
                FansName.text        = warshipElement.Name;
                FansIcon.mainTexture = Resources.Load("Icon/FansIcon/" + warshipElement.Fans_Icon, typeof(Texture2D)) as Texture2D;
                return;
            }
        }

        RewardObj.SetActive(true);
        FansRewardObj.SetActive(false);

        mCurrentfinishLv = res.finishLv;
        TaskID           = res.taskId;

        CompleteBtn.Data = res.nextTaskId;

        TaskConfig task    = Globals.Instance.MDataTableManager.GetConfig <TaskConfig>();
        bool       hasData = task.GetTaskObject(res.taskId, out element);

        if (!hasData)
        {
            return;
        }

        ScoreSlider.value = (EliminationMgr.Score * 1f) / EliminationMgr.Instance.star3;
        float baseX  = 630f / EliminationMgr.Instance.star3;
        float baseX2 = 630f / 2f;
        float star1X = baseX * EliminationMgr.Instance.star1 - baseX2;

        Star1Obj.transform.localPosition = new Vector3(star1X, Star1Obj.transform.localPosition.y, Star1Obj.transform.localPosition.z);
        float star2X = baseX * EliminationMgr.Instance.star2 - baseX2;

        Star2Obj.transform.localPosition = new Vector3(star2X, Star2Obj.transform.localPosition.y, Star2Obj.transform.localPosition.z);
        float star3X = baseX * EliminationMgr.Instance.star3 - baseX2;

        Star3Obj.transform.localPosition = new Vector3(star3X, Star3Obj.transform.localPosition.y, Star3Obj.transform.localPosition.z);

        if (EliminationMgr.Score >= EliminationMgr.Instance.star1)
        {
            Star1Anim.SetActive(true);
        }
        if (EliminationMgr.Score >= EliminationMgr.Instance.star2)
        {
            Star2Anim.SetActive(true);
        }
        if (EliminationMgr.Score >= EliminationMgr.Instance.star3)
        {
            Star3Anim.SetActive(true);
        }

        CurrentScore.text = EliminationMgr.Score.ToString();


        List <string[]> RewardArray = ParsingRewards(element.Rewards);

        if (RewardArray.Count > 0)
        {
            for (int i = 0; i < RewardArray.Count; i++)
            {
                switch (StrParser.ParseDecInt(RewardArray[i][0], -1))
                {
                case (int)TaskRewardTypeEnum.ROLE_ATTR:
                    switch (StrParser.ParseDecInt(RewardArray[i][1], -1))
                    {
                    case (int)BaseRewardType.MONEY:

                        MoneyBaseReward = StrParser.ParseDecInt(RewardArray[i][2], -1);
                        break;

                    case (int)BaseRewardType.DIAMOND:
                        DiamondBaseReward = StrParser.ParseDecInt(RewardArray[i][2], -1);
                        break;
                    }
                    break;

                case (int)TaskRewardTypeEnum.FANS_NUM:
                    FansBaseReward = StrParser.ParseDecInt(RewardArray[i][2], -1);
                    break;
                }
            }
        }
        NGUITools.SetActive(RewardItem1.gameObject, false);
        NGUITools.SetActive(RewardItem2.gameObject, false);
        int RewardItemState = 0;

        foreach (sg.GS2C_Task_Complete_Res.TaskReward reward in res.rewards)
        {
            switch (reward.rewardType)
            {
            case (int)TaskRewardTypeEnum.ITEM:

                ItemConfig             item    = Globals.Instance.MDataTableManager.GetConfig <ItemConfig>();
                ItemConfig.ItemElement ItemEle = null;
                bool hasDataItem = item.GetItemElement(reward.itemId, out ItemEle);
                if (!hasDataItem)
                {
                    return;
                }

                if (RewardItemState == 0)
                {
                    RewardItemState = 1;
                    NGUITools.SetActive(RewardItem1.gameObject, true);
                    RewardItem1.mainTexture = Resources.Load("Icon/ItemIcon/" + ItemEle.Icon, typeof(Texture2D)) as Texture2D;
                    if (reward.num > 1)
                    {
                        RewardItem1Name.text = Globals.Instance.MDataTableManager.GetWordText(reward.itemId) + "X" + reward.num;
                    }
                    else
                    {
                        RewardItem1Name.text = Globals.Instance.MDataTableManager.GetWordText(reward.itemId);
                    }
                    addItemOne          = RewardItem1;
                    addItemNameLabelOne = RewardItem1Name;
                    addMoneyList.Add(1, reward.clothAddMoney);
                    Debug.Log(" 1 -- reward.clothAddMoney = " + reward.clothAddMoney);
                }
                else
                {
                    NGUITools.SetActive(RewardItem2.gameObject, true);
                    RewardItem2.mainTexture = Resources.Load("Icon/ItemIcon/" + ItemEle.Icon, typeof(Texture2D)) as Texture2D;
                    if (reward.num > 1)
                    {
                        RewardItem2Name.text = Globals.Instance.MDataTableManager.GetWordText(reward.itemId) + "X" + reward.num;
                    }
                    else
                    {
                        RewardItem2Name.text = Globals.Instance.MDataTableManager.GetWordText(reward.itemId);
                    }
                    addItemTwo          = RewardItem2;
                    addItemNameLabelTwo = RewardItem2Name;
                    addMoneyList.Add(2, reward.clothAddMoney);
                    Debug.Log(" 2 -- reward.clothAddMoney = " + reward.clothAddMoney);
                }

                break;

            case (int)TaskRewardTypeEnum.POSTURE:


                break;

            case (int)TaskRewardTypeEnum.ROLE_ATTR:
                switch (reward.itemId)
                {
                case (int)BaseRewardType.MONEY:
                    MoneyAppraisalReward = reward.num - MoneyBaseReward;
                    if (MoneyAppraisalReward > 0)
                    {
                        RewardMoneyNum.text = "[000000]" + MoneyBaseReward + "[-]" + "[00A542]" + " + " + MoneyAppraisalReward.ToString() + "[-]";
                    }
                    else
                    {
                        RewardMoneyNum.text = "[000000]" + MoneyBaseReward + "[-]";
                    }

                    break;

                case (int)BaseRewardType.DIAMOND:
                    DiamondAppraisalReward = reward.num - DiamondBaseReward;
                    if (DiamondAppraisalReward > 0)
                    {
                        RewardDiamondNum.text = "[000000]" + DiamondBaseReward + "[-]" + "[00A542]" + " + " + DiamondAppraisalReward.ToString() + "[-]";
                    }
                    else
                    {
                        RewardDiamondNum.text = "[000000]" + DiamondBaseReward + "[-]";
                    }

                    break;

                case (int)BaseRewardType.ACTING:
                    break;

                case (int)BaseRewardType.CHARM:
                    break;
                }
                break;

            case (int)TaskRewardTypeEnum.FANS_NUM:
                FansAppraisalReward = reward.num - FansBaseReward;
                if (FansAppraisalReward > 0)
                {
                    RewardFansNum.text = "[000000]" + FansBaseReward.ToString() + "[-]" + "[00A542]" + " + " + FansAppraisalReward.ToString() + "[-]";
                }
                else
                {
                    RewardFansNum.text = "[000000]" + FansBaseReward.ToString() + "[-]";
                }
                break;

            case (int)TaskRewardTypeEnum.UNKNOWNTYPE:
                break;
            }
        }

        addMoney();
    }