예제 #1
0
 /// <summary>
 /// Increments <paramref name="stat"/> value by <paramref name="value"/>
 /// </summary>
 /// <param name="stat">Target stat</param>
 /// <param name="value">Increment value</param>
 public static void RegisterStatChange(CustomTrackedStats stat, float value)
 {
     if (AdvancedGameStatsManager.HasInstance)
     {
         AdvancedGameStatsManager.Instance.RegisterStatChange(stat, value);
     }
 }
예제 #2
0
 /// <summary>
 /// Sets <paramref name="stat"/>'s value to <paramref name="value"/>
 /// </summary>
 /// <param name="stat">The target stat</param>
 /// <param name="value">Value to set</param>
 public static void SetStat(CustomTrackedStats stat, float value)
 {
     if (AdvancedGameStatsManager.HasInstance)
     {
         AdvancedGameStatsManager.Instance.SetStat(stat, value);
     }
 }
 public float GetStatValue(CustomTrackedStats statToCheck)
 {
     if (!this.stats.ContainsKey(statToCheck))
     {
         return(0f);
     }
     return(this.stats[statToCheck]);
 }
예제 #4
0
 /// <summary>
 /// Gets the total value of <paramref name="stat"/>
 /// </summary>
 /// <param name="stat">Target stat.</param>
 /// <returns>The value of <paramref name="stat"/> or 0 if <see cref="AdvancedGameStatsManager"/> doesn't have an instance</returns>
 public static float GetPlayerStatValue(CustomTrackedStats stat)
 {
     if (!AdvancedGameStatsManager.HasInstance)
     {
         return(0f);
     }
     return(AdvancedGameStatsManager.Instance.GetPlayerStatValue(stat));
 }
예제 #5
0
 /// <summary>
 /// Gets the session value of <paramref name="stat"/>
 /// </summary>
 /// <param name="stat">Target stat</param>
 /// <returns>The value of <paramref name="stat"/> in the current session or 0 if <see cref="AdvancedGameStatsManager"/> doesn't have an instance or the player isn't in a session</returns>
 public static float GetSessionStatValue(CustomTrackedStats stat)
 {
     if (AdvancedGameStatsManager.HasInstance && AdvancedGameStatsManager.Instance.IsInSession)
     {
         return(AdvancedGameStatsManager.Instance.GetSessionStatValue(stat));
     }
     return(0f);
 }
예제 #6
0
 /// <summary>
 /// Gets <paramref name="character"/>'s <paramref name="stat"/> value.
 /// </summary>
 /// <param name="stat">Target stat</param>
 /// <param name="character">The character</param>
 /// <returns><paramref name="character"/>'s <paramref name="stat"/> value or 0 if <see cref="AdvancedGameStatsManager"/> doesn't have an instance</returns>
 public static float GetCharacterStatValue(PlayableCharacters character, CustomTrackedStats stat)
 {
     if (AdvancedGameStatsManager.HasInstance)
     {
         return(AdvancedGameStatsManager.Instance.GetCharacterStatValue(character, stat));
     }
     return(0f);
 }
 public void IncrementStat(CustomTrackedStats stat, float val)
 {
     if (this.stats.ContainsKey(stat))
     {
         this.stats[stat] = this.stats[stat] + val;
     }
     else
     {
         this.stats.Add(stat, val);
     }
 }
예제 #8
0
 /// <summary>
 /// Gets the primary player's or the Pilot's (if primary player doesn't exist) <paramref name="stat"/> value.
 /// </summary>
 /// <param name="stat">Target stat</param>
 /// <returns>Primary player's or the Pilot's (if primary player doesn't exist) <paramref name="stat"/> value or 0 if <see cref="AdvancedGameStatsManager"/> doesn't haven an instance</returns>
 public static float GetCharacterStatValue(CustomTrackedStats stat)
 {
     if (AdvancedGameStatsManager.HasInstance)
     {
         if (GameManager.HasInstance && GameManager.Instance.PrimaryPlayer != null)
         {
             return(AdvancedGameStatsManager.Instance.GetCharacterStatValue(stat));
         }
         return(AdvancedGameStatsManager.Instance.GetCharacterStatValue(PlayableCharacters.Pilot, stat));
     }
     return(0f);
 }
