Ejemplo n.º 1
0
        public static int GetHash(ReplicaItem item)
        {
            StringBuilder sb = new StringBuilder();

            sb.Append(item.BaseRecord);
            sb.Append(item.PrefixRecord);
            sb.Append(item.SuffixRecord);
            sb.Append(item.Seed);
            sb.Append(item.ModifierRecord);
            sb.Append(item.MateriaRecord);
            sb.Append(item.RelicCompletionBonusRecord);
            sb.Append(item.RelicSeed);
            sb.Append(item.EnchantmentRecord);
            sb.Append(item.EnchantmentSeed);
            sb.Append(item.TransmuteRecord);

            return(sb.ToString().GetHashCode()); // WARN: This will fail with .Net 5, as it becomes unique-per-run
        }
Ejemplo n.º 2
0
        /// <summary>
        /// Create a ReplicaItem hash from a BuddyItem instance
        /// </summary>
        /// <param name="pi"></param>
        /// <returns></returns>
        public static int GetHash(BuddyItem pi)
        {
            ReplicaItem replica = new ReplicaItem {
                BaseRecord                 = pi.BaseRecord,
                EnchantmentRecord          = pi.EnchantmentRecord,
                EnchantmentSeed            = (uint)pi.EnchantmentSeed,
                MateriaRecord              = pi.MateriaRecord,
                ModifierRecord             = pi.ModifierRecord,
                PrefixRecord               = pi.PrefixRecord,
                RelicCompletionBonusRecord = string.Empty,
                RelicSeed       = (uint)pi.RelicSeed,
                Seed            = (uint)pi.Seed,
                SuffixRecord    = pi.SuffixRecord,
                TransmuteRecord = pi.TransmuteRecord,
            };

            return(ItemReplicaProcessor.GetHash(replica));
        }