2017-02-03 4 views
1

Я работаю над MMO-игрой. Мне нужно сохранить несколько символов и их информацию против одного идентификатора, потому что в моей игре игрок может сэкономить несколько героев (может играть от одного). Я создал событие, но когда пользователь сказал db для создания персонажа, он просто обновляет последнюю информацию.Сохранение нескольких символов по ID одного игрока в GameSpark

var CharacterDataList = Spark.runtimeCollection("CharacterData"); 
var playerID = Spark.getPlayer().getPlayerId(); 
var characterSelected = Spark.getData().CS; 
var weaponLevel = Spark.getData().WL; 
var cname = Spark.getData().NAME; 
var wins = Spark.getData().WINS; 
var loss = Spark.getData().LOSS; 
var gold = Spark.getData().GOLD; 
var currentCharacter = { 
    "playerID": playerID, 
    "characterSelected": characterSelected, 
    "weaponLevel": weaponLevel, 
    "name": cname, 
    "wins": wins, 
    "loss": loss, 
    "gold": gold 
}; // we construct a new player from the data we are about to input into the player data 
CharacterDataList.update({ 
    "playerID": playerID 
}, //Looks for a doc with the id of the current player 
{ 
    "$set": currentCharacter 
}, // Uses the $set mongo modifier to set old player data to the current player data 
true, // Create the document if it does not exist (upsert) 
false // This query will only affect a single object (multi) 
); 

Над кодом будет работать на облаке. Как сохранить новый символ в отношении идентификатора. Я нашел команду Insert, но я не знаю, как использовать ее в моем случае для добавления информации. Код Unity приведен ниже.

public void CreateCharacterData(){ 
    new GameSparks.Api.Requests.LogEventRequest() 
     .SetEventKey ("SAVE_CHARACTER_INFO") 
     .SetEventAttribute ("CS", "Humans") 
     .SetEventAttribute ("WL", 1) 
     .SetEventAttribute ("NAME", "ghfsdgfsj") 
     .SetEventAttribute ("WINS", 0) 
     .SetEventAttribute ("LOSS", 0) 
     .SetEventAttribute ("GOLD",100) 
     .Send((GameSparks.Api.Responses.LogEventResponse obj) => { 
      if(!obj.HasErrors){ 
       print("Added Character"); 
      }else{ 
       print("Error"); 
      } 
     }); 
} 

Я нашел ссылку, но я до сих пор путают LINK.

+0

Можете ли вы показать свою структуру db? – Shrabanee

+0

@Shrabanee извините, не получил вашу точку –

+0

Я предлагаю использовать массив объектов для выбранных символов. Каждый раз, когда пользователь выбирает символ, вы можете просто вставить эту информацию в массив выбранных символов. – Shrabanee

ответ

-2

Это сообщение ответили нам здесь: https://support.gamesparks.net/discussions/topics/1000082602

Если вам нужна дополнительная помощь, пожалуйста, не стесняйтесь, чтобы вернуться в контакт.

Если у кого-либо еще есть схожие проблемы, вы можете связаться с нашей службой поддержки напрямую через https://support.gamesparks.net - Мы всегда рады предложить нашу помощь!

Clare