예제 #9
0
        /// <summary>
        /// Gets <paramref name="character"/>'s <paramref name="stat"/> value.
        /// </summary>
        /// <param name="stat">Target stat</param>
        /// <param name="character">The character</param>
        /// <returns><paramref name="character"/>'s <paramref name="stat"/> value</returns>
        public float GetCharacterStatValue(PlayableCharacters character, CustomTrackedStats stat)
        {
            float num = 0f;

            if (this.m_sessionCharacter == character)
            {
                num += this.m_sessionStats.GetStatValue(stat);
            }
            if (this.m_characterStats.ContainsKey(character))
            {
                num += this.m_characterStats[character].GetStatValue(stat);
            }
            return(num);
        }
예제 #10
0
 /// <summary>
 /// Sets <paramref name="stat"/>'s value to <paramref name="value"/>
 /// </summary>
 /// <param name="stat">Target stat</param>
 /// <param name="value">The stat's new value</param>
 public void SetStat(CustomTrackedStats stat, float value)
 {
     if (float.IsNaN(value))
     {
         return;
     }
     if (float.IsInfinity(value))
     {
         return;
     }
     if (this.m_sessionStats == null)
     {
         return;
     }
     this.m_sessionStats.SetStat(stat, value);
 }
예제 #11
0
 /// <summary>
 /// Clears a <paramref name="stat"/>'s value from session stats, saved session stats and character stats
 /// </summary>
 /// <param name="stat"></param>
 public void ClearStatValueGlobal(CustomTrackedStats stat)
 {
     this.m_sessionStats.SetStat(stat, 0f);
     this.m_savedSessionStats.SetStat(stat, 0f);
     if (this.m_numCharacters <= 0)
     {
         this.m_numCharacters = Enum.GetValues(typeof(PlayableCharacters)).Length;
     }
     for (int i = 0; i < this.m_numCharacters; i++)
     {
         AdvancedGameStats gameStats;
         if (this.m_characterStats.TryGetValue((PlayableCharacters)i, out gameStats))
         {
             gameStats.SetStat(stat, 0f);
         }
     }
 }
예제 #12
0
 /// <summary>
 /// Increments <paramref name="stat"/>'s value by <paramref name="value"/>
 /// </summary>
 /// <param name="stat">Stat to increment</param>
 /// <param name="value">Increment value</param>
 public void RegisterStatChange(CustomTrackedStats stat, float value)
 {
     if (this.m_sessionStats == null)
     {
         Debug.LogError("No session stats active and we're registering a stat change!");
         return;
     }
     if (float.IsNaN(value))
     {
         return;
     }
     if (float.IsInfinity(value))
     {
         return;
     }
     if (Mathf.Abs(value) > 10000f)
     {
         return;
     }
     this.m_sessionStats.IncrementStat(stat, value);
 }
예제 #13
0
        /// <summary>
        /// Gets the value of <paramref name="stat"/> in total
        /// </summary>
        /// <param name="stat">Target stat.</param>
        /// <returns>The value of <paramref name="stat"/></returns>
        public float GetPlayerStatValue(CustomTrackedStats stat)
        {
            if (this.m_numCharacters <= 0)
            {
                this.m_numCharacters = Enum.GetValues(typeof(PlayableCharacters)).Length;
            }
            float num = 0f;

            if (this.m_sessionStats != null)
            {
                num += this.m_sessionStats.GetStatValue(stat);
            }
            for (int i = 0; i < this.m_numCharacters; i++)
            {
                AdvancedGameStats gameStats;
                if (this.m_characterStats.TryGetValue((PlayableCharacters)i, out gameStats))
                {
                    num += gameStats.GetStatValue(stat);
                }
            }
            return(num);
        }
