using System.Collections.Generic;
using LitJson;
using Wizard.Lottery;

namespace Wizard;

public class CompetitionResultReporter : IBattleResultReporter
{
	public bool IsEnd => Data.CompetitionBattleFinish.DetailData != null;

	public int ClassExp => GetClassExp();

	public List<UserAchievement> UserAchievement => GetUserAchievementList();

	public List<UserMission> UserMission => GetUserMissionList();

	public List<ReceivedReward> MissionRewards => Data.CompetitionBattleFinish.DetailData._missionRewards;

	public List<ReceivedReward> VictoryRewards => null;

	public LotteryApplyData LotteryData => LotteryApplyData.EmptyData();

	public bool IsDataExist
	{
		get
		{
			if (Data.CompetitionBattleFinish.DetailData != null)
			{
				return Data.CompetitionBattleFinish.DetailData.IsProcessed;
			}
			return false;
		}
	}

	public MyPageHomeDialogData HomeDialogData => null;

	public void Report(bool isWin)
	{
	}

	public void Destroy()
	{
	}

	public JsonData GetFinishResponseData()
	{
		return Data.CompetitionBattleFinish.DetailData._responseData;
	}

	public List<UserAchievement> GetUserAchievementList()
	{
		return Data.CompetitionBattleFinish.DetailData.achieved_achievement_list;
	}

	public List<UserMission> GetUserMissionList()
	{
		return Data.CompetitionBattleFinish.DetailData.achieved_mission_list;
	}

	public int GetClassExp()
	{
		return Data.CompetitionBattleFinish.DetailData.get_class_chara_experience;
	}
}
