protected AbstractEntity(int id, string name, string desc, PropertyList properties, EntityStatus status) : base(name, desc) { if (properties == null) ArgumentNull.Throw("properties"); ID = id; Properties = properties; this.status = status ?? EntityStatus.NormalStatus; }
protected AbstractCharacter(int id, string name, string desc, PropertyList properties) : base(id, name, desc, properties) { }
public Item(int id, string name, string desc, PropertyList properties) : base(id, name, desc, properties) { }
protected AbstractEntity(int id, string name, string desc, PropertyList properties) : this(id, name, desc, properties, null) { }
public PropertyList Create(List<PropertyID> ids) { if (ids == null) ArgumentNull.Throw("ids"); Dictionary<PropertyID, IProperty> instance = new Dictionary<PropertyID, IProperty>(); foreach (PropertyID yid in ids) instance.Add(yid, this.creaters[yid](yid)); foreach (KeyValuePair<PropertyID, SetRestrictor> pair in this.parents) pair.Value.SetRestrictor(instance[pair.Key], instance); PropertyList properties = new PropertyList(instance.Values.ToArray()); AfterCreates(properties); return properties; }