Files
caliverse_server/ServerCommon/Helper/QuestHelper.cs
2025-05-01 07:20:41 +09:00

105 lines
2.8 KiB
C#

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using UGQDatabase.Models;
namespace ServerCommon;
public static class QuestHelper
{
public static (UInt32, UInt32) convertUgqQuestIdToQuestIdAndRevision(Int64 ugq_quest_id)
{
var quest_id = (UInt32)(ugq_quest_id & 0xFFFFFFFF);
var quest_revision = (UInt32)(ugq_quest_id >> 32);
return (quest_id, quest_revision);
}
public static Int64 convertQuestIdAndRevisionToUgqQuestId(UInt32 quest_id, UInt32 quest_revision)
{
Int64 ugq_quest_id = ((Int64)quest_revision << 32) | quest_id;
return ugq_quest_id;
}
public static UgqStateType convertQuestContentStateToUgqStateType(QuestContentState state)
{
//RevisionChanged 이건 어디다 쓰지?
switch (state)
{
case QuestContentState.None:
case QuestContentState.Editable:
case QuestContentState.Shutdown:
case QuestContentState.Standby:
return UgqStateType.Shutdown;
case QuestContentState.Test:
return UgqStateType.Test;
case QuestContentState.Live:
return UgqStateType.Live;
default:
return UgqStateType.Shutdown;
}
}
public static QuestContentState convertUgqStateTypeToQuestContentState(UgqStateType state)
{
switch (state)
{
case UgqStateType.Test:
return QuestContentState.Test;
case UgqStateType.Live:
return QuestContentState.Live;
case UgqStateType.Shutdown:
case UgqStateType.None:
return QuestContentState.None;
default:
return QuestContentState.None;
}
}
public static string convertUgqGradeToQuestCheckGrade(UgqGradeType gradeType)
{
switch (gradeType)
{
case UgqGradeType.Amature:
return QuestUgqGradeConditionType.AMATEUR.ToString();
case UgqGradeType.RisingStar:
return QuestUgqGradeConditionType.RISINGSTAR.ToString();
case UgqGradeType.Master1:
return QuestUgqGradeConditionType.MASTER1.ToString();
case UgqGradeType.Master2:
return QuestUgqGradeConditionType.MASTER2.ToString();
case UgqGradeType.Master3:
return QuestUgqGradeConditionType.MASTER3.ToString();
case UgqGradeType.None:
return QuestUgqGradeConditionType.ALL.ToString();
default:
return QuestUgqGradeConditionType.ALL.ToString();
}
}
}
public enum QuestUgqGradeConditionType
{
ALL = 1,
AMATEUR = 2,
RISINGSTAR = 3,
MASTER1 = 4,
MASTER2 = 5,
MASTER3 = 6,
}