Exemple #1
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);
        }
Exemple #2
0
 public RankingInfo(AvatarState avatarState)
 {
     AvatarAddress = avatarState.address;
     AgentAddress  = avatarState.agentAddress;
     ArmorId       = avatarState.GetArmorId();
     Level         = avatarState.level;
     AvatarName    = avatarState.NameWithHash;
     Exp           = avatarState.exp;
     avatarState.worldInformation.TryGetUnlockedWorldByStageClearedBlockIndex(out var detail);
     StageClearedBlockIndex = detail.StageClearedBlockIndex;
     UpdatedAt = avatarState.updatedAt;
 }
Exemple #3
0
 public void UpdateV2(AvatarState state, CharacterSheet characterSheet, CostumeStatSheet costumeStatSheet)
 {
     ArmorId     = state.GetArmorId();
     Level       = state.level;
     CombatPoint = CPHelper.GetCPV2(state, characterSheet, costumeStatSheet);
 }
Exemple #4
0
 public void UpdateV1(AvatarState state, CharacterSheet characterSheet)
 {
     ArmorId     = state.GetArmorId();
     Level       = state.level;
     CombatPoint = CPHelper.GetCP(state, characterSheet);
 }