public static void EquipItem(object obj, object layer) { int serial = AliasCommands.ResolveSerial(obj); if (serial == 0) { UOC.SystemMessage(Strings.Invalid_or_unknown_object_id); return; } Layer layerValue = Layer.Invalid; switch (layer) { case string s: layerValue = Utility.GetEnumValueByName <Layer>(s); break; case int i: layerValue = (Layer)i; break; case Layer l: layerValue = l; break; } if (layerValue == Layer.Invalid) { UOC.SystemMessage(Strings.Invalid_layer_value___); return; } Item item = Engine.Items.GetItem(serial); if (item == null) { UOC.SystemMessage(Strings.Cannot_find_item___); return; } UOC.EquipItem(item, layerValue); }