示例#1
0
 public PlayerSkillsSave LoadSkills(string characterID, Res resource, out bool isNew)
 {
     lock (sync) {
         log.InfoFormat("load skills for character = {0} [red]", characterID);
         var document = SkillsDocuments.FindOne(Query <SkillsDocument> .EQ(d => d.CharacterId, characterID));
         if (document != null)
         {
             isNew = false;
             return(document.SourceObject(resource));
         }
         else
         {
             isNew    = true;
             document = new SkillsDocument {
                 CharacterId   = characterID,
                 IsNewDocument = isNew,
                 Skills        = new Dictionary <int, int> {
                     { 0, -1 }, { 1, -1 }, { 2, -1 }, { 3, -1 }, { 4, -1 }, { 5, -1 }
                 }
             };
             SkillsDocuments.Save(document);
             return(document.SourceObject(resource));
         }
     }
 }
示例#2
0
 public void SaveSkills(string characterID, PlayerSkillsSave skillSave)
 {
     lock (sync) {
         try {
             log.InfoFormat("save skills for character = {0} [red]", characterID);
             var document = SkillsDocuments.FindOne(Query <SkillsDocument> .EQ(d => d.CharacterId, characterID));
             if (document == null)
             {
                 document = new SkillsDocument {
                     CharacterId = characterID
                 };
             }
             document.IsNewDocument = false;
             document.Set(skillSave);
             SkillsDocuments.Save(document);
         } catch (Exception ex) {
             log.InfoFormat("error: handled exception");
             log.InfoFormat(ex.Message);
             log.InfoFormat(ex.StackTrace);
         }
     }
 }