Exemple #1
0
 public void SaveTimedEffects(string characterId, Hashtable save)
 {
     lock (sync ) {
         s_Log.InfoFormat("save timed effects for {0}".Color(LogColor.red), characterId);
         var document = m_Collection.FindOne(Query <TimedEffectsDocument> .EQ(d => d.characterId, characterId));
         if (document == null)
         {
             document = new TimedEffectsDocument {
                 characterId = characterId
             };
         }
         document.isNewDocument = false;
         document.Set(save);
         m_Collection.Save(document);
     }
 }
Exemple #2
0
 public Hashtable LoadTimedEffects(string characterId, Res resource, out bool isNew)
 {
     lock (sync) {
         var document = m_Collection.FindOne(Query <TimedEffectsDocument> .EQ(d => d.characterId, characterId));
         if (document != null)
         {
             isNew = false;
             return(document.SourceObject(resource));
         }
         else
         {
             isNew    = true;
             document = new TimedEffectsDocument {
                 characterId   = characterId,
                 isNewDocument = isNew,
                 effects       = new Hashtable()
             };
             m_Collection.Save(document);
             return(document.SourceObject(resource));
         }
     }
 }