Ejemplo n.º 1
0
        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();
            }
        }
Ejemplo n.º 2
0
        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);
        }
Ejemplo n.º 3
0
        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);
            }
        }