/// <summary> /// Sets <paramref name="character"/>'s <paramref name="flag"/> value /// </summary> /// <param name="character">Target character</param> /// <param name="flag">Target flag</param> /// <param name="value">Value to set</param> public static void SetCharacterSpecificFlag(PlayableCharacters character, CustomCharacterSpecificGungeonFlags flag, bool value) { if (AdvancedGameStatsManager.HasInstance) { AdvancedGameStatsManager.Instance.SetCharacterSpecificFlag(flag, value); } }
/// <summary> /// Gets <paramref name="character"/>'s <paramref name="flag"/> value /// </summary> /// <param name="character">Target character</param> /// <param name="flag">The character-specific flag to check</param> /// <returns><paramref name="character"/>'s <paramref name="flag"/> value or 0 if <see cref="AdvancedGameStatsManager"/> doesn't have an instance</returns> public static bool GetCharacterSpecificFlag(PlayableCharacters character, CustomCharacterSpecificGungeonFlags flag) { if (AdvancedGameStatsManager.HasInstance) { return(AdvancedGameStatsManager.Instance.GetCharacterSpecificFlag(character, flag)); } return(false); }
public bool GetFlag(CustomCharacterSpecificGungeonFlags flag) { if (flag == CustomCharacterSpecificGungeonFlags.NONE) { Debug.LogError("Something is attempting to get a NONE character-specific save flag!"); return(false); } return(this.m_flags.Contains(flag)); }
public void SetFlag(CustomCharacterSpecificGungeonFlags flag, bool value) { if (flag == CustomCharacterSpecificGungeonFlags.NONE) { Debug.LogError("Something is attempting to set a NONE character-specific save flag!"); return; } if (value) { this.m_flags.Add(flag); } else { this.m_flags.Remove(flag); } }
/// <summary> /// Sets <paramref name="character"/>'s <paramref name="flag"/> value to <paramref name="value"/>. /// </summary> /// <param name="character">The character</param> /// <param name="flag">Target flag</param> /// <param name="value">The flag's new value</param> public void SetCharacterSpecificFlag(PlayableCharacters character, CustomCharacterSpecificGungeonFlags flag, bool value) { if (flag == CustomCharacterSpecificGungeonFlags.NONE) { Debug.LogError("Something is attempting to set a NONE character-specific save flag!"); return; } if (!this.m_characterStats.ContainsKey(character)) { this.m_characterStats.Add(character, new AdvancedGameStats()); } if (this.m_sessionStats != null && this.m_sessionCharacter == character) { this.m_sessionStats.SetFlag(flag, value); } else { this.m_characterStats[character].SetFlag(flag, value); } }
/// <summary> /// Gets <paramref name="character"/>'s <paramref name="flag"/> value /// </summary> /// <param name="character">Target character</param> /// <param name="flag">The flag to check</param> /// <returns><paramref name="character"/>'s <paramref name="flag"/> value</returns> public bool GetCharacterSpecificFlag(PlayableCharacters character, CustomCharacterSpecificGungeonFlags flag) { if (flag == CustomCharacterSpecificGungeonFlags.NONE) { Debug.LogError("Something is attempting to get a NONE character-specific save flag!"); return(false); } if (this.m_sessionStats != null && this.m_sessionCharacter == character) { if (this.m_sessionStats.GetFlag(flag)) { return(true); } if (this.m_savedSessionStats.GetFlag(flag)) { return(true); } } AdvancedGameStats gameStats; return(this.m_characterStats.TryGetValue(character, out gameStats) && gameStats.GetFlag(flag)); }
/// <summary> /// Sets the session character's <paramref name="flag"/> value /// </summary> /// <param name="flag">Target flag</param> /// <param name="value">Value to set</param> public void SetCharacterSpecificFlag(CustomCharacterSpecificGungeonFlags flag, bool value) { this.SetCharacterSpecificFlag(this.m_sessionCharacter, flag, value); }
/// <summary> /// Gets the session character's <paramref name="flag"/> value /// </summary> /// <param name="flag">Target flag</param> /// <returns>The value of session character's <paramref name="flag"/></returns> public bool GetCharacterSpecificFlag(CustomCharacterSpecificGungeonFlags flag) { return(this.GetCharacterSpecificFlag(this.m_sessionCharacter, flag)); }