public static void CreateNewOrUpdateSoulmateRelation(Character chr, Character targetChr) { Asda2SoulmateRelationRecord soulmateRecord = GetSoulmateRecord(chr.AccId, targetChr.AccId); if (soulmateRecord == null) { Asda2SoulmateRelationRecord soulmateRelationRecord = new Asda2SoulmateRelationRecord(chr.AccId, targetChr.AccId) { IsActive = true }; if (!RecordsByAccId.ContainsKey(soulmateRelationRecord.AccId)) { RecordsByAccId.Add(soulmateRelationRecord.AccId, new List <Asda2SoulmateRelationRecord>()); } if (!RecordsByAccId.ContainsKey(soulmateRelationRecord.RelatedAccId)) { RecordsByAccId.Add(soulmateRelationRecord.RelatedAccId, new List <Asda2SoulmateRelationRecord>()); } RecordsByAccId[soulmateRelationRecord.AccId].Add(soulmateRelationRecord); RecordsByAccId[soulmateRelationRecord.RelatedAccId].Add(soulmateRelationRecord); RecordsBuFullId.Add(soulmateRelationRecord.DirectId, soulmateRelationRecord); RecordsBuFullId.Add(soulmateRelationRecord.RevercedId, soulmateRelationRecord); soulmateRelationRecord.UpdateCharacters(); } else { soulmateRecord.IsActive = true; soulmateRecord.UpdateCharacters(); } }
public static List <Asda2SoulmateRelationRecord> GetSoulmateRecords(uint accId) { var r = new List <Asda2SoulmateRelationRecord>(); var by1 = Asda2SoulmateRelationRecord.FindAllByProperty("AccId", accId); var by2 = Asda2SoulmateRelationRecord.FindAllByProperty("RelatedAccId", accId); r.AddRange(by1); r.AddRange(by2); return(r); }
public static void LoadAll() { var records = Asda2SoulmateRelationRecord.FindAll(); foreach (var asda2SoulmateRelationRecord in records) { if (!RecordsByAccId.ContainsKey(asda2SoulmateRelationRecord.AccId)) { RecordsByAccId.Add(asda2SoulmateRelationRecord.AccId, new List <Asda2SoulmateRelationRecord>()); } if (!RecordsByAccId.ContainsKey(asda2SoulmateRelationRecord.RelatedAccId)) { RecordsByAccId.Add(asda2SoulmateRelationRecord.RelatedAccId, new List <Asda2SoulmateRelationRecord>()); } RecordsByAccId[asda2SoulmateRelationRecord.AccId].Add(asda2SoulmateRelationRecord); RecordsByAccId[asda2SoulmateRelationRecord.RelatedAccId].Add(asda2SoulmateRelationRecord); RecordsBuFullId.Add(asda2SoulmateRelationRecord.DirectId, asda2SoulmateRelationRecord); RecordsBuFullId.Add(asda2SoulmateRelationRecord.RevercedId, asda2SoulmateRelationRecord); } }