초기커밋

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,122 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Google.Protobuf.WellKnownTypes;
using ServerCore; using ServerBase;
using ServerCommon.Cache;
namespace ServerCommon;
public class PartyInstanceAttribute : EntityAttributeBase, ICopyEntityAttributeFromCache
{
public int InstanceId { get; set; } = 0;
public string RoomId { get; set; } = string.Empty;
public Timestamp StartTime { get; set; } = new();
public Timestamp EndTime { get; set; } = new();
public int JoinMemberCount { get; set; } = 0;
public PartyInstanceAttribute(EntityBase owner) : base(owner)
{
}
public override void onClear()
{
InstanceId = 0;
RoomId = string.Empty;
StartTime = DateTimeHelper.MinTime.ToTimestamp();
EndTime = DateTimeHelper.MinTime.ToTimestamp();
JoinMemberCount = 0;
}
public override EntityAttributeBase onCloned()
{
var cloned = new PartyInstanceAttribute(getOwner())
{
InstanceId = InstanceId,
RoomId = RoomId,
StartTime = StartTime,
EndTime = EndTime,
JoinMemberCount = JoinMemberCount
};
return cloned;
}
public bool copyEntityAttributeFromCache(CacheBase? cacheBase)
{
var party_instance_cache = cacheBase as PartyInstanceCache;
if(null == party_instance_cache)
{
var err_msg = $"Failed to copyEntityAttributeFromCache() !!!, party_cache is null :{nameof(PartyInstanceCache)}";
Log.getLogger().error(err_msg);
return false;
}
//=====================================================================================
// Cache => Attribute
//=====================================================================================
InstanceId = party_instance_cache.InstanceId;
RoomId = party_instance_cache.RoomId;
StartTime = party_instance_cache.StartTime;
EndTime = party_instance_cache.EndTime;
JoinMemberCount = party_instance_cache.JoinMemberCount;
return true;
}
public override IEntityAttributeTransactor onNewEntityAttributeTransactor()
{
return new PartyInstanceAttributeTransactor(getOwner());
}
public override async Task<(Result, DynamoDbDocBase?)> toDocBase(bool isForQuery = true)
{
await Task.CompletedTask;
return (new Result(), null);
}
}
public class PartyInstanceAttributeTransactor : EntityAttributeTransactorBase<PartyInstanceAttribute>, ICopyEntityAttributeTransactorFromEntityAttribute
{
public PartyInstanceAttributeTransactor(EntityBase owner) : base(owner)
{
}
public bool copyEntityAttributeTransactorFromEntityAttribute(EntityAttributeBase entityAttributeBase)
{
string err_msg;
var copy_from_party_instance_attribute = entityAttributeBase as PartyInstanceAttribute;
if (null == copy_from_party_instance_attribute)
{
err_msg = $"Failed to copyEntityAttributeTransactorFromEntityAttribute() !!!, copy_from_party_instance_attribute is null :{nameof(PartyInstanceAttribute)}";
Log.getLogger().error(err_msg);
return false;
}
var copy_to_party_instance_attribute = getClonedEntityAttribute() as PartyInstanceAttribute;
if (null == copy_to_party_instance_attribute)
{
err_msg = $"Failed to copyEntityAttributeTransactorFromEntityAttribute() !!!, copy_to_party_instance_attribute is null :{nameof(PartyInstanceAttribute)}";
Log.getLogger().error(err_msg);
return false;
}
copy_to_party_instance_attribute.InstanceId = copy_from_party_instance_attribute.InstanceId;
copy_to_party_instance_attribute.RoomId = copy_from_party_instance_attribute.RoomId;
copy_to_party_instance_attribute.StartTime = copy_from_party_instance_attribute.StartTime;
copy_to_party_instance_attribute.EndTime = copy_from_party_instance_attribute.EndTime;
copy_to_party_instance_attribute.JoinMemberCount = copy_from_party_instance_attribute.JoinMemberCount;
return true;
}
}