92 lines
2.2 KiB
C#
92 lines
2.2 KiB
C#
|
|
using System;
|
|
using System.Collections.Generic;
|
|
using System.Linq;
|
|
using System.Text;
|
|
using System.Threading.Tasks;
|
|
|
|
|
|
|
|
using ServerCore;
|
|
using ServerBase;
|
|
using MetaAssets;
|
|
|
|
|
|
namespace ServerCommon;
|
|
|
|
|
|
public static class ItemMetaHelper
|
|
{
|
|
public static string getStringKeyOfItemName(this ItemMetaData itemMetaDta)
|
|
{
|
|
var err_msg = string.Empty;
|
|
|
|
if (false == MetaData.Instance._textTable.TryGetValue(itemMetaDta.Name, out var found_text_string_meta))
|
|
{
|
|
err_msg = $"Failed to MetaData.TextTable.TryGetValue() !!! : ItemName:{itemMetaDta.Name} - ItemMetaId:{itemMetaDta.ItemId}";
|
|
Log.getLogger().error(err_msg);
|
|
|
|
return err_msg;
|
|
}
|
|
|
|
return found_text_string_meta.Key;
|
|
}
|
|
|
|
public static Reward convertFromItemIdToReward(Int32 id, Int32 value)
|
|
{
|
|
ItemRewardMutable item_reward_mutable = new();
|
|
item_reward_mutable.Id = id;
|
|
item_reward_mutable.Count = value;
|
|
|
|
RewardMutable rewardMutable = new();
|
|
rewardMutable.Item = item_reward_mutable;
|
|
|
|
Reward reward = new(rewardMutable);
|
|
|
|
return reward;
|
|
}
|
|
|
|
|
|
|
|
public static bool isCreatableItem(this ItemMetaData metaData)
|
|
{
|
|
if( metaData.TypeSmall == EItemSmallType.LANDCERTIFICATE //EItemLargeType.EXPENDABLE
|
|
|| metaData.TypeSmall == EItemSmallType.BEACON_ITEM ) //EItemLargeType.EXPENDABLE
|
|
{
|
|
return false;
|
|
}
|
|
|
|
if(true == metaData.IsUiOnly)
|
|
{
|
|
return false;
|
|
}
|
|
|
|
return true;
|
|
}
|
|
|
|
public static bool isCrafterItem(this ItemMetaData itemMetaData)
|
|
{
|
|
switch (itemMetaData.TypeSmall)
|
|
{
|
|
case MetaAssets.EItemSmallType.CRAFTING_CLOTHES:
|
|
case MetaAssets.EItemSmallType.CRAFTING_COOKING:
|
|
case MetaAssets.EItemSmallType.CRAFTING_FURNITURE:
|
|
return true;
|
|
}
|
|
|
|
return false;
|
|
}
|
|
|
|
public static bool canRewardFromItem(this ItemMetaData itemMetaData)
|
|
{
|
|
switch (itemMetaData.TypeLarge)
|
|
{
|
|
case MetaAssets.EItemLargeType.RAND_BOX:
|
|
case MetaAssets.EItemLargeType.SET_BOX:
|
|
return true;
|
|
}
|
|
|
|
return false;
|
|
}
|
|
}
|