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; } }