using ServerCore; using ServerBase; namespace ServerCommon; public class UgcNpcLikeRankAttribute : EntityAttributeBase, ICopyEntityAttributeFromCache { public UgcNpcLikeRankAttribute(EntityBase owner) : base(owner) { } public override void onClear() { } public override EntityAttributeBase onCloned() { var cloned = new UgcNpcLikeRankAttribute(getOwner()); return cloned; } public bool copyEntityAttributeFromCache(CacheBase? cacheBase) { return true; } public override IEntityAttributeTransactor onNewEntityAttributeTransactor() { return new UgcNpcLikeRankAttributeTransactor(getOwner()); } public override async Task<(Result, DynamoDbDocBase?)> toDocBase(bool isForQuery = true) { await Task.CompletedTask; return (new Result(), null); } } public class UgcNpcLikeRankAttributeTransactor : EntityAttributeTransactorBase, ICopyEntityAttributeTransactorFromEntityAttribute { public UgcNpcLikeRankAttributeTransactor(EntityBase owner) : base(owner) { } public bool copyEntityAttributeTransactorFromEntityAttribute(EntityAttributeBase entityAttributeBase) { string err_msg; var copy_from_ugc_npc_like_rank_attribute = entityAttributeBase as UgcNpcLikeRankAttribute; if (null == copy_from_ugc_npc_like_rank_attribute) { err_msg = $"Failed to copyEntityAttributeTransactorFromEntityAttribute() !!!, copy_from_ugc_npc_like_rank_attribute is null :{nameof(UgcNpcLikeRankAttribute)}"; Log.getLogger().error(err_msg); return false; } var copy_to_ugc_npc_like_rank_attribute = getClonedEntityAttribute() as UgcNpcLikeRankAttribute; if (null == copy_to_ugc_npc_like_rank_attribute) { err_msg = $"Failed to copyEntityAttributeTransactorFromEntityAttribute() !!!, copy_to_ugc_npc_like_rank_attribute is null :{nameof(UgcNpcLikeRankAttribute)}"; Log.getLogger().error(err_msg); return false; } // copy attribute members // ... return true; } }