Beispiel #1
0
 public void SavePets(string characterID, PetCollection pets)
 {
     lock (sync) {
         s_Log.InfoFormat("save pets for character = {0}".Color(LogColor.red), characterID);
         var document = m_PetDocuments.FindOne(Query <PetDocument> .EQ(doc => doc.characterId, characterID));
         if (document == null)
         {
             document = new PetDocument {
                 characterId = characterID
             };
         }
         document.isNewDocument = false;
         document.Set(pets.GetSave());
         m_PetDocuments.Save(document);
     }
 }
Beispiel #2
0
 public PetCollection LoadPets(string characterID, Res resource, out bool isNew)
 {
     lock (sync) {
         s_Log.InfoFormat("load pets for character = {0}".Color(LogColor.red), characterID);
         var document = m_PetDocuments.FindOne(Query <PetDocument> .EQ(doc => doc.characterId, characterID));
         if (document != null)
         {
             isNew = false;
             return(document.SourceObject(resource));
         }
         else
         {
             isNew    = true;
             document = new PetDocument {
                 characterId   = characterID,
                 isNewDocument = isNew,
                 pets          = new List <PetSave>()
             };
             m_PetDocuments.Save(document);
             return(document.SourceObject(resource));
         }
     }
 }