155 lines
4.4 KiB
C#
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,
|
|
};
|
|
}
|
|
}
|