public override void ChangeType(Enum newType) { var type = (OccupationalInvolvementType)newType; Type = type; Description = OccupationalInvolvementDescription.ResourceManager.GetString(type.ToString()); ReverseDescription = OccupationalInvolvementReverseDescription.ResourceManager.GetString(type.ToString()); }
/// <inheritdoc /> public override MemoryItem GetInaccurateCopy() { GameTime.GameTime started = Started; GameTime.GameTime ended = Ended; OccupationalInvolvementType type = Type; //TODO : Randomize name int falsificationCase = RandomValueGenerator.GenerateIntWithMaxValue(4); switch (falsificationCase) { case 1: int variance = RandomValueGenerator.GenerateRealWithinValues(-10, 10); started?.SetYear(started.GetYear() + variance); break; case 2: int deathVariance = RandomValueGenerator.GenerateRealWithinValues(-10, 10); ended?.SetYear(ended.GetYear() + deathVariance); break; case 3: type = (OccupationalInvolvementType)RandomValueGenerator.GenerateIntWithMaxValue(Enum.GetNames(typeof(OccupationalInvolvementType)).Length); break; case 4: type = (OccupationalInvolvementType)RandomValueGenerator.GenerateIntWithMaxValue(Enum.GetNames(typeof(OccupationalInvolvementType)).Length); variance = RandomValueGenerator.GenerateRealWithinValues(-10, 10); started?.SetYear(started.GetYear() + variance); break; } var copy = new OccupationalInvolvement(LinkedEvent, LinkedOccupation, type, ReferenceId) { ItemType = ItemType, Description = Description, Started = started, Ended = ended, ReverseDescription = ReverseDescription, Name = Name }; return(copy); }
/// <summary> /// This relationship links an Occupation and an Event. It was created to admit that someone might not know the Person linked to an Occupation, i.e. the King of Temeria. /// </summary> /// <param name="linkedOccupation">Occupation linked</param> /// <param name="linkedEvent">Event linked</param> /// <param name="type">Nature of the link between Occupation and Event</param> /// <param name="started">Date Started</param> /// <param name="ended">Date Ended</param> /// <returns>The new link</returns> public OccupationalInvolvement CreateInvolvementBetweenOccupationAndEvent(Occupation linkedOccupation, PastEvent linkedEvent, OccupationalInvolvementType type, GameTime.GameTime started, GameTime.GameTime ended = null) { var occupationalInvolvement = new OccupationalInvolvement(linkedEvent, linkedOccupation, type, Guid.NewGuid(), started, ended); linkedOccupation.AddLinkedEvent(occupationalInvolvement); linkedEvent.AddOccupation(occupationalInvolvement); return(occupationalInvolvement); }
/// <summary> /// This relationship links an Occupation and an Event. It was created to admit that someone might not know the Person linked to an Occupation, i.e. the King of Temeria. /// </summary> /// <param name="linkedOccupation">Occupation linked</param> /// <param name="linkedEvent">Event linked</param> /// <param name="type">Nature of the link between Occupation and Event</param> /// <returns>The new link</returns> public OccupationalInvolvement CreateInvolvementBetweenOccupationAndEvent(Occupation linkedOccupation, PastEvent linkedEvent, OccupationalInvolvementType type) { var occupationalInvolvement = new OccupationalInvolvement(linkedEvent, linkedOccupation, type, Guid.NewGuid()); linkedOccupation.AddLinkedEvent(occupationalInvolvement); linkedEvent.AddOccupation(occupationalInvolvement); return(occupationalInvolvement); }
public List <Occupation> FindOccupationsByInvolvementType(OccupationalInvolvementType involvementType) { return(_linkedOccupations?.Where(o => o.Type == involvementType).Select(o => o.LinkedOccupation).ToList()); }
//public PastEvent FindLinkedEvent(string eventName) //{ // return _linkedEvents?.FirstOrDefault(i => i.LinkedEvent.Name == eventName)?.LinkedEvent; //} public List <PastEvent> FindLinkedEventsByInvolvementType(OccupationalInvolvementType involvementType) { return(_linkedEvents.Where(involvement => involvement.Type == involvementType).Select(i => i.LinkedEvent).ToList()); }
internal OccupationalInvolvement(PastEvent linkedEvent, Occupation linkedOccupation, OccupationalInvolvementType type, Guid referenceId, GameTime.GameTime started, GameTime.GameTime ended = null) : base(type, referenceId) { LinkedEvent = linkedEvent; LinkedOccupation = linkedOccupation; Started = started; Ended = ended; ItemType = MemoryItemType.OccupationalInvolvement; }
internal OccupationalInvolvement(PastEvent linkedEvent, Occupation linkedOccupation, OccupationalInvolvementType type, Guid referenceId) : base(type, referenceId) { LinkedEvent = linkedEvent; LinkedOccupation = linkedOccupation; ItemType = MemoryItemType.OccupationalInvolvement; }