public Thing With( long?id = null, ThingTypes?thingType = null, string name = null, ISlotList validSlots = null, IMaybe <EquipmentSlots> equipedAs = null, IMaybe <CombatStatistics> combatStatistics = null, IThingStore contains = null) { return (id.HasValue || thingType.HasValue || name != null || validSlots != null || equipedAs != null || combatStatistics != null || contains != null ? new Thing( id ?? _id, thingType ?? _thingType, name ?? _name, validSlots ?? _validSlots, equipedAs ?? _equipedAs, combatStatistics ?? _combatStatistics, contains ?? _contains) : this); }
public static Thing Create( long id, ThingTypes thingType, string name, ISlotList validSlots, IMaybe <EquipmentSlots> equipedAs) { return(new Thing( id, thingType, name, validSlots, equipedAs, Maybe <CombatStatistics> .None, ImmutableDictionary <long, Thing> .Empty)); }
private static void Validate( Thing instance, long?id = null, ThingTypes?thingType = null, string name = null, ISlotList validSlots = null, IMaybe <EquipmentSlots> equipedAs = null, IMaybe <CombatStatistics> combatStatistics = null, IThingStore contains = null) { Assert.AreEqual(id ?? Id, instance.Id); Assert.AreEqual(thingType ?? ThingType, instance.ThingType); Assert.AreEqual(name ?? Name, instance.Name); Assert.AreSame(validSlots ?? ValidSlots, instance.ValidSlots); Assert.AreSame(equipedAs ?? EquipedAs, instance.EquipedAs); Assert.AreSame(combatStatistics ?? CombatStats, instance.CombatStatistics); Assert.AreSame(contains ?? Contains, instance.Contains); }
public static Thing Create( long id, ThingTypes thingType, string name, ISlotList validSlots, IMaybe <EquipmentSlots> equipedAs, IMaybe <CombatStatistics> combatStatistics, IThingStore contains) { return(new Thing( id, thingType, name, validSlots, equipedAs, combatStatistics, contains)); }
public Thing( long id, ThingTypes thingType, string name, ISlotList validSlots, IMaybe <EquipmentSlots> equipedAs, IMaybe <CombatStatistics> combatStatistics, IThingStore contains) { Debug.Assert(name != null); Debug.Assert(validSlots != null); Debug.Assert(equipedAs != null); Debug.Assert(combatStatistics != null); Debug.Assert(contains != null); _id = id; _thingType = thingType; _name = name; _validSlots = validSlots; _equipedAs = equipedAs; _combatStatistics = combatStatistics; _contains = contains; }