예제 #1
0
        internal T GetOrCreatePetRecord <T>(NPCEntry entry, IList <T> list)
            where T : IPetRecord, new()
        {
            foreach (var record in list)
            {
                if (record.EntryId == entry.NPCId)
                {
                    return(record);
                }
            }

            if (typeof(T) == typeof(SummonedPetRecord))
            {
                m_record.PetSummonedCount++;
            }
            else
            {
                m_record.PetCount++;
            }
            return(PetMgr.CreateDefaultPetRecord <T>(entry, m_record.EntityLowId));
        }