private void updateScoreReward(ScoreEventContext scoreEvent, PacketStructUserScoreInfo scoreInfo)
    {
        scoreEvent.IsHiScoreReward = false;
        int nextHiScore = calcNextScore(scoreInfo.hi_score, (int)MasterDataDefineLabel.ScoreRewardType.HI_SCORE, scoreInfo.reward_list);

        if (nextHiScore == 0)
        {
            scoreEvent.NextHiLabel = GameTextUtil.GetText("score_notification_allget");
            scoreEvent.NextHiScore = "";
        }
        else
        {
            int nextScore = nextHiScore - scoreInfo.total_score;
            if (nextScore <= 0)
            {
                scoreEvent.IsHiScoreReward = true;
                scoreEvent.NextHiLabel     = GameTextUtil.GetText("score_notification_getreward");
                scoreEvent.NextHiScore     = "";
            }
            else
            {
                scoreEvent.NextHiLabel = GameTextUtil.GetText("score_notification_nextreward");
                scoreEvent.NextHiScore = string.Format(GameTextUtil.GetText("score_entity"), nextScore);
            }
        }

        scoreEvent.IsTotalScoreReward = false;
        int nextTotalScore = calcNextScore(scoreInfo.total_score, (int)MasterDataDefineLabel.ScoreRewardType.TOTAL_SCORE, scoreInfo.reward_list);

        if (nextTotalScore == 0)
        {
            scoreEvent.NextTotalLabel = GameTextUtil.GetText("score_notification_allget");;
            scoreEvent.NextTotalScore = "";
        }
        else
        {
            int nextScore = nextTotalScore - scoreInfo.total_score;
            if (nextScore <= 0)
            {
                scoreEvent.IsTotalScoreReward = true;
                scoreEvent.NextTotalLabel     = GameTextUtil.GetText("score_notification_getreward");
                scoreEvent.NextTotalScore     = "";
            }
            else
            {
                scoreEvent.NextTotalLabel = GameTextUtil.GetText("score_notification_nextreward");
                scoreEvent.NextTotalScore = string.Format(GameTextUtil.GetText("score_entity"), nextScore);
            }
        }
    }
    public void OnSelectItem(ScoreEventContext item)
    {
        if (RewardWindow.IsShow)
        {
            return;
        }

        SoundUtil.PlaySE(SEID.SE_MENU_OK);

        RewardWindow.setup(item.ScoreInfo);
        RewardWindow.Show(info =>
        {
            item.ScoreInfo = info;
            updateScoreReward(item, info);
        });
    }
Exemple #3
0
    // Use this for initialization
    void Start()
    {
        ScoreEventDialog newDialog = ScoreEventDialog.Create(mainCamera);

        ScoreEventContext scoreEvent1 = new ScoreEventContext();

        scoreEvent1.Title        = "テストイベントです";
        scoreEvent1.Time         = "開催期間:2017/10/10 11:00~10/24 10:59";
        scoreEvent1.HiScoreLabel = "ハイスコア";
        scoreEvent1.HiScore      = "123123123";

        newDialog.EventList.Add(scoreEvent1);
        newDialog.EventList.Add(scoreEvent1);
        newDialog.EventList.Add(scoreEvent1);
        newDialog.EventList.Add(scoreEvent1);

        newDialog.Show();
    }
    public void addScoreInfo(PacketStructUserScoreInfo scoreInfo, MasterDataScoreEvent scoreEventMaster)
    {
        ScoreEventContext scoreEvent = new ScoreEventContext();

        //スコア情報
        scoreEvent.ScoreInfo = scoreInfo;
        //タイトル
        scoreEvent.Title = scoreEventMaster.title;
        //期間
        string timeFormat = GameTextUtil.GetText("score_time_format");

        if (TimeEventManager.Instance.ChkEventActive(scoreEventMaster.event_id) == true)
        {
            //開催中
            MasterDataEvent eventData = MasterDataUtil.GetMasterDataEventFromID(scoreEventMaster.event_id);
            DateTime        startTime = TimeUtil.GetDateTime(eventData.timing_start);
            if (eventData.timing_end != 0)
            {
                DateTime endTime = TimeUtil.GetDateTime(eventData.timing_end);
                endTime         = endTime.SubtractAMinute();
                scoreEvent.Time = string.Format(GameTextUtil.GetText("score_period"), startTime.ToString(timeFormat), endTime.ToString(timeFormat));
            }
            else
            {
                //終了期限なし
                scoreEvent.Time = string.Format(GameTextUtil.GetText("score_period_infinite"), startTime.ToString(timeFormat), "");
            }
            scoreEvent.IsTimeEnd = false;
        }
        else
        {
            //イベント終了
            if (scoreEventMaster.receiving_end != 0)
            {
                DateTime endTime = TimeUtil.GetDateTime(scoreEventMaster.receiving_end);
                endTime = endTime.SubtractAMinute();
                string kikanFormat = GameTextUtil.GetText("Score_period_01");
                scoreEvent.TimeEnd = string.Format(kikanFormat, endTime.ToString(timeFormat));
            }
            else
            {
                scoreEvent.TimeEnd = GameTextUtil.GetText("Score_period_02");
            }
            scoreEvent.IsTimeEnd = true;
        }
        //エリア情報
        scoreEvent.AreaMessage = GameTextUtil.GetText("score_notice");
        //ハイスコア
        scoreEvent.HiScoreLabel = GameTextUtil.GetText("score_subtitle_highscore");
        scoreEvent.HiScore      = string.Format(GameTextUtil.GetText("score_entity_01"), scoreInfo.hi_score);
        scoreEvent.HiScorePt    = GameTextUtil.GetText("score_entity_02");
        //累積スコア
        scoreEvent.TotalScoreLabel = GameTextUtil.GetText("score_subtitle_cumulative");;
        scoreEvent.TotalScore      = string.Format(GameTextUtil.GetText("score_entity_01"), scoreInfo.total_score);
        scoreEvent.TotalScorePt    = GameTextUtil.GetText("score_entity_02");
        //報酬情報更新
        updateScoreReward(scoreEvent, scoreInfo);

        //アイコン
        MasterDataPresent imagePresent = null;

        if (scoreEventMaster.image_present_id != 0)
        {
            imagePresent = MasterDataUtil.GetPresentParamFromID(scoreEventMaster.image_present_id);
        }
        if (imagePresent != null)
        {
            MainMenuUtil.GetPresentIcon(imagePresent, (sprite) =>
            {
                scoreEvent.IconImage = sprite;
            });
        }
        else
        {
            UnitIconImageProvider.Instance.Get(
                1,
                (sprite) =>
            {
                scoreEvent.IconImage = sprite;
            });
        }

        scoreEvent.DidSelectItem = OnSelectItem;

        EventList.Add(scoreEvent);
    }