65 lines
2.1 KiB
C#
65 lines
2.1 KiB
C#
using System;
|
|
using System.Collections.Generic;
|
|
using System.Linq;
|
|
using System.Text;
|
|
using System.Threading.Tasks;
|
|
using MongoDB.Bson.Serialization.Attributes;
|
|
using MongoDB.Bson;
|
|
|
|
namespace UGQDatabase.Models;
|
|
|
|
|
|
public class GameQuestDialogDataEntity
|
|
{
|
|
public string Id { get; set; } = null!;
|
|
public List<DialogSequenceEntity> Sequences { get; set; } = new();
|
|
}
|
|
|
|
public class GameQuestDataEntity
|
|
{
|
|
[BsonId]
|
|
[BsonRepresentation(BsonType.ObjectId)]
|
|
public string Id { get; set; } = null!;
|
|
|
|
public long QuestId { get; set; }
|
|
public long Revision { get; set; }
|
|
|
|
public string UserGuid { get; set; } = null!;
|
|
public string Author { get; set; } = null!;
|
|
|
|
public int BeaconId { get; set; }
|
|
public string? UgcBeaconGuid { get; set; }
|
|
public string? UgcBeaconNickname { get; set; }
|
|
|
|
public TextEntity Title { get; set; } = new TextEntity();
|
|
public List<string> Langs { get; set; } = new List<string>();
|
|
public string TitleImagePath { get; set; } = string.Empty;
|
|
public string BannerImagePath { get; set; } = string.Empty;
|
|
public TextEntity Description { get; set; } = new TextEntity();
|
|
|
|
[BsonRepresentation(BsonType.String)]
|
|
public UgqGradeType GradeType { get; set; } = UgqGradeType.Amature;
|
|
|
|
[BsonRepresentation(BsonType.String)]
|
|
public QuestContentState State { get; set; }
|
|
public int Cost { get; set; }
|
|
|
|
public bool Shutdown { get; set; }
|
|
|
|
public List<TaskEntity> Tasks { get; set; } = new ();
|
|
public List<GameQuestDialogDataEntity> Dialogs { get; set; } = new();
|
|
|
|
public List<QuestMetaInfo> QuestScriptMetas { get; set; } = new(); //클라에게 바로 전달 해주기 위해 Tasks를 가공한 Meta 정보
|
|
|
|
public UgqGameQuestDataForClient UgqGameQuestDataForClient { get; set; } = new(); //클라에게 바로 전달해주기 위해 Dialogs 를 가공한 데이터
|
|
public string UgqGameQuestDataForClientString { get; set; } = string.Empty; //클라에게 바로 전달해주기 위해 Dialogs 를 가공한 데이터 문자열
|
|
|
|
[BsonRequired]
|
|
public DateTime UpdatedAt { get; set; }
|
|
|
|
[BsonRequired]
|
|
public DateTime CreatedAt { get; set; }
|
|
|
|
}
|
|
|