초기커밋

This commit is contained in:
2025-05-01 07:20:41 +09:00
commit 98bb2e3c5c
2747 changed files with 646947 additions and 0 deletions

View File

@@ -0,0 +1,79 @@
using ServerCommon;
using ServerCore; using ServerBase;
using META_ID = System.UInt32;
namespace GameServer
{
public class PackageRepeat : EntityBase
{
private PackageRepeat(EntityBase parent)
: base(EntityType.PackageAction, parent)
{
}
public override async Task<Result> onInit()
{
var parent = getDirectParent();
NullReferenceCheckHelper.throwIfNull(parent, () => "parent is null !!!");
addEntityAttribute(new PackageRepeatAttribute(this, parent));
return await base.onInit();
}
public static async Task<(Result, PackageRepeat?)> createPackageRepeatFromDoc(EntityBase parent, PackageRepeatDoc doc)
{
var package = new PackageRepeat(parent);
var result = await package.onInit();
if (result.isFail())
{
return (result, null);
}
var err_msg = string.Empty;
var package_repeat_attribute = package.getEntityAttribute<PackageRepeatAttribute>();
ArgumentNullException.ThrowIfNull(package_repeat_attribute);
if (package_repeat_attribute.copyEntityAttributeFromDoc(doc) == false)
{
err_msg = $"Failed to copyEntityAttributeFromDoc !!! : doc_type {doc.GetType()} - {package.getRootParent().toBasicString()}";
result.setFail(ServerErrorCode.DynamoDbDocCopyToEntityAttributeFailed, err_msg);
Log.getLogger().error(err_msg);
return (result, null);
}
return (result, package);
}
public static async Task<(Result, PackageRepeat?)> createPackageRepeat(Player owner, string order_guid, META_ID product_meta_id, int left_count, DateTime next_give_time)
{
var package = new PackageRepeat(owner);
var result = await package.onInit();
if (result.isFail())
{
return (result, null);
}
var err_msg = string.Empty;
var package_attribute = package.getEntityAttribute<PackageRepeatAttribute>();
if (package_attribute == null)
{
err_msg = $"Failed to get package attribute : {nameof(PackageRepeatAttribute)}";
result.setFail(ServerErrorCode.EntityAttributeIsNull, err_msg);
Log.getLogger().error(err_msg);
return (result, null);
}
package_attribute.OrderGuid = order_guid;
package_attribute.ProductMetaId = product_meta_id;
package_attribute.LeftCount = left_count;
package_attribute.NextGiveTime = next_give_time;
package_attribute.newEntityAttribute();
return (result, package);
}
}
}