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

public class RoomMatchResultReporter : IBattleResultReporter
{
	private readonly GameObject m_reportEndAgentObj;

	private readonly RoomMatchReportEndAgent m_reportEndAgent;

	public bool IsEnd => m_reportEndAgent.IsEnd;

	public int ClassExp => GetClassExp();

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

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

	public List<ReceivedReward> MissionRewards => Data.RoomMatchFinish.data._missionRewards;

	public List<ReceivedReward> VictoryRewards => null;

	public bool IsDataExist => Data.RoomMatchFinish.data != null;

	public MyPageHomeDialogData HomeDialogData => null;

	public LotteryApplyData LotteryData => Data.RoomMatchFinish.data.AchievedInfo._lotteryData;

	public RoomMatchResultReporter()
	{
		m_reportEndAgentObj = new GameObject();
		m_reportEndAgent = m_reportEndAgentObj.AddComponent<RoomMatchReportEndAgent>();
	}

	public void Report(bool isWin)
	{
		m_reportEndAgent.Finished();
	}

	public JsonData GetFinishResponseData()
	{
		return Data.RoomMatchFinish.data._responseData;
	}

	public List<UserAchievement> GetUserAchievementList()
	{
		return Data.RoomMatchFinish.data.achieved_achievement_list;
	}

	public List<UserMission> GetUserMissionList()
	{
		return Data.RoomMatchFinish.data.achieved_mission_list;
	}

	public void Destroy()
	{
		Object.Destroy(m_reportEndAgentObj);
	}

	public int GetClassExp()
	{
		return 0;
	}
}
