コード例 #1
0
 /// <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);
     }
 }
コード例 #2
0
 /// <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);
 }
コード例 #3
0
 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));
 }
コード例 #4
0
 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);
     }
 }
コード例 #5
0
 /// <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);
     }
 }
コード例 #6
0
        /// <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));
        }
コード例 #7
0
 /// <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);
 }
コード例 #8
0
 /// <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));
 }