Files
caliverse_server/UGQApiServer/Converter/UGQMetaDataConverter.cs
2025-05-01 07:20:41 +09:00

155 lines
4.4 KiB
C#

using ServerCommon;
using MetaAssets;
using UGQApiServer.Models;
using UGQApiServer.UGQData;
namespace UGQApiServer.Converter;
public static class UGQMetaDataConverter
{
public static UGQNpcMetaData ToNpcLocale(this UGQNpcMetaData npc, LangEnum langEnum)
{
if (npc.NpcId != null)
{
var text = UGQDataHelper.getText(langEnum, npc.NpcName);
if (text != null)
npc.NpcName = text;
var titleText = UGQDataHelper.getText(langEnum, npc.NpcTitle);
if (titleText != null)
npc.NpcTitle = titleText;
}
return npc;
}
public static TaskAction ToTaskAction(this UGQTaskAction action, LangEnum langEnum)
{
string actionName = action.ActionName;
if (action.TextId != string.Empty)
{
var text = UGQDataHelper.getText(langEnum, action.TextId);
if (text != null)
actionName = text;
}
return new TaskAction
{
ActionId = action.ActionId,
ActionName = actionName,
};
}
public static TaskActionValue ToTaskActionValue(this UGQActionValue actionValue, LangEnum langEnum)
{
string valueName = actionValue.ValueName;
if (actionValue.TextId != string.Empty)
{
var text = UGQDataHelper.getText(langEnum, actionValue.TextId);
if (text != null)
valueName = text;
}
return new TaskActionValue
{
ValueId = actionValue.ValueId,
UgcValueGuid = actionValue.UgcValueGuid,
ValueName = valueName,
};
}
public static DialogType ToDialogType(this UGQDialogType dialogType, LangEnum langEnum)
{
string typeName = dialogType.TypeName;
if (dialogType.TextId != string.Empty)
{
var text = UGQDataHelper.getText(langEnum, dialogType.TextId);
if (text != null)
typeName = text;
}
return new DialogType
{
TypeId = dialogType.TypeId,
TypeName = typeName,
};
}
public static DialogAction ToDialogAction(this UGQDialogCondition action, LangEnum langEnum)
{
string actionName = action.ConditionName;
if (action.TextId != string.Empty)
{
var text = UGQDataHelper.getText(langEnum, action.TextId);
if (text != null)
actionName = text;
}
return new DialogAction
{
ActionId = action.ConditionId,
ActionName = actionName,
};
}
public static DialogActionValue ToDialogActionValue(this UGQActionValue actionValue, LangEnum langEnum)
{
string valueName = actionValue.ValueName;
if (actionValue.TextId != string.Empty)
{
var text = UGQDataHelper.getText(langEnum, actionValue.TextId);
if (text != null)
valueName = text;
}
return new DialogActionValue
{
ValueId = actionValue.ValueId,
ValueName = valueName,
};
}
public static NpcActionValue ToNpcActionValue(this UGQBeaconActionData npcAction, LangEnum langEnum)
{
string valueName = npcAction.Name;
if (npcAction.Name != string.Empty)
{
var text = UGQDataHelper.getText(langEnum, npcAction.Name);
if (text != null)
valueName = text;
}
return new NpcActionValue
{
Id = npcAction.Id,
Name = valueName,
FileName = npcAction.FileName,
};
}
public static MapDataValue ToMapDataValue(this ZoneMetaData zoneMetaData, LangEnum langEnum)
{
//string valueName = npcAction.zone_name;
//if (npcAction.zone_name != string.Empty)
//{
// var text = UGQDataHelper.getText(langEnum, npcAction.zone_name);
// if (text != null)
// valueName = text;
//}
MetaData.Instance.UGQMapImageMetaDataListbyId.TryGetValue(zoneMetaData.Id, out var mapImageData);
return new MapDataValue
{
Id = zoneMetaData.Id,
Name = zoneMetaData.zone_name,
MapSize_X = zoneMetaData.mapDistance_x,
MapSize_Y = zoneMetaData.mapDistance_y,
ImageFileName = mapImageData == null ? string.Empty : mapImageData.FileName,
};
}
}