초기커밋
This commit is contained in:
84
GameServer/Entity/Character/Character.cs
Normal file
84
GameServer/Entity/Character/Character.cs
Normal file
@@ -0,0 +1,84 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
|
||||
using ServerCore; using ServerBase;
|
||||
using ServerCommon;
|
||||
|
||||
|
||||
using SESSION_ID = System.Int32;
|
||||
using WORLD_META_ID = System.UInt32;
|
||||
using META_ID = System.UInt32;
|
||||
using ENTITY_GUID = System.String;
|
||||
using ACCOUNT_ID = System.String;
|
||||
using OWNER_GUID = System.String;
|
||||
using USER_GUID = System.String;
|
||||
using CHARACTER_GUID = System.String;
|
||||
using ITEM_GUID = System.String;
|
||||
|
||||
|
||||
namespace GameServer
|
||||
{
|
||||
public class Character : EntityBase
|
||||
{
|
||||
public Character(Player parent)
|
||||
: base(EntityType.Character, parent)
|
||||
{
|
||||
}
|
||||
|
||||
public override async Task<Result> onInit()
|
||||
{
|
||||
var direct_parent = getDirectParent();
|
||||
NullReferenceCheckHelper.throwIfNull(direct_parent, () => $"direct_parent is null !!!");
|
||||
|
||||
addEntityAttribute(new CharacterAttribute(this, direct_parent));
|
||||
|
||||
addEntityAction(new CharacterAction(this));
|
||||
|
||||
addEntityAction(new CharacterAppearanceCustomizeAction(this));
|
||||
|
||||
return await base.onInit();
|
||||
}
|
||||
|
||||
public async Task<Result> createByCharacterBaseDoc(CharacterBaseDoc characterBaseDoc)
|
||||
{
|
||||
var err_msg = string.Empty;
|
||||
var result = new Result();
|
||||
|
||||
var character_attribute = getEntityAttribute<CharacterAttribute>();
|
||||
NullReferenceCheckHelper.throwIfNull(character_attribute, () => $"character_attribute is null !!!");
|
||||
|
||||
result = await ServerBase.DataCopyHelper.copyEntityAttributeFromDocs(character_attribute, new List<DynamoDbDocBase>() { characterBaseDoc });
|
||||
if( result.isFail() )
|
||||
{
|
||||
err_msg = $"Failed to copyEntityAttributeFromDocs() !!!, to:{character_attribute.getTypeName()}, from:{this.getTypeName()} - {toBasicString()}, {getRootParent().toBasicString()}";
|
||||
result.setFail(ServerErrorCode.DynamoDbDocCopyToEntityAttributeFailed, err_msg);
|
||||
Log.getLogger().error(result.toBasicString());
|
||||
return result;
|
||||
}
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
public CharacterAttribute.AppearanceProfile getOriginAppearanceProfile()
|
||||
{
|
||||
var character_attribute = getOriginEntityAttribute<CharacterAttribute>();
|
||||
NullReferenceCheckHelper.throwIfNull(character_attribute, () => $"character_attribute is null !!!");
|
||||
|
||||
return character_attribute.AppearanceProfileValue;
|
||||
}
|
||||
|
||||
public override string toSummaryString()
|
||||
{
|
||||
return $"{this.getTypeName()} - {getRootParent().toBasicString()}";
|
||||
}
|
||||
|
||||
public override string toBasicString()
|
||||
{
|
||||
return $"{this.getTypeName()} - {getRootParent().toBasicString()}";
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user