Files
caliverse_server/GameServer/Contents/OwnedBuilding/Helper/OwnedBuildingHelper.cs
2025-05-01 07:20:41 +09:00

51 lines
1.7 KiB
C#

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using ServerCore; using ServerBase;
using ServerCommon;
namespace GameServer
{
public static class OwnedBuildingHelper
{
public static async Task<(Result, OwnedBuilding)> createOwnedBuilding(Player player, int buildingMetaId, OwnedType ownedType)
{
var result = new Result();
var err_msg = string.Empty;
var owned_building = new OwnedBuilding(player);
result = await owned_building.onInit();
if (result.isFail())
{
err_msg = $"Failed to OwnedBuilding.onInit() !!! : {result.toBasicString()}";
Log.getLogger().error(err_msg);
return (result, owned_building);
}
var owned_building_attribute = owned_building.getEntityAttribute<OwnedBuildingAttribute>();
NullReferenceCheckHelper.throwIfNull(owned_building_attribute, () => $"owned_building_attribute is null !!!");
owned_building_attribute.BuildingMetaId = (uint)buildingMetaId;
owned_building_attribute.OwnedType = ownedType;
owned_building_attribute.newEntityAttribute();
return (result, owned_building);
}
public static int getBuildingMetaId(this OwnedBuilding ownedBuilding)
{
var owned_building_attribute = ownedBuilding.getEntityAttribute<OwnedBuildingAttribute>();
NullReferenceCheckHelper.throwIfNull(owned_building_attribute, () => $"owned_building_attribute is null !!!");
return (int)owned_building_attribute.BuildingMetaId;
}
}
}