Beispiel #1
0
            internal static void ExtendedHousingLoad(CraftInfo info)
            {
                if (info == null)
                {
                    return; // TODO: check if this case needs debug logging message.
                }
                if (Sideloader.DebugLoggingResolveInfo.Value)
                {
                    Sideloader.Logger.LogInfo($"Resolving Extended Save Game");
                }

                PluginData ExtendedData = ExtendedSave.GetExtendedDataById(info, UARExtID);

                if (ExtendedData != null)
                {
                    var ResolvedInfo = ((Dictionary <int, byte[]>)ExtendedData.data[mapItemInfoKey]);
                    int index        = 0;
                    HousingObjectIteration(info.ObjectInfos, ref index, (item, i) =>
                    {
                        if (!ResolvedInfo.TryGetValue(i, out byte[] bytes))
                        {
                            return;
                        }
                        var extResolve = AIGameResolveInfo.Deserialize(bytes);
                        if (extResolve == null)
                        {
                            return;
                        }
                        item.ID = extResolve.Slot;
                        ResolveHousingFurniture(extResolve, item);
                    });