초기커밋
This commit is contained in:
61
ServerCommon/Helper/ClientMessageHelper.cs
Normal file
61
ServerCommon/Helper/ClientMessageHelper.cs
Normal file
@@ -0,0 +1,61 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Runtime.CompilerServices;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
|
||||
using Google.Protobuf.WellKnownTypes;
|
||||
|
||||
|
||||
using ServerCore; using ServerBase;
|
||||
|
||||
|
||||
namespace ServerCommon;
|
||||
|
||||
public static class ClientMessageHelper
|
||||
{
|
||||
public static global::Item toItemData4Client(this ItemBase item)
|
||||
{
|
||||
var parent = item.getRootParent();
|
||||
NullReferenceCheckHelper.throwIfNull(parent, () => $"parent is null !!!");
|
||||
|
||||
var item_attribute = item.getEntityAttribute<ItemAttributeBase>();
|
||||
NullReferenceCheckHelper.throwIfNull(item_attribute, () => $"item_attribute is null !!! - {parent.toBasicString()}");
|
||||
|
||||
return item_attribute.toItemData4Client();
|
||||
}
|
||||
|
||||
public static global::Item toItemData4Client(this ItemAttributeBase itemAttributeBase)
|
||||
{
|
||||
var owner = itemAttributeBase.getOwner();
|
||||
NullReferenceCheckHelper.throwIfNull(owner, () => $"owner is null !!!");
|
||||
|
||||
var parent = owner.getRootParent();
|
||||
NullReferenceCheckHelper.throwIfNull(parent, () => $"parent is null !!! - {owner.toBasicString()}");
|
||||
|
||||
var item_4_client = new global::Item();
|
||||
|
||||
item_4_client.ItemGuid = itemAttributeBase.ItemGuid;
|
||||
item_4_client.ItemId = (Int32)itemAttributeBase.ItemMetaId;
|
||||
item_4_client.Count = itemAttributeBase.ItemStackCount;
|
||||
item_4_client.Slot = itemAttributeBase.EquipedPos;
|
||||
item_4_client.Level = itemAttributeBase.Level;
|
||||
item_4_client.Attributeids.AddRange(itemAttributeBase.Attributes.Select<UInt16, Int32>(x => x).ToList());
|
||||
|
||||
(var result, DynamoDbDocBase? doc_base) = itemAttributeBase.toDocBase(false).GetAwaiter().GetResult();
|
||||
if(result.isFail())
|
||||
{
|
||||
var err_msg = $"Failed to toDocBase() !!!, in toItemData4Client() : {result.toBasicString()} - {owner.toBasicString()}, {parent.toBasicString()}";
|
||||
Log.getLogger().error(err_msg);
|
||||
return item_4_client;
|
||||
}
|
||||
NullReferenceCheckHelper.throwIfNull(doc_base, () => $"doc_base is null !!! - {itemAttributeBase.toBasicString()}");
|
||||
|
||||
item_4_client.CreateTime = doc_base.getCreatedDateTime().ProcessedTime.ToTimestamp();
|
||||
item_4_client.CreateTime = doc_base.getUpdatedDateTime().ProcessedTime.ToTimestamp();
|
||||
|
||||
return item_4_client;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user