예제 #14
0
 // Token: 0x06000188 RID: 392 RVA: 0x0001412C File Offset: 0x0001232C
 public static float GetPlayerStatValue(this GameStatsManager manager, CustomTrackedStats stat)
 {
     return(CustomTrackedStatsManager.GetCustomStat(stat));
 }
 // Token: 0x0600005F RID: 95 RVA: 0x00006D9C File Offset: 0x00004F9C
 public static float GetCustomStat(CustomTrackedStats stat)
 {
     return(GameStatsManager.Instance.GetPlayerStatValue(CustomTrackedStatsManager.GetTrackedStatForCustomTrackedStat(stat)));
 }
 // Token: 0x06000060 RID: 96 RVA: 0x00006DBE File Offset: 0x00004FBE
 public static void RegisterStatChange(CustomTrackedStats stat, float value)
 {
     GameStatsManager.Instance.RegisterStatChange(CustomTrackedStatsManager.GetTrackedStatForCustomTrackedStat(stat), value);
 }
 // Token: 0x06000061 RID: 97 RVA: 0x00006DD4 File Offset: 0x00004FD4
 public static TrackedStats GetTrackedStatForCustomTrackedStat(CustomTrackedStats stat)
 {
     return((TrackedStats)stat);
 }
 // Token: 0x0600005E RID: 94 RVA: 0x00006D85 File Offset: 0x00004F85
 public static void SetCustomStat(CustomTrackedStats stat, float value)
 {
     GameStatsManager.Instance.SetStat(CustomTrackedStatsManager.GetTrackedStatForCustomTrackedStat(stat), value);
 }
예제 #19
0
 /// <summary>
 /// Gets the primary player's <paramref name="stat"/> value.
 /// </summary>
 /// <param name="stat">Target stat</param>
 /// <returns>Primary player's or the Pilot's (if primary player doesn't exist) <paramref name="stat"/> value</returns>
 /// <exception cref="T:System.NullReferenceException">
 ///   Primary player is null</exception>
 public float GetCharacterStatValue(CustomTrackedStats stat)
 {
     return(this.GetCharacterStatValue(this.GetCurrentCharacter(), stat));
 }
예제 #20
0
 /// <summary>
 /// Gets the session value of <paramref name="stat"/>
 /// </summary>
 /// <param name="stat"></param>
 /// <returns></returns>
 public float GetSessionStatValue(CustomTrackedStats stat)
 {
     return(this.m_sessionStats.GetStatValue(stat) + this.m_savedSessionStats.GetStatValue(stat));
 }
예제 #21
0
 // Token: 0x06000186 RID: 390 RVA: 0x00014106 File Offset: 0x00012306
 public static void RegisterStatChange(this GameStatsManager manager, CustomTrackedStats stat, float value)
 {
     CustomTrackedStatsManager.RegisterStatChange(stat, value);
 }
예제 #22
0
        public static void AddFoyerObject(string character, GameObject obj, Vector2 offset, CustomTrackedStats requiredStat, int amount)
        {
            character = character.ToLower();
            if (CharacterBuilder.storedCharacters.ContainsKey(character))
            {
                var cc = CharacterBuilder.storedCharacters[character].First;
                obj.layer = 22;
                var flagDisabler = obj.AddComponent <CustomSimpleFlagDisabler>();
                flagDisabler.UsesStatComparisonInstead = true;
                flagDisabler.RelevantStat        = requiredStat;
                flagDisabler.minStatValue        = amount;
                flagDisabler.UseNumberOfAttempts = false;

                CharacterBuilder.storedCharacters[character].First.randomFoyerBullshitNNAskedFor.Add(new Tuple <GameObject, Vector3>(obj, offset));
            }
            else
            {
                Debug.LogError($"No character found under the name \"{character}\" or tk2dSpriteAnimator is null");
            }
        }
예제 #23
0
 // Token: 0x06000185 RID: 389 RVA: 0x000140FB File Offset: 0x000122FB
 public static void SetStat(this GameStatsManager manager, CustomTrackedStats stat, float value)
 {
     CustomTrackedStatsManager.SetCustomStat(stat, value);
 }