58 lines
1.4 KiB
C#
58 lines
1.4 KiB
C#
using Google.Protobuf;
|
|
using Google.Protobuf.WellKnownTypes;
|
|
|
|
|
|
using ServerCore;
|
|
using ServerBase;
|
|
using ServerCommon;
|
|
using ServerCommon.BusinessLogDomain;
|
|
using MetaAssets;
|
|
|
|
|
|
namespace GameServer;
|
|
|
|
internal class MyhomeInventoryAction : InventoryActionBase
|
|
{
|
|
public MyhomeInventoryAction(Myhome owner)
|
|
: base(owner)
|
|
{
|
|
}
|
|
|
|
public override async Task<Result> onInit()
|
|
{
|
|
var result = new Result();
|
|
|
|
var owner = getOwner() as Myhome;
|
|
ArgumentNullException.ThrowIfNull(owner, $"owner is null !!!");
|
|
|
|
result = await getBagInven().onInit();
|
|
if (result.isFail())
|
|
{
|
|
return result;
|
|
}
|
|
|
|
return result;
|
|
}
|
|
|
|
public override void onClear()
|
|
{
|
|
var owner = getOwner();
|
|
ArgumentNullException.ThrowIfNull(owner, $"owner is null !!!");
|
|
|
|
var bag_inven = getBagInven();
|
|
ArgumentNullException.ThrowIfNull(bag_inven, $"bag_inven is null !!! - {owner.toBasicString()}");
|
|
var has_items = bag_inven.getHasItemBases();
|
|
ArgumentNullException.ThrowIfNull(has_items, $"has_items is null !!! - {owner.toBasicString()}");
|
|
|
|
has_items.Clear();
|
|
}
|
|
|
|
public override Item onAllocItem()
|
|
{
|
|
var owner = getOwner() as Myhome;
|
|
ArgumentNullException.ThrowIfNull(owner, $"owner is null !!!");
|
|
|
|
return new MyhomeItem(owner);
|
|
}
|
|
}
|