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

public class QuestFinishDetail
{
	public enum WinBonusStatus
	{
		NotAchieved,
		NowAchieved,
		AlreadyAchieved
	}

	public class MissionClearInfo
	{
		public string MissionText { get; private set; }

		public int MissionPoint { get; private set; }

		public MissionClearInfo(string missionText, int missionPoint)
		{
			MissionText = missionText;
			MissionPoint = missionPoint;
		}
	}

	public JsonData _responseData;

	public int get_class_chara_experience;

	public int class_chara_experience;

	public int class_chara_level;

	public int CurrentPoint { get; set; }

	public int AddPoint { get; set; }

	public int ClassBonusPoint { get; set; }

	public int FormatBonusPoint { get; set; }

	public List<int> NecessaryPointList { get; set; }

	public List<MissionClearInfo> CommonMissionClearInfoList { get; set; }

	public List<MissionClearInfo> CharacterMissionClearInfoList { get; set; }

	public int WinBonusPoint { get; set; }

	public int WinCount { get; set; }

	public int WinCountForWinBonusPoint { get; set; }

	public bool IsSpecialResult { get; set; }

	public bool IsSpecialEffect { get; set; }

	public int CurrentLife { get; set; }

	public int MaxLife { get; set; }

	public bool IsEnableBossRushShortestTurn { get; set; }

	public int BossRushShortestTurn { get; set; }

	public int BossRushTotalTurn { get; set; }

	public bool IsBossRushNewRecord { get; set; }

	public WinBonusStatus WinBonusPointStatus { get; set; }

	public List<UserMission> achieved_mission_list => AchievedInfo._missions;

	public List<UserAchievement> achieved_achievement_list => AchievedInfo._achievements;

	public List<ReceivedReward> Rewards => AchievedInfo._rewards;

	public AchievedInfo AchievedInfo { get; private set; }

	public PuzzleQuestInfo PuzzleQuestInfo { get; set; }

	public MyPageHomeDialogData HomeDialogData { get; set; }

	public QuestFinishDetail()
	{
		AchievedInfo = new AchievedInfo();
	}

	public int GetTotalCommonMissionClearPoint()
	{
		int num = 0;
		for (int i = 0; i < CommonMissionClearInfoList.Count; i++)
		{
			num += CommonMissionClearInfoList[i].MissionPoint;
		}
		return num;
	}

	public int GetTotalCharacterMissionClearPoint()
	{
		int num = 0;
		for (int i = 0; i < CharacterMissionClearInfoList.Count; i++)
		{
			num += CharacterMissionClearInfoList[i].MissionPoint;
		}
		return num;
	}

	public int GetTotalBonusPoint()
	{
		return ClassBonusPoint + FormatBonusPoint;
	}
}
