public static CharacterData GetCharacterDataByID(string characterID) { if (CustomCharacterData.ContainsKey(characterID)) { return(CustomCharacterData[characterID]); } return(null); }
/// <summary> /// Register a custom character with the manager, allowing it to show up in game. /// </summary> /// <param name="data">The custom character data to register</param> public static bool RegisterCustomCharacter(CharacterData data) { if (!CustomCharacterData.ContainsKey(data.GetID())) { CustomCharacterData.Add(data.GetID(), data); ProviderManager.SaveManager.GetAllGameData().GetAllCharacterData().Add(data); return(true); } else { Trainworks.Log(LogLevel.Warning, "Attempted to register duplicate character data with name: " + data.name); return(false); } }
/// <summary> /// Get the character data corresponding to the given ID /// </summary> /// <param name="characterID">ID of the character to get</param> /// <returns>The character data for the given ID</returns> public static CharacterData GetCharacterDataByID(string characterID) { // Search for custom character matching ID var guid = GUIDGenerator.GenerateDeterministicGUID(characterID); if (CustomCharacterData.ContainsKey(guid)) { return(CustomCharacterData[guid]); } // No custom card found; search for vanilla character matching ID var vanillaChar = ProviderManager.SaveManager.GetAllGameData().GetAllCharacterData().Find((chara) => { return(chara.GetID() == characterID); }); if (vanillaChar == null) { Trainworks.Log(LogLevel.All, "Couldn't find character: " + characterID + " - This will cause crashes."); } return(vanillaChar); }
public static bool RegisterCustomCharacter(CharacterData data) { CustomCharacterData.Add(data.GetID(), data); return(true); }