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 class Weenie : IWeenie
{
public uint WeenieClassId { get; set; }
public string ClassName { get; set; }
public WeenieType WeenieType { get; set; }
public IDictionary PropertiesBool { get; set; }
public IDictionary PropertiesDID { get; set; }
public IDictionary PropertiesFloat { get; set; }
public IDictionary PropertiesIID { get; set; }
public IDictionary PropertiesInt { get; set; }
public IDictionary PropertiesInt64 { get; set; }
public IDictionary PropertiesString { get; set; }
public IDictionary PropertiesPosition { get; set; }
public IDictionary PropertiesSpellBook { get; set; }
public IList PropertiesAnimPart { get; set; }
public IList PropertiesPalette { get; set; }
public IList PropertiesTextureMap { get; set; }
// Properties for all world objects that typically aren't modified over the original weenie
public ICollection PropertiesCreateList { get; set; }
public ICollection PropertiesEmote { get; set; }
public HashSet PropertiesEventFilter { get; set; }
public IList PropertiesGenerator { get; set; }
// Properties for creatures
public IDictionary PropertiesAttribute { get; set; }
public IDictionary PropertiesAttribute2nd { get; set; }
public IDictionary PropertiesBodyPart { get; set; }
public IDictionary PropertiesSkill { get; set; }
// Properties for books
public PropertiesBook PropertiesBook { get; set; }
public IList PropertiesBookPageData { get; set; }
}
}