예제 #1
0
    public bool TryGetReward(ref int rewardCoin)
    {
        if (!isCompleted)
        {
            return(false);
        }

        RewardTable data = GetRewardTable(nowLevel);

        if (data == null)
        {
            return(false);
        }

        rewardCoin = data.reward;
        if (nowLevel < GetMaxLevel())
        {
            nowLevel++;
        }

        isCompleted = false;
        nowValue    = 0;

        RewardManager.GetInstance().CheckReward(type);
        return(true);
    }
예제 #2
0
    public void OnClickRewardButton()
    {
        SoundManager.GetInstance().PlaySound(Define.SoundType.Click);
        RewardManager.GetInstance().GetReward((Define.RewardType)idx);
        UpdateUI();

        UISystem.UpdateNews();
    }
예제 #3
0
 public override void BeforeOpen()
 {
     RewardManager.GetInstance().CheckAllReward();
     titleLabel.text = DataManager.GetText(TextTable.rewardKey);
     if (btnDic == null)
     {
         btnDic = new Dictionary <string, string>();
         btnDic.Add("RewardButton", "OnClickRewardButton");
     }
     uiDrag.StartList(GetListItem, RewardManager.GetInstance().rewardCount, btnDic);
 }
예제 #4
0
 public override bool HasUpdateNews()
 {
     for (int i = 0, max = RewardManager.GetInstance().rewardCount; i < max; i++)
     {
         RewardBase reward = RewardManager.GetInstance().GetNowReward((Define.RewardType)i);
         if (!reward.IsMaxLevel() && reward.IsCompleted())
         {
             return(true);
         }
     }
     return(false);
 }
예제 #5
0
    public override void UpdateUI()
    {
        RewardBase reward = RewardManager.GetInstance().GetNowReward((Define.RewardType)idx);

        infoLabel.text = reward.GetInfoText();

        coinLabel.text = reward.GetRewardCoin().ToString();
        Vector3 pos = coinLabelBody.localPosition;

        pos.x = 34f - coinLabel.width;
        coinLabelBody.localPosition = pos;
        pos.x -= 4f;
        coinIcon.localPosition = pos;

        if (reward.IsMaxLevel())
        {
            rewardInfoBody.SetActive(false);
            rewardButton.SetActive(false);
            stateBody.SetActive(false);
            allClearBody.SetActive(true);
            allClearLabel.text = DataManager.GetText(TextTable.allClearKey);
        }
        else if (reward.IsCompleted())
        {
            rewardInfoBody.SetActive(true);
            rewardButton.SetActive(true);
            stateBody.SetActive(false);
            allClearBody.SetActive(false);
            stateLabel.text = "";
        }
        else
        {
            rewardInfoBody.SetActive(true);
            rewardButton.SetActive(false);
            stateBody.SetActive(true);
            allClearBody.SetActive(false);
            stateLabel.text = RewardManager.GetInstance().GetRewardStateText(reward);
        }
    }
예제 #6
0
    private void SetRewardData(string savedData)
    {
        if (string.IsNullOrEmpty(savedData))
        {
            Debug.Log("No Saved Data : RewardData");
        }
        else
        {
            int      count      = 0;
            string[] strElement = dataController.GetStringElements(savedData);

            int size = strElement.Length;
            while (size > count)
            {
                Define.RewardType type = (Define.RewardType)TryToParseInt(strElement, count++, 0);
                int  level             = TryToParseInt(strElement, count++, 0);
                int  value             = TryToParseInt(strElement, count++, 0);
                bool isComplete        = TryToParseBool(strElement, count++, false);

                RewardManager.GetInstance().SetSavedRewardData(type, level, value, isComplete);
            }
        }
    }
예제 #7
0
    private string GetConvertedRewardData()
    {
        strBuilder.Length = 0;

        for (int i = 0; i < RewardManager.GetInstance().rewardCount; i++)
        {
            RewardBase data = RewardManager.GetInstance().GetNowReward((Define.RewardType)i);
            if (data != null)
            {
                strBuilder.Append((int)data.GetRewardType());
                strBuilder.Append(dataController.delimiter);
                strBuilder.Append(data.nowLevel);
                strBuilder.Append(dataController.delimiter);
                strBuilder.Append(data.nowValue);
                strBuilder.Append(dataController.delimiter);
                strBuilder.Append(ParseBoolToInt(data.isCompleted));
                if (i < RewardManager.GetInstance().rewardCount - 1)
                {
                    strBuilder.Append(dataController.delimiter);
                }
            }
        }
        return(strBuilder.ToString());
    }
예제 #8
0
 private void StartLobby()
 {
     RewardManager.GetInstance().CheckAllReward();
     SoundManager.GetInstance().PlayBGM(Define.SoundType.LobbyBGM);
     CheckTutorial();
 }