public static UnitEquipment Deserialize(UnitEquipmentSerializable serializedData, Dictionary <string, string> itemsDb)
    {
        UnitEquipment unitEquipment = new UnitEquipment();

        unitEquipment.RightWeapon = DeserializeItem(unitEquipment.RightWeapon, serializedData.RightWeapon.ToString(), itemsDb);
        unitEquipment.LeftWeapon  = DeserializeItem(unitEquipment.LeftWeapon, serializedData.LeftWeapon.ToString(), itemsDb);
        unitEquipment.Body        = DeserializeItem(unitEquipment.Body, serializedData.Body.ToString(), itemsDb);
        unitEquipment.Head        = DeserializeItem(unitEquipment.Head, serializedData.Head.ToString(), itemsDb);
        unitEquipment.Back        = DeserializeItem(unitEquipment.Back, serializedData.Back.ToString(), itemsDb);
        unitEquipment.AccessoryA  = DeserializeItem(unitEquipment.AccessoryA, serializedData.AccessoryA.ToString(), itemsDb);
        unitEquipment.AccessoryB  = DeserializeItem(unitEquipment.AccessoryB, serializedData.AccessoryB.ToString(), itemsDb);

        return(unitEquipment);
    }
    public static UnitEquipmentSerializable Serialize(UnitEquipment unitEquipment)
    {
        UnitEquipmentSerializable serializedData = new UnitEquipmentSerializable();

        serializedData.RightWeapon = (unitEquipment.RightWeapon == null) ? 0 : unitEquipment.RightWeapon.ItemId;
        serializedData.LeftWeapon  = (unitEquipment.LeftWeapon == null) ? 0 : unitEquipment.LeftWeapon.ItemId;
        serializedData.Body        = (unitEquipment.Body == null) ? 0 : unitEquipment.Body.ItemId;
        serializedData.Head        = (unitEquipment.Head == null) ? 0 : unitEquipment.Head.ItemId;
        serializedData.Back        = (unitEquipment.Back == null) ? 0 : unitEquipment.Back.ItemId;
        serializedData.AccessoryA  = (unitEquipment.AccessoryA == null) ? 0 : unitEquipment.AccessoryA.ItemId;
        serializedData.AccessoryB  = (unitEquipment.AccessoryB == null) ? 0 : unitEquipment.AccessoryB.ItemId;

        return(serializedData);
    }