internal PersonalTie(Place linkedLocation, Person linkedPerson, PersonalTieType type, Guid referenceId, GameTime.GameTime started, GameTime.GameTime ended = null) : base(type, referenceId) { LinkedLocation = linkedLocation; LinkedPerson = linkedPerson; Started = started; Ended = ended; ItemType = MemoryItemType.PersonalTie; }
public override void ChangeType(Enum newType) { var type = (PersonalTieType)newType; Type = type; Description = PersonalTieDescription.ResourceManager.GetString(type.ToString()); ReverseDescription = PersonalTieReverseDescription.ResourceManager.GetString(type.ToString()); }
/// <inheritdoc /> public override MemoryItem GetInaccurateCopy() { GameTime.GameTime started = Started; GameTime.GameTime ended = Ended; PersonalTieType 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 = (PersonalTieType)RandomValueGenerator.GenerateIntWithMaxValue(Enum.GetNames(typeof(PersonalTieType)).Length); break; case 4: type = (PersonalTieType)RandomValueGenerator.GenerateIntWithMaxValue(Enum.GetNames(typeof(PersonalTieType)).Length); variance = RandomValueGenerator.GenerateRealWithinValues(-10, 10); started?.SetYear(started.GetYear() + variance); break; } var copy = new PersonalTie(LinkedLocation, LinkedPerson, type, ReferenceId, started, ended) { ItemType = ItemType, Description = Description, ReverseDescription = ReverseDescription, Name = Name }; return(copy); }
public Place FindPlaceByPersonalTieType(PersonalTieType type) { return(_linkedPlaces?.FirstOrDefault(p => p.Type == type)?.LinkedLocation); }
public PersonalTie FindPersonalTie(string placeName, PersonalTieType type) { return(_linkedPlaces?.FirstOrDefault(p => p.LinkedLocation.Name == placeName && p.Type == type)); }
internal PersonalTie(Place linkedLocation, Person linkedPerson, PersonalTieType type, Guid referenceId) : base(type, referenceId) { LinkedLocation = linkedLocation; LinkedPerson = linkedPerson; ItemType = MemoryItemType.PersonalTie; }
/// <summary> /// Creates a link between a Person and a Place. /// </summary> /// <param name="linkedPerson">Linked Person</param> /// <param name="linkedPlace">Linked Place</param> /// <param name="type">The nature of the tie between a Person and a Place</param> /// <param name="started">Date Started</param> /// <param name="ended">Date Ended</param> /// <returns>The new link</returns> public PersonalTie CreateTieBetweenPersonAndPlace(Person linkedPerson, Place linkedPlace, PersonalTieType type, GameTime.GameTime started, GameTime.GameTime ended = null) { var personalTie = new PersonalTie(linkedPlace, linkedPerson, type, Guid.NewGuid(), started, ended); linkedPerson.AddLinkedPlace(personalTie); linkedPlace.AddLinkedPerson(personalTie); return(personalTie); }
/// <summary> /// Creates a link between a Person and a Place. /// </summary> /// <param name="linkedPerson">Linked Person</param> /// <param name="linkedPlace">Linked Place</param> /// <param name="type">The nature of the tie between a Person and a Place</param> /// <returns>The new link</returns> public PersonalTie CreateTieBetweenPersonAndPlace(Person linkedPerson, Place linkedPlace, PersonalTieType type) { var personalTie = new PersonalTie(linkedPlace, linkedPerson, type, Guid.NewGuid()); linkedPerson.AddLinkedPlace(personalTie); linkedPlace.AddLinkedPerson(personalTie); return(personalTie); }