using System; using System.Collections.Generic; using ACE.Entity.Enum; using ACE.Entity.Enum.Properties; namespace ACE.Entity.Models { /// /// Only populated collections and dictionaries are initialized. /// We do this to conserve memory in ACE.Server /// Be sure to check for null first. /// public interface IWeenie { uint WeenieClassId { get; set; } WeenieType WeenieType { get; set; } IDictionary PropertiesBool { get; set; } IDictionary PropertiesDID { get; set; } IDictionary PropertiesFloat { get; set; } IDictionary PropertiesIID { get; set; } IDictionary PropertiesInt { get; set; } IDictionary PropertiesInt64 { get; set; } IDictionary PropertiesString { get; set; } IDictionary PropertiesPosition { get; set; } IDictionary PropertiesSpellBook { get; set; } IList PropertiesAnimPart { get; set; } IList PropertiesPalette { get; set; } IList PropertiesTextureMap { get; set; } // Properties for all world objects that typically aren't modified over the original weenie ICollection PropertiesCreateList { get; set; } ICollection PropertiesEmote { get; set; } HashSet PropertiesEventFilter { get; set; } IList PropertiesGenerator { get; set; } // Using a list per this: https://github.com/ACEmulator/ACE/pull/2616, however, no order is guaranteed for db records // Properties for creatures IDictionary PropertiesAttribute { get; set; } IDictionary PropertiesAttribute2nd { get; set; } IDictionary PropertiesBodyPart { get; set; } IDictionary PropertiesSkill { get; set; } // Properties for books PropertiesBook PropertiesBook { get; set; } IList PropertiesBookPageData { get; set; } } }