示例#1
0
        public int Update(ArenaInfo enemyInfo, BattleLog.Result result)
        {
            DailyChallengeCount--;
            switch (result)
            {
            case BattleLog.Result.Win:
                ArenaRecord.Win++;
                break;

            case BattleLog.Result.Lose:
                ArenaRecord.Lose++;
                break;

            case BattleLog.Result.TimeOver:
                ArenaRecord.Draw++;
                return(0);

            default:
                throw new ArgumentOutOfRangeException(nameof(result), result, null);
            }

            var score =
                ArenaScoreHelper.GetScore(Score, enemyInfo.Score, result);

            Score           = Math.Max(1000, Score + score.challengerScore);
            enemyInfo.Score = Math.Max(1000, enemyInfo.Score + score.defenderScore);
            return(score.challengerScore);
        }
示例#2
0
        private void UpdateViewAsDefeat(BattleLog.Result result)
        {
            AudioController.instance.PlayMusic(AudioController.MusicCode.Lose);
            AnalyticsManager.Instance.OnEvent(AnalyticsManager.EventName.ActionBattleLose);

            victoryImageContainer.SetActive(false);
            defeatImageContainer.SetActive(true);
            topArea.SetActive(false);
            defeatTextArea.root.SetActive(true);
            var key = "UI_BATTLE_RESULT_DEFEAT_MESSAGE";

            if (result == BattleLog.Result.TimeOver)
            {
                key = "UI_BATTLE_RESULT_TIMEOUT_MESSAGE";
            }

            defeatTextArea.defeatText.text = L10nManager.Localize(key);
            defeatTextArea.expText.text    = $"EXP + {SharedModel.Exp}";
            bottomText.enabled             = false;
            closeButton.interactable       = true;
            closeButtonText.text           = L10nManager.Localize("UI_MAIN");
            submitButtonText.text          = L10nManager.Localize("UI_BATTLE_AGAIN");

            _coUpdateBottomText = StartCoroutine(CoUpdateBottomText(Timer));
            StartCoroutine(CoUpdateRewards());
        }
示例#3
0
        public int UpdateV3(AvatarState avatarState, ArenaInfo enemyInfo, BattleLog.Result result)
        {
            switch (result)
            {
            case BattleLog.Result.Win:
                ArenaRecord.Win++;
                break;

            case BattleLog.Result.Lose:
                ArenaRecord.Lose++;
                break;

            case BattleLog.Result.TimeOver:
                ArenaRecord.Draw++;
                return(0);

            default:
                throw new ArgumentOutOfRangeException(nameof(result), result, null);
            }

            var score      = ArenaScoreHelper.GetScoreV1(Score, enemyInfo.Score, result);
            var calculated = Score + score;
            var current    = Score;

            Score = Math.Max(1000, calculated);
            DailyChallengeCount--;
            ArmorId = avatarState.GetArmorId();
            Level   = avatarState.level;
            return(Score - current);
        }
示例#4
0
 private void DummyBattleLose()
 {
     _result = BattleLog.Result.Lose;
     list.gameObject.SetActive(true);
 }