internal PersonalInvolvement(PastEvent linkedEvent, Person linkedPerson, PersonalInvolvementType type, Guid referenceId, GameTime.GameTime started, GameTime.GameTime ended = null) : base(type, referenceId) { LinkedEvent = linkedEvent; LinkedPerson = linkedPerson; Started = started; Ended = ended; ItemType = MemoryItemType.PersonalInvolvement; }
public override void ChangeType(Enum newType) { var type = (PersonalInvolvementType)newType; Type = type; Description = PersonalInvolvementDescription.ResourceManager.GetString(type.ToString()); ReverseDescription = PersonalInvolvementReverseDescription.ResourceManager.GetString(type.ToString()); }
/// <inheritdoc /> public override MemoryItem GetInaccurateCopy() { GameTime.GameTime started = Started; GameTime.GameTime ended = Ended; PersonalInvolvementType 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 = (PersonalInvolvementType)RandomValueGenerator.GenerateIntWithMaxValue(Enum.GetNames(typeof(PersonalInvolvementType)).Length); break; case 4: type = (PersonalInvolvementType)RandomValueGenerator.GenerateIntWithMaxValue(Enum.GetNames(typeof(PersonalInvolvementType)).Length); variance = RandomValueGenerator.GenerateRealWithinValues(-10, 10); started?.SetYear(started.GetYear() + variance); break; } var copy = new PersonalInvolvement(LinkedEvent, LinkedPerson, type, ReferenceId) { ItemType = ItemType, Description = Description, ReverseDescription = ReverseDescription, Started = started, Ended = ended, Name = Name }; return(copy); }
public PersonalInvolvement GetPersonalInvolvement(string linkedEventName, PersonalInvolvementType involvementType) { return(_linkedEvents.FirstOrDefault(i => i.LinkedEvent.Name == linkedEventName && i.Type == involvementType)); }
/// <summary> /// Find the link object to an event by the way this person was involved in it. /// </summary> /// <param name="involvementType">Type of involvement based on the enum</param> /// <returns>a list of all the relevant PersonalInvolvement</returns> public PersonalInvolvement GetPersonalInvolvementByType(PersonalInvolvementType involvementType) { return(_linkedEvents.FirstOrDefault(i => i.Type == involvementType)); }
//public PastEvent FindLinkedEventByName(string eventName) //{ // return _linkedEvents.FirstOrDefault(e => e.LinkedEvent.Name == eventName)?.LinkedEvent; //} /// <summary> /// Find an event by the way this person was involved in it. /// </summary> /// <param name="involvementType">Type of involvement based on the enum</param> /// <returns>a list of all the relevant events</returns> public List <PastEvent> FindLinkedEventsByInvolvementType(PersonalInvolvementType involvementType) { return(_linkedEvents.Where(involvement => involvement.Type == involvementType).Select(i => i.LinkedEvent).ToList()); }
/// <summary> /// Creates a link that defines a link between a Person and an Event /// </summary> /// <param name="linkedPerson">Linked Person</param> /// <param name="linkedEvent">Event linked</param> /// <param name="type">How a Person was involved in an Event</param> /// <param name="started">Date Started</param> /// <param name="ended">Date Ended</param> public PersonalInvolvement CreateInvolvementBetweenPersonAndEvent(Person linkedPerson, PastEvent linkedEvent, PersonalInvolvementType type, GameTime.GameTime started, GameTime.GameTime ended = null) { var personalInvolvement = new PersonalInvolvement(linkedEvent, linkedPerson, type, Guid.NewGuid(), started, ended); linkedPerson.AddPersonalInvolvement(personalInvolvement); linkedEvent.AddAssociatedPerson(personalInvolvement); return(personalInvolvement); }
/// <summary> /// Creates a link that defines a link between a Person and an Event /// </summary> /// <param name="linkedPerson">Person linked to the event</param> /// <param name="linkedEvent">Event linked to the Person</param> /// <param name="type">How a Person was involved in an Event</param> public PersonalInvolvement CreateInvolvementBetweenPersonAndEvent(Person linkedPerson, PastEvent linkedEvent, PersonalInvolvementType type) { var personalInvolvement = new PersonalInvolvement(linkedEvent, linkedPerson, type, Guid.NewGuid()); linkedPerson.AddPersonalInvolvement(personalInvolvement); linkedEvent.AddAssociatedPerson(personalInvolvement); return(personalInvolvement); }
internal PersonalInvolvement(PastEvent linkedEvent, Person linkedPerson, PersonalInvolvementType type, Guid referenceId) : base(type, referenceId) { LinkedEvent = linkedEvent; LinkedPerson = linkedPerson; ItemType = MemoryItemType.PersonalInvolvement; }