Ejemplo n.º 1
0
        /// <summary>
        /// Tries to get an <see cref="IEnumerable{T}"/> object from the input parameters.
        /// </summary>
        /// <param name="data">Binary data</param>
        /// <param name="pkms">Output result</param>
        /// <param name="SAV">Reference savefile used for PC Binary compatibility checks.</param>
        /// <returns>True if file object reference is valid, false if none found.</returns>
        public static bool TryGetPCBoxBin(byte[] data, out IEnumerable <byte[]> pkms, SaveFile SAV)
        {
            if (SAV == null)
            {
                pkms = Enumerable.Empty <byte[]>();
                return(false);
            }
            var length = data.Length;

            if (PKX.IsPKM(length / SAV.SlotCount) || PKX.IsPKM(length / SAV.BoxSlotCount))
            {
                pkms = PKX.GetPKMDataFromConcatenatedBinary(data, length);
                return(true);
            }
            pkms = Enumerable.Empty <byte[]>();
            return(false);
        }