예제 #1
0
 public RankingSimulator(
     IRandom random,
     Player player,
     EnemyPlayerDigest enemyPlayerDigest,
     List <Guid> foods,
     RankingSimulatorSheets rankingSimulatorSheets,
     int stageId,
     ArenaInfo arenaInfo,
     ArenaInfo enemyInfo,
     CostumeStatSheet costumeStatSheet
     ) : base(
         random,
         player,
         foods,
         rankingSimulatorSheets
         )
 {
     _enemyPlayer = new EnemyPlayer(enemyPlayerDigest, CharacterSheet, CharacterLevelSheet, EquipmentItemSetEffectSheet)
     {
         Simulator = this
     };
     _enemyPlayer.Stats.EqualizeCurrentHPWithHP();
     _stageId               = stageId;
     _arenaInfo             = arenaInfo;
     _enemyInfo             = enemyInfo;
     WeeklyArenaRewardSheet = rankingSimulatorSheets.WeeklyArenaRewardSheet;
     if (!(costumeStatSheet is null))
     {
         Player.SetCostumeStat(costumeStatSheet);
         _enemyPlayer.SetCostumeStat(costumeStatSheet);
     }
 }
예제 #2
0
        public void SimulateRequiredLevel(int level, int requiredLevel, bool expected)
        {
            var rewardSheet = new WeeklyArenaRewardSheet();

            rewardSheet.Set($"id,item_id,ratio,min,max,required_level\n1,302000,0.1,1,1,{requiredLevel}");
            _tableSheets.WeeklyArenaRewardSheet = rewardSheet;
            var avatarState = new AvatarState(
예제 #3
0
        public void SetToSheet()
        {
            var weeklyArenaRewardSheet = new WeeklyArenaRewardSheet();

            weeklyArenaRewardSheet.Set("id,item_id,ratio,min,max\n1,2,0.1,0,1,1");

            var row    = weeklyArenaRewardSheet[1];
            var reward = row.Reward;

            Assert.Equal(1, row.Id);
            Assert.Equal(2, reward.ItemId);
            Assert.Equal(0.1m, reward.Ratio);
            Assert.Equal(0, reward.Min);
            Assert.Equal(1, reward.Max);
            Assert.Equal(1, reward.RequiredLevel);
        }
예제 #4
0
 public RankingSimulatorSheets(
     MaterialItemSheet materialItemSheet,
     SkillSheet skillSheet,
     SkillBuffSheet skillBuffSheet,
     BuffSheet buffSheet,
     CharacterSheet characterSheet,
     CharacterLevelSheet characterLevelSheet,
     EquipmentItemSetEffectSheet equipmentItemSetEffectSheet,
     WeeklyArenaRewardSheet weeklyArenaRewardSheet
     ) : base(
         materialItemSheet,
         skillSheet,
         skillBuffSheet,
         buffSheet,
         characterSheet,
         characterLevelSheet,
         equipmentItemSetEffectSheet
         )
 {
     WeeklyArenaRewardSheet = weeklyArenaRewardSheet;
 }
예제 #5
0
 public RankingSimulator(
     IRandom random,
     AvatarState avatarState,
     AvatarState enemyAvatarState,
     List <Guid> foods,
     RankingSimulatorSheets rankingSimulatorSheets,
     int stageId,
     ArenaInfo arenaInfo,
     ArenaInfo enemyInfo
     ) : base(
         random,
         avatarState,
         foods,
         rankingSimulatorSheets
         )
 {
     _enemyPlayer = new EnemyPlayer(enemyAvatarState, this);
     _enemyPlayer.Stats.EqualizeCurrentHPWithHP();
     _stageId               = stageId;
     _arenaInfo             = arenaInfo;
     _enemyInfo             = enemyInfo;
     _avatarState           = avatarState;
     WeeklyArenaRewardSheet = rankingSimulatorSheets.WeeklyArenaRewardSheet;
 }