示例#1
0
 public void SaveWeapon(string characterID, ShipWeaponSave weaponSave)
 {
     lock (sync) {
         log.InfoFormat("save weapon for character = {0} [red]", characterID);
         var document = WeaponDocuments.FindOne(Query <WeaponDocument> .EQ(d => d.CharacterId, characterID));
         if (document == null)
         {
             document = new WeaponDocument {
                 CharacterId = characterID
             };
         }
         document.IsNewDocument = false;
         document.Set(weaponSave);
         WeaponDocuments.Save(document);
     }
 }
示例#2
0
 public ShipWeaponSave LoadWeapon(string characterID, Res resource, out bool isNew)
 {
     lock (sync) {
         log.InfoFormat("load weapon for character = {0}", characterID);
         var document = WeaponDocuments.FindOne(Query <WeaponDocument> .EQ(d => d.CharacterId, characterID));
         if (document != null)
         {
             isNew = false;
             return(document.SourceObject(resource));
         }
         else
         {
             isNew    = true;
             document = new WeaponDocument {
                 CharacterId = characterID, IsNewDocument = isNew, WeaponObject = new System.Collections.Hashtable()
             };
             WeaponDocuments.Save(document);
             return(document.SourceObject(resource));
         }
     }
 }