コード例 #1
0
 public void SaveQuests(string characterId, QuestSave questSave)
 {
     lock (sync) {
         var document = questDocuments.FindOne(Query <QuestDocument> .EQ(d => d.characterId, characterId));
         if (document == null)
         {
             document = new QuestDocument {
                 characterId = characterId
             };
         }
         document.isNewDocument = false;
         document.Set(questSave);
         questDocuments.Save(document);
     }
 }
コード例 #2
0
 public QuestSave LoadQuests(string characterId, out bool isNew)
 {
     lock (sync) {
         var document = questDocuments.FindOne(Query <QuestDocument> .EQ(d => d.characterId, characterId));
         if (document != null)
         {
             isNew = false;
             return(document.SourceObject());
         }
         else
         {
             isNew    = true;
             document = new QuestDocument {
                 characterId     = characterId,
                 isNewDocument   = true,
                 CompletedQuests = new List <string>(),
                 StartedQuests   = new List <Hashtable>(),
                 QuestVariables  = new Hashtable()
             };
             questDocuments.Save(document);
             return(document.SourceObject());
         }
     }
 }